Ich habe einen Gradle Build mit mehreren Modulen. Ich möchte Ziele für ein Modul mit root ausführen. Ex :
gradle build -Pmodule=ABC
gradle jar -Pmodule=ABC
gradle test -Pmodule=ABC
gradle compileJava -Pmodule=ABC
gradle customTask -Pmodule=ABC
etc.
So kann jedes Ziel vom Stamm ausgeführt werden, der das Modul angibt. Gibt es eine einfache Möglichkeit, dies zu tun?
Vielen Dank !
if (project.hasProperty('module') && module.equals('ABC')) { // execute module ABC } ...
. Das wollen Sie erreichen?Antworten:
Um eine Aufgabe zu einem bestimmten Teilprojekt auszuführen, geben Sie seine Aufgabe Pfad . Beispielsweise:
Der führende
:
steht für das Root-Projekt.ABC
ist das Teilprojekt undbuild
eine Aufgabe in diesem Projekt.quelle
gradle :ABC:clean :ABC:build
Einen schnellen Weg gefunden
moduleA ist das Verzeichnis des Moduls.
Der obige Befehl erstellt ein
moduleA
und alle seine Submodule undmoduleA
sollte sein Pfad seinquelle
gradle build -p path\pathSt\moduleA
Unter Mac OS ist die einzige Variante, die mit mir funktioniert:
ABC
ist der Name des Moduls(Es könnte auch unter Linux funktionieren)
quelle
Wenn Ihre IDE Android Studio ist, gibt es eine einfache Möglichkeit. Wählen Sie einfach den Modulordner aus, den Sie kompilieren möchten, klicken Sie dann auf Erstellen und wählen Sie Modul zu Ihrem Modulordner machen.
quelle