Je dispose d'un pipeline de génération dans lequel je veux exécuter un fichier jar particulier (avec des arguments) après l'avoir copié dans un dossier distinct de la liste des dépendances.Gradle - Exporter la propriété après la fin de la tâche de copie
Actuellement, je fais ce qui suit:
task copyToLib(type: Copy, dependsOn: classes) {
into "$buildDir/server"
from(configurations.compile) {
include "webapp-runner*"
}
ext.serverPath = fileTree("$buildDir/server/").include("webapp-runner-*.jar").getSingleFile()
}
task run(type: Exec, dependsOn: [copyToLib, war]) {
mustRunAfter copyToLib
executable 'java'
args '-jar', copyToLib.serverPath, war.archivePath, '--port', "$port"
}
Mais il échoue avec Expected directory '...' to contain exactly one file, however, it contains no files.
depuis que je devine serverPath
est réglé lors de la phase de configuration lorsque le fichier n'a pas été copié. Comment puis-je contourner cela?
J'ai essayé mais ma tâche d'exécution se plaint que la propriété n'existe pas (probablement depuis 'args' fonctionne en phase de configuration) – user3690467
Voir ma mise à jour, espérons-le, args accepte une fermeture –
Erreur: Impossible d'accéder à jarfile build_6ya3c8i4opyc4ki50kxakvuxg $ _run_closure7 $ _closure13 @ 61f7c533 – user3690467