Nicht ganz sicher, welche von denen Sie suchen, aber sie sollten Ihre Basen abdecken.
1. die Aufgaben Aufruf direkt
Sie sollten nur in der Lage sein zu nennen
gradle :other/projC:hello :other/projD:hello
Getestet habe ich diese mit:
# Root/build.gradle
allprojects {
task hello << { task -> println "$task.project.name" }
}
und
# Root/settings.gradle
include 'projA'
include 'projB'
include 'other/projC'
include 'other/projD'
2. Nur Aufgaben in den Unterprojekten
Schaffung Oder ist es, dass Sie nur die Aufgabe, auf der anderen Seite/* Projekte erstellt werden soll?
Wenn letzteres, dann sind die folgenden Werke:
# Root/build.gradle
allprojects {
if (project.name.startsWith("other/")) {
task hello << { task -> println "$task.project.name" }
}
}
und es kann dann mit aufgerufen werden:
$ gradle hello
:other/projC:hello
other/projC
:other/projD:hello
other/projD
3. Erstellen einer Aufgabe, die Aufgaben in den Teilprojekten läuft nur
Diese Version stimmt mit dem Lesen Ihrer Frage überein, was bedeutet, dass es bereits eine Aufgabe für die Teilprojekte (buildJar) gibt, und erstellen Sie eine Aufgabe in Wurzel, die die Teilprojekte nur nennen andere/*: buildJar
allprojects {
task buildJar << { task -> println "$task.project.name" }
if (project.name.startsWith("other/")) {
task runBuildJar(dependsOn: buildJar) {}
}
}
Dies schafft eine Aufgabe „buildJar“ bei jedem Projekt, und „runBuildJar“ auf der anderen Seite/* Projekte nur, so können Sie anrufen:
$ gradle runBuildJar
:other/projC:buildJar
other/projC
:other/projC:runBuildJar
:other/projD:buildJar
other/projD
:other/projD:runBuildJar
Ihre Frage können viele Arten gelesen werden, hoffen, dass dies deckt sie alle :)
Danke für die Antwort. Keine der Optionen entspricht meinen Bedürfnissen: 1. Wir müssen die Liste aller Teilprojekte kennen. 2 + 3. Build-Skript muss geändert werden. Schließlich habe ich einen anderen Weg gefunden, dies zu erreichen, und es als neue Antwort hinzugefügt. – Marwin
@Marwin: Wo ist deine Antwort? Würde mich interessieren. – frhd
@frhd Siehe die Antwort unter meinem 'Gradle -p anderen Hallo' –