Gradle println druckt, wenn es nicht aufgerufen wird

8

Mein Ziel ist es, eine Nachricht auf die Konsole zu drucken, wenn die idea Aufgabe ausgeführt wird, aber leider wird die Nachricht immer dann gedruckt, wenn etwas ausgeführt wird. Warum werden die Druckzeilen ausgeführt, wenn die Task idea nicht ausgeführt wird? Wie kann ich eine Nachricht nur anzeigen, wenn die idea Aufgabe ausgeführt wird?

build.gradle

%Vor%

Ausgabe des Befehls gradle hello

%Vor%

Arbeitslösung

%Vor%     
Mike Rylander 11.06.2013, 18:27
quelle

2 Antworten

4

Sie müssen Ihre println s in eine Aktion einfügen und sie zur Aufgabe idea hinzufügen. Das folgende Beispiel zeigt die Verwendung der Aktion doFirst :

%Vor%

Es gibt einen bestimmten Grund, warum Ihr Code ausgeführt wird, bevor der idea Task ausgeführt wird: Er wird als Konfigurationscode ausgewertet, der während der Konfigurationsphase von Buildle-Lebenszyklus von Gradle . Während der Ausführungsphase werden nur Aktionen ausgeführt. Ihre hello Aufgabe erledigt das.

EDIT: idea ist org.gradle.plugins.ide.idea.model.IdeaModel in diesem Kontext und nicht die Aufgabe.

    
Benjamin Muschko 11.06.2013, 20:45
quelle
2

Wenn Sie möchten, dass einige Nachrichten nur in der Ausführungsphase gedruckt werden, verschieben Sie println -Befehle in doFirst oder doLast . Beispiel für eine Kriegsaufgabe:

%Vor%     
lu_ko 06.08.2014 11:52
quelle

Tags und Links