import Ġorg . gradle . api . Action Ċ import Ġorg . gradle . api . Task Ċ import Ġorg . gradle . api . artifacts . Configuration Ċ import Ġorg . gradle . api . file . File Collection Ċ import Ġorg . gradle . api . tasks . Source Set Ċ import Ġorg . gradle . api . tasks . compile . Java Compile Ċ import Ġorg . gradle . kotlin . dsl . provide Delegate Ċ import Ġorg . gradle . kotlin . dsl . with Gro ovy Builder Ċ Ċ /* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 1 ĠJetBrains Ġs . r . o . Ġand ĠKotlin ĠProgramming ĠLanguage Ġcontributors . Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ class ĠInstrument Java (@ Transient Ġval Ġjava Instrument ator : ĠConfiguration , Ġ@ Transient Ġval Ġsource Set : ĠSource Set ) Ġ: ĠAction < Task > Ġ{ ĊĠĠĠ Ġprivate Ġval Ġinstrument ator Classpath : ĠString Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġjava Instrument ator . as Path ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġsrc Dirs : ĠFile Collection Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Set . all Java . source Directories ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( task : ĠTask ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrequire ( task Ġis ĠJava Compile ) Ġ{ Ġ"$ task Ġis Ġnot Ġof Ġtype ĠJava Compile !" Ġ} ĊĠĠĠĠĠĠĠ Ġtask . do Last Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġany Src Dir Ġ= Ġsrc Dirs . filter Ġ{ Ġit . exists () Ġ}. first OrNull () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( any Src Dir Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . ant . with Gro ovy Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" task def "( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġ" instrument Ide a Extensions ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" classpath " Ġto Ġinstrument ator Classpath , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" loader ref " Ġto Ġ" java 2 . loader ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" classname " Ġto Ġ" com . intellij . ant . J av ac 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . ant . with Gro ovy Builder Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" instrument Ide a Extensions "( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" srcdir " Ġto Ġany Src Dir , Ġ// ĠNo Ġcode Ġshould Ġactually Ġbe Ġcompiled Ġbecause Ġof Ġare Java Classes Compiled == true Ġin ĠJ av ac 2 Ġ- Ġso Ġany Ġsrc Ġfolder Ġwill Ġdo . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dest dir " Ġto Ġtask . destination Directory . as File . get (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" classpath " Ġto Ġtask . classpath . as Path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" include an tr untime " Ġto Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" instrument NotNull " Ġto Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }