Gradle ausschließen eines bestimmten Teilprojekt aus dem vollen bauen
In unserem Gradle-Projekt wollen wir ein neues Modul hinzufügen, für functional-tests benötigt, um Zugriff auf Abhängigkeiten von anderen Teilprojekte, aber noch nicht ausgeführt, als Teil des gesamten Projekts erstellen. Wenn ich es versuchen, es wird immer noch gebaut:
def javaProjects() {
return subprojects.findAll { it.name != 'functional-tests' }
}
configure(javaProjects()) {
...
}
project(':functional-tests') {
....
}
Das Ergebnis ist das gleiche, auch wenn ich den functional-tests build auf einem separaten build.gradle-Datei von Ihrer eigenen. Kann mir jemand sagen, wie dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich eine bessere Lösung gefunden werden, um auszuschließen, die funktionale tests ausgeführt, die auf der Befehlszeile oder über die build-Datei.
Beispielsweise führen Sie alle tests, außer der funktionalen tests, ausgeführt:
Dann, wenn das Projekt zu erstellen, lassen Sie das Unterprojekt, erstellen aber ausschließen, Ihre tests ausgeführt werden.
Eine bessere option ist zu deaktivieren, die funktionellen tests in der build-Datei, es sei denn, eine Eigenschaft festgelegt wird. Zum Beispiel, in Ihrem
build.gradle
Sie würde hinzufügen:Dieser Möglichkeit, funktionale tests sind immer übersprungen, es sei denn, Sie geben eine bestimmte build-Eigenschaft:
Hoffe, das hilft!
Soweit ich weiß, es ist nicht möglich deaktivieren oder ausschließen Projekt, nachdem es, wie schon enthalten in
settings.gradle
. Daher ist es vielleicht auch getan, in der folgenden Weise insettings.gradle
:Wird es eine zusätzliche Prüfung erfordern, in
build.gradle
- konfigurieren Sie das Projekt, falls es enthalten ist.Was auch kommt mein Kopf ist
-a
Befehl Linie Schalter, siehe hier. Vielleicht könnte es hilfreich irgendwie.Kann man nicht ausschließen das Teilprojekt, aber Sie können deaktivieren Teilprojekt Aufgaben:
Ich es so machen:
durch diese Möglichkeit kann ich ausschließen, einige spezielle Projekt in
subprojects
.können Sie es auch verwenden, in
allprojects
oderproject
.