Est-il un moyen de split/factoriser les parties communes de build Gradle
Nous avons plusieurs versions (chaque indépendant de construire est un multi-projet de construire). Les principaux scripts de compilation devenir assez grand que nous avons un ensemble de tâches courantes réutilisés par les sous-projets ainsi que il ya beaucoup de repeation entre indepedent construit. Ce que nous recherchons est:
- Un moyen de fractionner le principal fichier de build
en fichiers plus petits - Une façon de réutiliser certaines parties de la
construire dans d'autres indépendants construit
Quelle est la meilleure façon d'y parvenir dans Gradle?
Vous devez vous connecter pour publier un commentaire.
Gradle de 0,9 vous permet d'importer un script de compilation à partir d'un autre script de construction. Jetez un oeil à: La configuration du projet à l'aide d'un script de build. En gros, c'est
apply from: 'other.gradle'
.Une chose le guide de l'utilisateur de ne pas mentionner, c'est que le " de " paramètre peut être une URL, de sorte que vous pouvez faire vos scripts disponibles via HTTP quelque part (par exemple, votre dépôt subversion), et de les importer à partir de plusieurs versions.
apply from: 'other.gradle'
apply from:
et puis quoi? Comment puis-je utiliser cette chose avecdependsOn
.La solution que j'ai trouvé implique cartographie des choses que vous avez dans votre
other.gradle
fichier.Puis, dans votre
build.gradle
fichier:Ensuite, le
versionName
aura le résultat de l'appel.Notes:
VERConsts['NAME'] = getVersionName()
appelleragetVersionName()
et de stocker son résultat. L'utiliser dans un script par exempleversionName VERConsts['NAME']
sera ensuite affecter la valeur stockée.VERConsts['NAME_CALL']
volonté au lieu de stocker une référence à la fonction. À l'aide deVERConsts['NAME_CALL']()
dans votre script fait appel de la fonction et affecter le résultat à la variableL'ancien, vous aurez les même valeur assignée à travers le script alors que le second peut entraîner des valeurs différentes (par exemple, si quelqu'un pousse une autre version, tandis que votre script est en cours d'exécution).