Как я могу сделать "gradle --stacktrace" значением по умолчанию?

Есть ли способ установить --info или --stacktrace через gradle.properties?

В настоящее время у меня есть сценарии сборки gazillion, которые в конечном итоге вызывают gradle, и я хотел бы стандартизировать поведение обработки ошибок по всем направлениям.

Ответ 1

Не в gradle.properties, а в build.gradle. Добавьте следующий фрагмент кода в самом начале сборки script:

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

Он также может быть помещен в init script.

Как указано в комментариях, из gradle v. 2.14 это будет:

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

Ответ 2

Есть другой подход - не добавлять его в файл build.gradle потому что вы, возможно, не захотите, чтобы он был настолько многословным при запуске вашего CI. Так что вместо этого вы можете ограничиться IDE. Если вы используете eclipse, вы можете выполнить эти шаги, чтобы применить его только к прогонам грейдера в вашей IDE.

Выполнить → "Выполнить настройки" → Выбрать "Gradle Project" → нажать вкладку "Настройки проекта" → нажать "Настроить параметры проекта..." → Выбрать "Переопределить настройки рабочего пространства" → вставить "--stacktrace" в текстовом поле "Аргументы программы".

Вышесказанное работало с Spring Tool Suite 4.2.1, который основан на Eclipse 4.11.0.x