/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 7 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . gradle . internal Ċ Ċ import Ġorg . gradle . api . file . Configurable File Collection Ċ import Ġorg . gradle . api . file . Directory Property Ċ import Ġorg . gradle . api . provider . Property Ċ import Ġorg . gradle . api . tasks .* Ċ import Ġorg . jetbrains . kotlin . cli . common . arguments . K 2 JVM Compiler Arguments Ċ import Ġorg . jetbrains . kotlin . gradle . dsl . Kotlin Jvm Options Impl Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Compilation Data Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Abstract Kotlin Compile Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Filtering Source Roots Container Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Source Roots Ċ import Ġorg . jetbrains . kotlin . gradle . utils . is Parent Of Ċ import Ġorg . jetbrains . kotlin . incremental . classpath As List Ċ import Ġorg . jetbrains . kotlin . incremental . destination As File Ċ import Ġjava . io . File Ċ import Ġjava . util . concurrent . Callable Ċ Ċ @ Cache able Task Ċ abstract Ġclass ĠK apt Generate Stub s Task Ġ: ĠKotlin Compile ( Kotlin Jvm Options Impl ()) Ġ{ ĊĊĠĠĠ Ġclass ĠConfigurator ( private Ġval Ġkotlin Compile Task : ĠKotlin Compile , Ġkotlin Compilation : ĠKotlin Compilation Data <* >) Ġ: ĊĠĠĠĠĠĠĠ ĠAbstract Kotlin Compile . Configurator < K apt Generate Stub s Task >( kotlin Compilation ) Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġconfigure ( task : ĠK apt Generate Stub s Task ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . configure ( task ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprovider Factory Ġ= Ġkotlin Compile Task . project . providers ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . use Module Detection . value ( kotlin Compile Task . use Module Detection ). dis allow Changes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . moduleName . value ( kotlin Compile Task . moduleName ). dis allow Changes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . classpath Ġ= Ġtask . project . files ( Callable Ġ{ Ġkotlin Compile Task . classpath Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . kotlin Task Plugin Classpath . from ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Factory . provider Ġ{ Ġkotlin Compile Task . plugin Classpath Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . compile Kotlin Arguments Contributor . set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Factory . provider Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Compile Task . compiler Arguments Contributor ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . jvm Source Roots . set ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprovider Factory . provider Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Compile Task . getSource Roots (). let Ġ{ Ġcompile Task Source Roots Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSource Roots . For Jvm ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Task Source Roots . kotlin Source Files . filter Ġ{ Ġtask . is Source Root Allowed ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcompile Task Source Roots . java Source Roots . filter Ġ{ Ġtask . is Source Root Allowed ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . verbose . set ( K apt Task . query K apt Verbose Property ( task . project )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ field : Transient ĊĠĠĠ Ġoverride Ġval Ġsource Roots Container Ġ= ĠFiltering Source Roots Container ( objects , Ġ{ Ġis Source Root Allowed ( it ) Ġ}) ĊĊĠĠĠ Ġ@ get : Output Directory ĊĠĠĠ Ġabstract Ġval Ġstub s Dir : ĠDirectory Property ĊĊĠĠĠ Ġ@ get : Internal ĊĠĠĠ Ġlateinit Ġvar Ġgenerated Sources Dirs : ĠList < File > ĊĊĠĠĠ Ġ@ get : Classpath ĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġabstract Ġval Ġk apt Classpath : ĠConfigur able File Collection ĊĊĠĠĠ Ġ@ get : Classpath ĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġ@ Suppress (" unused ") ĊĠĠĠ Ġinternal Ġabstract Ġval Ġkotlin Task Plugin Classpath : ĠConfigur able File Collection ĊĊĠĠĠ Ġ@ get : Input ĊĠĠĠ Ġabstract Ġval Ġverbose : ĠProperty < Boolean > ĊĊĠĠĠ Ġoverride Ġfun Ġsource ( var arg Ġsources : ĠAny ): ĠSource Task Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . source ( source Roots Container . add ( sources )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġset Source ( sources : ĠAny ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . set Source ( source Roots Container . set ( sources )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Source Root Allowed ( source : ĠFile ): ĠBoolean Ġ= ĊĠĠĠĠĠĠĠ Ġ! destination Dir . is Parent Of ( source ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! stubs Dir . as File . get (). is Parent Of ( source ) Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerated Sources Dirs . none Ġ{ Ġit . is Parent Of ( source ) Ġ} ĊĊĠĠĠ Ġ@ get : Internal ĊĠĠĠ Ġinternal Ġabstract Ġval Ġcompile Kotlin Arguments Contributor : ĠProperty < Compiler Arguments Contributor < K 2 JVM Compiler Arguments >> ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Compiler Args ( args : ĠK 2 JVM Compiler Arguments , Ġdefaults Only : ĠBoolean , Ġignore Classpath Resolution Errors : ĠBoolean ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcompile Kotlin Arguments Contributor . get (). contribute Arguments ( args , Ġcompiler Arguments Configuration Flags ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdefaults Only , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġignore Classpath Resolution Errors ĊĠĠĠĠĠĠĠ Ġ)) ĊĊĠĠĠĠĠĠĠ Ġval Ġplugin Options With K apt Ġ= Ġplugin Options . with Wrapped K apt Options ( with Ap Classpath Ġ= Ġk apt Classpath ) ĊĠĠĠĠĠĠĠ Ġargs . plugin Options Ġ= Ġ( plugin Options With K apt . arguments Ġ+ Ġargs . plugin Options !! ). to Typed Array () ĊĊĠĠĠĠĠĠĠ Ġargs . verbose Ġ= Ġverbose . get () ĊĠĠĠĠĠĠĠ Ġargs . classpath As List Ġ= Ġthis . classpath . filter Ġ{ Ġit . exists () Ġ}. toList () ĊĠĠĠĠĠĠĠ Ġargs . destination As File Ġ= Ġthis . destination Dir ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ get : Internal ĊĠĠĠ Ġinternal Ġabstract Ġval Ġj vm Source Roots : ĠProperty < Source Roots . For Jvm > ĊĊĠĠĠ Ġoverride Ġfun Ġget Source Roots (): ĠSource Roots . For Jvm Ġ= Ġj vm Source Roots . get () Ċ }