/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . Ġ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 . plugin . sources Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . artifacts . Configuration Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . Has Kotlin Dependencies Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . Kotlin Compilation Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . Kotlin Source Set Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . sources . Kotlin Dependency Scope .* Ċ import Ġorg . jetbrains . kotlin . gradle . utils . API Ċ import Ġorg . jetbrains . kotlin . gradle . utils . COMPILE _ ONLY Ċ import Ġorg . jetbrains . kotlin . gradle . utils . IMPLEMENT ATION Ċ import Ġorg . jetbrains . kotlin . gradle . utils . RUNTIME _ ONLY Ċ Ċ internal Ġenum Ġclass ĠKotlin Dependency Scope ( val Ġscope Name : ĠString ) Ġ{ ĊĠĠĠ ĠAPI _ SCOPE ( API ), ĊĠĠĠ ĠIMP LEMENT ATION _ SCOPE ( IMPLEMENT ATION ), ĊĠĠĠ ĠCOMPI LE _ ONLY _ SCOPE ( COMPILE _ ONLY ), ĊĠĠĠ ĠRUN TIME _ ONLY _ SCOPE ( RUNTIME _ ONLY ); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcompile Scopes Ġ= ĠlistOf ( Kotlin Dependency Scope . API _ SCOPE , ĠKotlin Dependency Scope . IMPLEMENT ATION _ SCOPE , ĠKotlin Dependency Scope . COMPILE _ ONLY _ SCOPE ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠProject . source Set Dependency Configuration By Scope ( source Set : ĠHas Kotlin Dependencies , Ġscope : ĠKotlin Dependency Scope ): ĠConfiguration Ġ= ĊĠĠĠ Ġproject . configurations . get ByName ( ĊĠĠĠĠĠĠĠ Ġwhen Ġ( scope ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAPI _ SCOPE Ġ-> Ġsource Set . api Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIMP LEMENT ATION _ SCOPE Ġ-> Ġsource Set . implementation Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOMPI LE _ ONLY _ SCOPE Ġ-> Ġsource Set . compile Only Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRUN TIME _ ONLY _ SCOPE Ġ-> Ġsource Set . runtime Only Configuration Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ Ċ internal Ġfun ĠProject . compilation Dependency Configuration By Scope ( ĊĠĠĠ Ġcompilation : ĠKotlin Compilation <* >, ĊĠĠĠ Ġscope : ĠKotlin Dependency Scope Ċ ): ĠConfiguration Ġ= ĊĠĠĠ Ġproject . configurations . get ByName ( ĊĠĠĠĠĠĠĠ Ġwhen Ġ( scope ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAPI _ SCOPE Ġ-> Ġcompilation . api Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIMP LEMENT ATION _ SCOPE Ġ-> Ġcompilation . implementation Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOMPI LE _ ONLY _ SCOPE Ġ-> Ġcompilation . compile Only Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRUN TIME _ ONLY _ SCOPE Ġ-> Ġcompilation . runtime Only Configuration Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ċ Ċ internal Ġfun ĠProject . source Set Metadata Configuration By Scope ( source Set : ĠKotlin Source Set , Ġscope : ĠKotlin Dependency Scope ): ĠConfiguration Ġ= ĊĠĠĠ Ġproject . configurations . get ByName ( ĊĠĠĠĠĠĠĠ Ġwhen Ġ( scope ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAPI _ SCOPE Ġ-> Ġsource Set . api Metadata Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIMP LEMENT ATION _ SCOPE Ġ-> Ġsource Set . implementation Metadata Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCOMPI LE _ ONLY _ SCOPE Ġ-> Ġsource Set . compile Only Metadata Configuration Name ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRUN TIME _ ONLY _ SCOPE Ġ-> Ġsource Set . runtime Only Metadata Configuration Name ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ)