2016-01-07 2 views
3

У меня есть проект градиента, который используется только для запуска задач JavaExec. Я хотел бы программно отключить сообщение построения градиента «BUILD SUCCESSFUL». Это возможно?Как программно отключить сообщение о создании градиента «BUILD SUCCESSFUL»?

Я видел: How do I turn off in console gradle build message like 'BUILD SUCCESSFUL'? Однако, похоже, речь идет о печати версии.


Update:

  • gradle -q не вариант в этом случае
  • по программным, мне было интересно, если там был API вызова я мог бы сделать из моего build.gradle
+0

Не уверен, что вы подразумеваете под «программным способом». Является ли 'gradle -q' решением вашей проблемы? – Henry

+0

Кроме того, используя '-q', нет api, чтобы удалить это сообщение из прогона сборки градации –

+0

@ReneGroeschke в любом случае, чтобы включить' -q' из build.gradle? – RaGe

ответ

2

Если вы готовы взять на себя всю нагрузку на обработку сообщений журнала самостоятельно, вы можете переопределить регистратор по умолчанию через th e Gradle.useLogger() способ.

gradle.useLogger(new CustomEventLogger()) 

class CustomEventLogger extends BuildAdapter implements TaskExecutionListener { 

    public void beforeExecute(Task task) { 
     println "[$task.name]" 
    } 

    public void afterExecute(Task task, TaskState state) { 
     println() 
    } 

} 


task foo() << { 
    println 'bar' 
} 

Какие результаты на выходе:

> gradle foo 
[foo] 
bar 

Примечание: Обратите внимание, что если все собственные интерфейсы не реализованы, этот метод может подавить ошибки, что делает отладку сложно. Например, нет задачи bar, работающий gradle bar не возвращает абсолютно никакого результата с реализацией выше.

> gradle bar 
> 
Смежные вопросы