J'essaie de créer 2 tâches pour exécuter la tâche sonarcube. Je veux être en mesure de spécifier des propriétés différentes en fonction de la tâcheImpossible d'avoir différentes valeurs de propriétés système pour différentes tâches
task sonarqubePullRequest(type: Test){
System.setProperty("sonar.projectName", "sonarqubePullRequest")
System.setProperty("sonar.projectKey", "sonarqubePullRequest")
System.setProperty("sonar.projectVersion", serviceVersion)
System.setProperty("sonar.jacoco.reportPath",
"${project.buildDir}/jacoco/test.exec")
tasks.sonarqube.execute()
}
task sonarqubeFullScan(type: Test){
System.setProperty("sonar.projectName", "sonarqubeFullScan")
System.setProperty("sonar.projectKey", "sonarqubeFullScan")
System.setProperty("sonar.projectVersion", serviceVersion)
System.setProperty("sonar.jacoco.reportPath",
"${project.buildDir}/jacoco/test.exec")
tasks.sonarqube.execute()
}
Les tâches de travail, mais il semble y avoir un problème avec les propriétés que je suis en train
si je lance la première tâche qui est sonarqubePullRequest alors tout va bien, mais si vous exécutez sonarqubeFullScan alors si utilise les valeurs spécifiées dans le sonarqubePullRequest. donc le nom du projet est défini par sonarqubePullRequest
c'est comme si ces propriétés sont définies au moment de l'exécution et ne peuvent pas être mises à jour. J'ai l'impression qu'il me manque quelque chose d'évident toutes les suggestions grandement reçues.
grande réponse, une question comment puis-je passer une condition telle que « FULLSCAN » serait-ce via la ligne de commande 'gradle sonarqube fullScan'? – JaChNo
Les propriétés du projet sont définies via '-P = '. Ainsi, pour l'exemple de code ci-dessus, vous pouvez spécifier '-PfullScan = true'. Vous pouvez également utiliser l'existence de la propriété du projet comme condition en vérifiant 'hasProperty ('fullScan')' Dans ce cas, '-PfullScan' serait suffisant. –