settings.gradle中include语句的顺序是否重要?

uelo1irk  于 2022-11-14  发布在  其他
关注(0)|答案(2)|浏览(198)

这两者有什么区别吗?
案例A:

include ':con', ':conlib', 'aaa:test'

与案例B:

include 'aaa:test'  
include ':con'
include ':conlib',

没有区别?或者是建立秩序的影响还是什么?

kupeojn6

kupeojn61#

不,顺序(可能)并不重要。要清楚的是,这是一个有根据的猜测,在下面的文档链接我没有学到很多,但有三个原因,这必须是真的:

**1)更改include()调用的顺序不会使构建缓存无效。**这是一个很好的提示,表明Gradle团队并不认为include语句的顺序很重要。
**2)文件没有规定一个必要的或有意义的顺序。**至少我可以从可用的链接告诉。
**3)buildSrcsettings.gradle[.kts]之后编译。**Gradle 6之后的任何时间(参见here),buildSrc是在settings.gradle.kts * 之后编译的,并且buildSrc在您的构建中可用。因此,include()调用的顺序 * 不 * 重要是理所当然的,因为如果它们确实如此,它将过渡性地要求重新构建buildSrc,这将使整个构建无效。

再说一次,只是基于观察的有根据的猜测,我希望这有帮助。

wfypjpf4

wfypjpf42#

订购include {submodule_name}的影响可在Gradle文档中找到。
但也应该注意,它必须是{submodule_name},而不是{submodule_name}:{gardle_task}(就像aaa:test)。

相关问题