2015-04-30 15 views
6

C'è un modo per impostare --info o --stacktrace tramite gradle.properties?Come posso rendere "gradle --stacktrace" il valore predefinito?

Attualmente ho degli script di generazione di gazillion che terminano invocando gradle a un certo punto e vorrei standardizzare il comportamento di gestione degli errori su tutta la linea.

+0

Un modo potrebbe essere quello di modificare i file di script nella directory bin per aggiungere tali argomenti. – MJSG

+0

Oppure posso "avvolgere il wrapper", ma gli sviluppatori che non hanno il mio wrapper non hanno lo stesso comportamento degli host di build. –

+0

Che ne dici di utilizzare il gradle-wrapper e apportare le modifiche richieste nel wrapper (potresti anche usarlo per puntare a un'implementazione gradle personalizzata con le tue modifiche se necessario). Questo può quindi essere distribuito a tutti gli sviluppatori. – MJSG

risposta

8

Non in gradle.properties ma nello stesso build.gradle. Aggiungere il seguente pezzo di codice, proprio all'inizio dello script di build:

import org.gradle.logging.ShowStacktrace 
gradle.startParameter.showStacktrace = ShowStacktrace.ALWAYS 
throw new RuntimeException('lol') 

Si potrebbe anche essere messo in init script.

Come sottolineato nei commenti, da Gradle v 2.14 sarà:.

gradle.startParameter.showStacktrace = org.gradle.api.logging.configuration.ShowStacktrace.ALWAYS 
+0

Sembra che non ci sia un 'ShowInfo.ALWAYS' - oh beh ... –

+1

Per le versioni correnti es. (Gradle 2.14), questo non funziona. Utilizzare invece: 'gradle.startParameter.showStacktrace = org.gradle.api.logging.configuration.ShowStacktrace.ALWAYS' –

+1

Se non si vede lo stacktrace utilizzare [org.gradle.api.logging.configuration.ShowStacktrace.ALWAYS_FULL] (https://docs.gradle.org/current/javadoc/org/gradle/api/logging/configuration/ShowStacktrace.html) valore enum – bitek

Problemi correlati