package Ġpl . m are k lang iew ic z . deps Ċ Ċ import Ġok io . FileSystem Ċ import Ġok io . Path Ċ import Ġok io . buffer Ċ import Ġorg . gradle . Build Listener Ċ import Ġorg . gradle . Build Result Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . Project Evaluation Listener Ċ import Ġorg . gradle . api . Project State Ċ import Ġorg . gradle . api . Task Ċ import Ġorg . gradle . api . artifacts . Dependency Resolution Listener Ċ import Ġorg . gradle . api . artifacts . Res olvable Dependencies Ċ import Ġorg . gradle . api . execution . Task ActionListener Ċ import Ġorg . gradle . api . execution . Task Execution Graph Ċ import Ġorg . gradle . api . execution . Task Execution Graph Listener Ċ import Ġorg . gradle . api . execution . Task Execution Listener Ċ import Ġorg . gradle . api . initialization . Settings Ċ import Ġorg . gradle . api . invocation . Gradle Ċ import Ġorg . gradle . api . logging . Standard Output Listener Ċ import Ġorg . gradle . api . tasks . Task State Ċ import Ġorg . gradle . api . tasks . testing . Test Descriptor Ċ import Ġorg . gradle . api . tasks . testing . Test Listener Ċ import Ġorg . gradle . api . tasks . testing . Test Output Event Ċ import Ġorg . gradle . api . tasks . testing . Test Output Listener Ċ import Ġorg . gradle . api . tasks . testing . TestResult Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Build Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Dependency Resolution Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Project Evaluation Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Std Out Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Task Action Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Task Execution Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Task Execution Graph Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Test Evt .* Ċ import Ġpl . m are k lang iew ic z . deps . Gradle Evt . Test Out Evt .* Ċ import Ġjava . util . Date Ċ Ċ sealed Ġclass ĠGradle Evt Ġ{ ĊĠĠĠ Ġsealed Ġclass ĠBuild Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Settings ( val Ġsettings : ĠSettings ): ĠBuild Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBuild Finished ( val Ġresult : ĠBuild Result ): ĠBuild Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠProjects Evalu ated ( val Ġgradle : ĠGradle ): ĠBuild Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠProjects Loaded ( val Ġgradle : ĠGradle ): ĠBuild Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠSettings Evalu ated ( val Ġsettings : ĠSettings ): ĠBuild Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠProject Evaluation Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Evaluate ( val Ġproject : ĠProject ): ĠProject Evaluation Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAfter Evaluate ( val Ġproject : ĠProject , Ġval Ġstate : ĠProject State ): ĠProject Evaluation Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠTask Execution Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Execute ( val Ġtask : ĠTask ): ĠTask Execution Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAfter Execute ( val Ġtask : ĠTask , Ġval Ġstate : ĠTask State ): ĠTask Execution Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠTask Execution Graph Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠGraph Pop ulated ( val Ġgraph : ĠTask Execution Graph ): ĠTask Execution Graph Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠTask Action Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Actions ( val Ġtask : ĠTask ): ĠTask Action Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAfter Actions ( val Ġtask : ĠTask ): ĠTask Action Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠStd Out Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠOn Output ( val Ġoutput : ĠCharSequence ?): ĠStd Out Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠTest Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Suite ( val Ġsuite : ĠTest Descriptor ?): ĠTest Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAfter Suite ( val Ġsuite : ĠTest Descriptor ?, Ġval Ġresult : ĠTest Result ?): ĠTest Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Test ( val Ġdescriptor : ĠTest Descriptor ?): ĠTest Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAfter Test ( val Ġdescriptor : ĠTest Descriptor ?, Ġval Ġresult : ĠTest Result ?): ĠTest Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠTest Out Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠOn Test Output ( val Ġdescriptor : ĠTest Descriptor ?, Ġval Ġoutput : ĠTest Output Event ?): ĠTest Out Evt () ĊĠĠĠ Ġ} ĊĠĠĠ Ġsealed Ġclass ĠDependency Resolution Evt Ġ: ĠGradle Evt () Ġ{ ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠBefore Resolve ( val Ġdependencies : ĠRes olvable Dependencies ): ĠDependency Resolution Evt () ĊĠĠĠĠĠĠĠ Ġdata Ġclass ĠAfter Resolve ( val Ġdependencies : ĠRes olvable Dependencies ): ĠDependency Resolution Evt () ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠGradle Listener ( val Ġp us he e : Ġ( Gradle Evt ) Ġ-> ĠUnit ) Ġ: ĠBuild Listener , ĠProject Evaluation Listener , ĊĠĠĠ ĠTask Execution Listener , ĠTask Execution Graph Listener , ĠTask ActionListener , ĠStandard Output Listener , ĠTest Listener , ĊĠĠĠ ĠTest Output Listener , ĠDependency Resolution Listener Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Settings ( settings : ĠSettings ) Ġ= Ġp us he e ( Before Settings ( settings )) ĊĠĠĠ Ġoverride Ġfun Ġbuild Finished ( result : ĠBuild Result ) Ġ= Ġp us he e ( Build Finished ( result )) ĊĠĠĠ Ġoverride Ġfun Ġprojects Evalu ated ( gradle : ĠGradle ) Ġ= Ġp us he e ( Projects Evalu ated ( gradle )) ĊĠĠĠ Ġoverride Ġfun Ġprojects Loaded ( gradle : ĠGradle ) Ġ= Ġp us he e ( Projects Loaded ( gradle )) ĊĠĠĠ Ġoverride Ġfun Ġsettings Evalu ated ( settings : ĠSettings ) Ġ= Ġp us he e ( Settings Evalu ated ( settings )) ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Evaluate ( project : ĠProject ) Ġ= Ġp us he e ( Before Evaluate ( project )) ĊĠĠĠ Ġoverride Ġfun Ġafter Evaluate ( project : ĠProject , Ġstate : ĠProject State ) Ġ= Ġp us he e ( After Evaluate ( project , Ġstate )) ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Execute ( task : ĠTask ) Ġ= Ġp us he e ( Before Execute ( task )) ĊĠĠĠ Ġoverride Ġfun Ġafter Execute ( task : ĠTask , Ġstate : ĠTask State ) Ġ= Ġp us he e ( After Execute ( task , Ġstate )) ĊĊĠĠĠ Ġoverride Ġfun Ġgraph Pop ulated ( graph : ĠTask Execution Graph ) Ġ= Ġp us he e ( Graph Pop ulated ( graph )) ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Actions ( task : ĠTask ) Ġ= Ġp us he e ( Before Actions ( task )) ĊĠĠĠ Ġoverride Ġfun Ġafter Actions ( task : ĠTask ) Ġ= Ġp us he e ( After Actions ( task )) ĊĊĠĠĠ Ġoverride Ġfun Ġon Output ( output : ĠCharSequence ?) Ġ= Ġp us he e ( On Output ( output )) ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Suite ( suite : ĠTest Descriptor ?) Ġ= Ġp us he e ( Before Suite ( suite )) ĊĠĠĠ Ġoverride Ġfun Ġafter Suite ( suite : ĠTest Descriptor ?, Ġresult : ĠTest Result ?) Ġ= Ġp us he e ( After Suite ( suite , Ġresult )) ĊĠĠĠ Ġoverride Ġfun Ġbefore Test ( descriptor : ĠTest Descriptor ?) Ġ= Ġp us he e ( Before Test ( descriptor )) ĊĠĠĠ Ġoverride Ġfun Ġafter Test ( descriptor : ĠTest Descriptor ?, Ġresult : ĠTest Result ?) Ġ= Ġp us he e ( After Test ( descriptor , Ġresult )) ĊĊĠĠĠ Ġoverride Ġfun Ġon Output ( descriptor : ĠTest Descriptor ?, Ġoutput : ĠTest Output Event ?) Ġ= Ġp us he e ( On Test Output ( descriptor , Ġoutput )) ĊĊĠĠĠ Ġoverride Ġfun Ġbefore Resolve ( dependencies : ĠRes olvable Dependencies ) Ġ= Ġp us he e ( Before Resolve ( dependencies )) ĊĠĠĠ Ġoverride Ġfun Ġafter Resolve ( dependencies : ĠRes olvable Dependencies ) Ġ= Ġp us he e ( After Resolve ( dependencies )) Ċ } Ċ Ċ fun ĠGradle . log Some Events ToFile ( ĊĠĠĠ Ġfile : ĠPath , ĊĠĠĠ Ġsystem : ĠFileSystem Ġ= ĠFileSystem . SYSTEM , ĊĠĠĠ Ġfilter : Ġ( Gradle Evt ) Ġ-> ĠBoolean Ġ= Ġ{ Ġtrue Ġ} Ċ ) Ġ{ ĊĠĠĠ Ġprintln (" Logging Ġsome ĠGradle Ev ts Ġto Ġfile : Ġ$ file ") ĊĠĠĠ Ġval Ġsink Ġ= Ġsystem . sink ( file ). buffer () ĊĠĠĠ Ġlateinit Ġvar Ġlistener : ĠGradle Listener ĊĠĠĠ Ġlistener Ġ= ĠGradle Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( filter ( it )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnow Ġ= ĠDate () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsink . write Utf 8 (" [$ now ] Ġ$ it \ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsink . flush () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( it Ġis ĠBuild Finished ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġremove Listener ( listener ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsink . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// val Ġproj Ġ= Ġit . result . gradle ?. root Project ?. name Ġ// ĠThis Ġis Ġproblematic : Ġhttps :// github . com / gradle / gradle / issues / 1 6 5 3 2 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġact Ġ= Ġit . result . action ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfail Ġ= Ġit . result . failure ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Logging Ġsome ĠGradle Ev ts Ġto Ġ$ file Ġfinished . Ġ( act : Ġ$ act ; Ġfail ?: Ġ$ fail )") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġadd Listener ( listener ) Ċ } Ċ