Ich habe dies bei Google nachgelesen, aber es scheint keine Dokumentation auf der Gradle-Seite zu geben, oder sogar Leute, die das in Foren diskutieren.Gradle Farbausgabe
Ich habe Gradle auf meinem Mac (10.8.2, ML) installiert und erstelle ein benutzerdefiniertes build.gradle-Skript. Wenn ich println() aufrufen möchte, möchte ich die Ausgabe farbig machen (wie Fehler in Rot, Info in Grün, etc). Wie mache ich das in meinem Skript zum Erstellen von Großbuchstaben?
Hier ist ein Beispiel von Code habe ich bisher:
def proc = "echo `DATE`".execute()
proc.in.eachLine {line -> println line}
proc.err.eachLine {line -> println 'ERROR: ' + line}
Auf this gradle forum, sie sprechen über verschiedene Stile wie normal, Header, userinput, Bezeichner, Beschreibung, progressstatus, Versagen, Info, und Fehler, wie Teil der StyledTextOutput-Klasse. Es sieht so aus als wäre dies eine interne Klasse. Gibt es eine einfache Möglichkeit, die Farbdruck-Funktionen von Gradle/Groovy zu nutzen, ohne viele Pakete zu importieren?
Es scheint, dass das Argument eine Kategorie zu erstellen, ähnlich einer log4j Kategorie. Es könnte beispielsweise der Name der Klasse sein, die die Protokollierung durchführt. Die Kategorie kann eine Zeichenfolge (wie oben) oder eine Klasse sein. Alternativ kann man eine 'org.gradle.api.logging.LogLevel' von' DEGUG', 'INFO',' WARN', 'ERROR',' LIFECYCLE' oder 'QUIET' liefern. Schließlich kann man sowohl eine Kategorie (als "String" oder "Class") als auch einen "LogLevel" angeben. –
Ich habe das obige verwendet und 'System.setProperty ('org.gradle.logging.StylledTextOutput.Style.Success', 'GREEN')' gesetzt und es als 'out.withStyle (Style.Success) .println (configurations.runtime) 'aber es kommt nicht GRÜN raus (nur Standard weiß, für mein Ubuntu Gnome-Terminal). Irgendwelche Einblicke in dieses Verhalten? – Sonny
Falls jemand sich fragen sollte: 'Dienste' sind eine Eigenschaft von' GradleInternal' und 'ProjectInternal'. Da ich die farbige Ausgabe eines in Java geschriebenen Gradle-Plugins verwenden wollte, musste ich eine 'Gradle' /' Project'-Instanz auf eine dieser internen Schnittstellen werfen, um die services -Eigenschaft zu erhalten. – Chriki