2017-03-03 8 views
0

Comment créer un "alias" pour le nom de propriété gradle?Alias ​​de saisie du nom de propriété

Par exemple, Android Instrumentation Runner fournit une capacité à exécuter seulement certaines classes de test/méthode:

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

Comment puis-je faire ce nom plus court param?

J'ai essayé de créer tâche personnalisée comme ceci:

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

Mais il explose avec groovy.lang.MissingPropertyException. Il en va de même avec la fermeture doLast {}.

Des suggestions?

+0

Avez-vous essayé 'System.setProperty (" key "," value ")'? – JBirdVegas

Répondre

0

Dans ce cas, je crois que votre définition d'une propriété sur l'objet Project, même comme ayant project.setProperty('key', 'val'), mais vous voulez ajouter la propriété à la System.properties

Quelque chose comme cela devrait fonctionner pour vérifier si la tâche est d'être exécuté d'abord, puis définissez la propriété du système.

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