Je travaille avec la structure de projet suivante
Project
|-Subproject1
|-Subproject2
|build.gradle
|settings.gradle
Les sous-modules sont inclus dans le settings.gradle
et configuré dans le build.gradle
du projet Root.
J'ai 3 tâches à accomplir
-
build
(chaque sous-projet en dispose) -
deploy
(il s'agit d'un mécanisme de conditionnement pour chaque sous-projet qui doit fonctionner de manière autonome) -
finalizeDeployment
(ceci ne doit être invoqué qu'une seule fois)
Je veux pouvoir appeler
$gradle deploy
<- tous les sous-projets sont déployés et finalize est appelé une fois à la fin
$gradle Subproject1:deploy
<- Subproject1 est déployé et finalize est appelé
build.gradle
configure(subprojects) {
task build <<{
println "Do Build "+ project.name
}
task deploy(dependsOn:build){
println 'deploy '+project.name
doLast{
finalizeDeployment.execute()
}
}
}
task finalizeDeployment{
dependsOn subprojects.deploy
doLast{
println 'Finalize Deployment'
}
}