Sur une version gradle multi-projets, quelqu'un peut-il me dire quelle est exactement la différence entre la section «tous les projets» et celle «sous-projets»? Juste le répertoire parent? Quelqu'un utilise-t-il les deux? Dans l'affirmative, avez-vous des règles générales qui déterminent ce qui est généralement mis dans chacun d'eux?
Question connexe: quelle est la différence entre les deux syntaxes (vraiment pour tous les projets ET sous-projets):
subprojects { ...
}
et
configure(subprojects) { ...
}
Quand voudriez-vous l'un sur l'autre?
En plus de la réponse de Ryan, la
configure
méthode devient importante lorsque vous souhaitez configurer des sous-ensembles personnalisés d'objets. Par exempleconfigure([project(":foo"), project(":bar")]) { ... }
ouconfigure(tasks.matching { it.name.contains("foo") }) { ... }
.Quand utiliser
allprojects
ousubprojects
dépend des circonstances. Vous utiliserez souvent les deux. Par exemple, les plugins liés au code comme le plugin Java sont généralement appliquéssubprojects
, car dans de nombreuses versions, le projet racine ne contient aucun code. Les plugins Eclipse et IDEA, en revanche, sont généralement appliqués àallprojects
. En cas de doute, regardez des exemples et autres constructions et / ou expérimentations. L'objectif général est d'éviter une configuration non pertinente. En ce sens,subprojects
c'est mieux queallprojects
tant qu'il donne les résultats escomptés.la source