J'ai une construction de gradle à modules multiples. Je veux exécuter des cibles pour un module en utilisant root. Ex:
gradle build -Pmodule=ABC
gradle jar -Pmodule=ABC
gradle test -Pmodule=ABC
gradle compileJava -Pmodule=ABC
gradle customTask -Pmodule=ABC
etc.
Ainsi, chaque cible peut être exécutée à partir de la racine en spécifiant le module. Existe-t-il un moyen simple de procéder?
Merci !
if (project.hasProperty('module') && module.equals('ABC')) { // execute module ABC } ...
. C'est ce que vous voulez réaliser?Réponses:
Pour exécuter une tâche d'un sous-projet spécifique, spécifiez son chemin de tâche . Par exemple:
Le premier
:
représente le projet racine.ABC
est le sous-projet etbuild
une tâche de ce projet.la source
gradle :ABC:clean :ABC:build
Trouvé un moyen rapide
moduleA est le répertoire du module.
La commande ci-dessus construit un
moduleA
et tous ses sous-modules, etmoduleA
devrait être son cheminla source
gradle build -p path\pathSt\moduleA
Sur Mac OS, la seule variante qui fonctionne avec moi:
ABC
est le nom du module(Cela fonctionne peut-être aussi sous Linux)
la source
Si votre IDE est Android Studio, il existe un moyen simple: choisissez simplement le dossier du module que vous souhaitez compiler, puis cliquez sur Construire et choisissez Créer le module `` votre dossier de module ''.
la source