2017-03-03 6 views
0

どのようにしてgradleプロパティ名の "エイリアス"を作成できますか?例えばプロパティ名へのエイリアスのグラデル

、Androidの計装ランナーは、特定のテストクラス/メソッドを実行する機能を提供します。

./gradlew connectedAndroidTest \ 
    -Pandroid.testInstrumentationRunnerArguments.class=com.example.TestSuiteName 

は、どのように私はこのPARAM名を短くすることができますか?私はこのようなカスタムタスクを作成しようとした

task executeTest { 
    setProperty('android.testInstrumentationRunnerArguments.class', 'com.example.TestSuiteName') 
    dependsOn 'connectedAndroidTest' 
} 

しかし、それはgroovy.lang.MissingPropertyExceptionを吹くまで。

同じことがdoLast {}クロージャを使用しています。

提案がありますか?

+0

'System.setProperty(" key "、" value ")'を試したことがありますか? – JBirdVegas

答えて

0
project.setProperty('key', 'val')を持つと同じ、私はあなたが Projectオブジェクトのプロパティを設定すると考えている。この場合

、が、あなたはこのような何かがタスクがあることをあるかどうかを確認するために動作するはずSystem.properties

にプロパティを追加します最初に実行され、システムプロパティが設定されます。

gradle.taskGraph.whenReady { taskGraph -> 
    if (taskGraph.hasTask("connectedAndroidTest") { 
     System.setProperty('android.testInstrumentationRunnerArguments.class', 'com.example.TestSuiteName') 
    } 
} 
関連する問題