在迁移到第7级时,我们必须将compile
配置替换为implementation
或api
配置。
根据分级文件
API依赖项是指至少包含一种在库二进制接口中公开的类型,通常称为它的ABI (应用程序二进制接口)。这包括但不限于:
当迁移具有大量依赖项的大型代码库时,确定每个依赖项是implementation
还是api
依赖是一项繁琐的任务。
我的问题是:如何自动确定依赖项应该是api还是实现配置?
发布于 2022-03-14 19:41:26
要实现自动化,您需要有效地将来自使用者的测试(假设有测试)合并到项目的测试中。换句话说,在本地发布模块,修改消费项目以使用更新的依赖项,并运行它们的测试。或者在项目中编写使用使用者代码的测试是另一种方法。
例如,Gradle针对选定的社区插件测试Gradle,以确保它们不会破坏任何东西:https://github.com/gradle/gradle/tree/master/subprojects/smoke-test/src/smokeTest/groovy/org/gradle/smoketests
然而,问题就变成了:谁在使用我的项目?这本身可能是一项乏味的任务。
如果您不确定或不想花时间确定api
或implementation
,那么使用api
,因为它与compile
或多或少是“相同的”。
https://stackoverflow.com/questions/71472509
复制相似问题