私はGradleでこれが本当に奇妙な動作をしており、その中から抜け出す方法を見つけることができません。私のgradle.properties
ファイルでは、私は、このチェック条件を使用しています:Gradleスクリプトに他の人がいる場合
//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
真
../database/include/
:printProperties UP-TO-DATE
BUILD SUCCESSFUL
合計時間:1.07秒
タスクが本当に印刷されるのは本当に奇妙ですが、gradle.properties
ファイルは同じ条件を正しく評価しません。誰も私にこれを手伝ってもらえますか?
のためであるあなたがgradle.properties' 'でコードを使用することができますか?私はそれが本当に単純な古いプロパティファイルだと思った。 – Henry
私は本当によくわかりません。私はそこにいくつかのコードを使用できるかどうかについてはっきりと文書化されていません。そこにコードを使用してはならない場合は、私の難しさを満たす新しい質問を作成します。ネイティブのGradleモデルのコマンドライン定義のシステムプロパティに応じて、コードをコンパイルするために必要なヘッダーの場所を選択できる必要があります。 –
'gradle.properties'は、' key = value'のペアを持つプロパティファイルです。そこにグルーヴィーコードを入れることはできません –