是否可以将参数传递给settings.gradle

时间:2018-01-24 12:34:53

标签: gradle

我想添加一个命令行参数,以便出于性能原因完全跳过某些子项目。我的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命令行参数?

2 个答案:

答案 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

相关问题