wrong what went see react processdebugresources for failed app above logging groovy build gradle

logging - what - Salida de color gradle



failed to process resources see aapt output above for details react native (3)

He buscado esto en Google, pero no parece haber ninguna documentación en el sitio de Gradle, ni siquiera personas que lo discutan en los foros.

Tengo Gradle instalado en mi Mac (10.8.2, ML) y estoy construyendo un script build.gradle personalizado. Cuando llamo a println (), me gustaría hacer que la salida sea de color (como errores en rojo, información en verde, etc.). ¿Cómo hago esto en mi script de construcción de gradle?

Aquí hay un ejemplo de código que tengo hasta ahora:

def proc = "echo `DATE`".execute() proc.in.eachLine {line -> println line} proc.err.eachLine {line -> println ''ERROR: '' + line}

En este foro de gradle , hablan de varios estilos como normal, header, userinput, identifier, description, progressstatus, failure, info y error, como parte de la clase StyledTextOutput. Parece que esta es una clase interna. ¿Existe una forma sencilla de aprovechar los poderes de impresión en color de Gradle / Groovy sin importar muchos paquetes?


¡Encontré la respuesta! De acuerdo con esta publicación en el foro de Gradle , no hay una interfaz pública para colorear la salida del registrador. Usted es libre de usar las clases internas, pero éstas pueden cambiar en futuras versiones. En el script de Gradle, ponga en la parte superior:

Gradle mayor

import org.gradle.logging.StyledTextOutput; import org.gradle.logging.StyledTextOutputFactory; import static org.gradle.logging.StyledTextOutput.Style;

Gradle 3.3+ :

import org.gradle.internal.logging.text.StyledTextOutput; import org.gradle.internal.logging.text.StyledTextOutputFactory; import static org.gradle.internal.logging.text.StyledTextOutput.Style;

(Todavía no he descubierto cómo mover esto al archivo init.gradle). Luego, poco después, defina

def out = services.get(StyledTextOutputFactory).create("blah")

Todavía no estoy seguro de lo que debe estar en la cadena del método create (parece que todavía no afecta nada). Luego, más tarde en tu tarea,

out.withStyle(Style.Info).println(''colored text'')

Esto debería funcionar con todas las categorías: normal, encabezado, entrada de usuario, identificador, descripción, estado de progreso, falla, información y error. Un paso adicional si desea personalizar el color de cada categoría, agregue lo siguiente a un archivo init.gradle en su directorio ~ / .gradle (u otras opciones ):

System.setProperty(''org.gradle.color.error'', ''RED'')

y luego reemplace la categoría de "error" con cualquiera de la lista anterior.


Solo informaciones adicionales completando la respuesta aceptada. Aquí están los estilos por defecto con gradle 4.10

StyledTextOutput.Style.values().each { out.style(it).println("This line has the style $it") }

Más aún, puedes crear una línea multicolor, como un StringBuilder

out.style(Style.ProgressStatus).text(''This is '').style(Style.Failure).text(''a multicolor '').style(Style.Identifier).println(''line'')

Edición: aquí hay un ejemplo de trabajo:

import org.gradle.internal.logging.text.StyledTextOutput import org.gradle.internal.logging.text.StyledTextOutputFactory import org.gradle.internal.logging.text.StyledTextOutput.Style def out = services.get(StyledTextOutputFactory).create("an-ouput") out.style(Style.ProgressStatus).text(''This is '').style(Style.Failure).text(''a multicolor '').style(Style.Identifier).println(''line'')


con Gradle 3.3 import org.gradle.internal.logging.text.StyledTextOutput; import org.gradle.internal.logging.text.StyledTextOutputFactory; import org.gradle.internal.logging.text.StyledTextOutput; import org.gradle.internal.logging.text.StyledTextOutputFactory;

def out = services.get(StyledTextOutputFactory).create("blah") out.withStyle(Style.Info).println("File-utils.gradle" + "," + str)