我想添加一个命令行参数,以便出于性能原因完全跳过某些子项目。我的settings.gradle看起来像这样:
rootProject.name='MyProject'
if (!rootProject.hasProperty('NO_LIBRARY_BUILD')) {
print "=== BUILDING OF LIBRARY PROJECTS. Pass -PNO_LIBRARY_BUILD to gradle to skip building ==="
include('Lib1')
project(':Lib1').projectDir=file('Path/to/Lib1')
include('Lib2')
project(':Lib2').projectDir=file('Path/to/Lib2')
}
else {
print "=== SKIPPING BUILD OF LIBRARY PROJECTS ==="
}
然而,这不起作用 - 传递-PNO_LIBRARY_BUILD仍然进入"建筑" if的一部分。我假设这些属性不会传递给rootProject,而是传递给其他地方。 如何从设置gradle中访问(更多,如何检查是否存在)NO_LIBRARY_BUILD命令行参数?
答案 0 :(得分:1)
我发现有效的方法很简单 hasProperty(' NO_BUILD_LIBRARIES')未指定项目。
答案 1 :(得分:0)
在 Gradle 7.1.1 上测试。仅使用 hasProperty 不起作用。使用 settings.hasProperty('abc') 与 -Pabc=true 一起使用。 参考:https://docs.gradle.org/current/dsl/org.gradle.api.initialization.Settings.html