/* Ċ Ġ* Ġ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 . Ċ Ġ*/ Ċ Ċ package Ġorg . jetbrains . kotlin . gradle . tasks . configuration Ċ Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Compilation Data Ċ import Ġorg . jetbrains . kotlin . gradle . targets . js . ir . is Produce Un z ipped K lib Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin 2 Js Compile Ċ import Ġjava . io . File Ċ Ċ internal Ġtype alias ĠKotlin 2 Js Compile Config Ġ= ĠBase Kotlin 2 Js Compile Config < Kotlin 2 Js Compile > Ċ Ċ internal Ġopen Ġclass ĠBase Kotlin 2 Js Compile Config < TASK Ġ: ĠKotlin 2 Js Compile >( ĊĠĠĠ Ġcompilation : ĠKotlin Compilation Data < *> Ċ ) Ġ: ĠAbstract Kotlin Compile Config < TASK >( compilation ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlibrary Cache Service Ġ= Ġproject . root Project . gradle . shared Services . register If Absent ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ Kotlin 2 Js Compile . Library Filter Caching Service :: class . java . canonical Name }_${ Kotlin 2 Js Compile . Library Filter Caching Service :: class . java . class Loader . hashCode () }", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠKotlin 2 Js Compile . Library Filter Caching Service :: class . java ĊĠĠĠĠĠĠĠ Ġ) Ġ{} ĊĊĠĠĠĠĠĠĠ Ġconfigure Task Ġ{ Ġtask Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . incremental Ġ= Ġproperties Provider . incremental Js Ġ?: Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . incremental Js K lib Ġ= Ġproperties Provider . incremental Js K lib Ġ?: Ġtrue ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . outputFile Property . value ( task . project . provider Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . kotlin Options . outputFile ?. let (:: File ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġtask . destination Directory . location Only . get (). as File . resolve ("${ compilation . own ModuleName }. js ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). dis allow Changes () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . optional OutputFile . file Provider ( task . outputFile Property . flatMap Ġ{ ĠoutputFile Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtask . project . provider Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠoutputFile . take Unless Ġ{ Ġtask . kotlin Options . is Produce Un z ipped K lib () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}). dis allow Changes () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtask . library Cache . set ( library Cache Service ). also Ġ{ Ġtask . library Cache . dis allow Changes () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }