我在 Gradle 中有这种非常奇怪的行为,我找不到解决办法。在我的gradle.properties
文件中,我使用了这个检查条件:
//gradle.properties
if ( "${System.Property['DATABASE_DIR']}".compareTo('swdb') == 0 ) {
PROJECT_DATABASE_PATH=../database/swdb/include
}
else {
PROJECT_DATABASE_PATH=../database/include/
}
我创建了一个名为的新任务printProperties
,它看起来像这样。
//build.gradle
task printProperties {
println "${System.properties['DATABASE_DIR']}".compareTo('swdb') == 0
println PROJECT_DATABASE_PATH
}
printProperties
运行任务时,我得到以下输出。
$gradle printProperties -DDATABASE_DIR=swdb
真的
../数据库/包括/
:printProperties 最新
构建成功
总时间:1.07 秒
gradle.properties
任务打印为 true 但文件没有正确评估相同的条件,这真的很奇怪。有人可以帮我吗?