2016-11-10 7 views
0

私は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ファイルは同じ条件を正しく評価しません。誰も私にこれを手伝ってもらえますか?

+1

のためであるあなたがgradle.properties' 'でコードを使用することができますか?私はそれが本当に単純な古いプロパティファイルだと思った。 – Henry

+0

私は本当によくわかりません。私はそこにいくつかのコードを使用できるかどうかについてはっきりと文書化されていません。そこにコードを使用してはならない場合は、私の難しさを満たす新しい質問を作成します。ネイティブのGradleモデルのコマンドライン定義のシステムプロパティに応じて、コードをコンパイルするために必要なヘッダーの場所を選択できる必要があります。 –

+2

'gradle.properties'は、' key = value'のペアを持つプロパティファイルです。そこにグルーヴィーコードを入れることはできません –

答えて

関連する問題