/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 Ġ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 Ċ Ċ import Ġgro ovy . lang . Closure Ċ import Ġorg . gradle . api . artifacts . Dependency Ċ import Ġorg . gradle . api . artifacts . External Module Dependency Ċ import Ġorg . gradle . api . artifacts . Project Dependency Ċ import Ġorg . gradle . util . Configure Util Ċ Ċ interface ĠKotlin Dependency Handler Ġ{ ĊĠĠĠ Ġfun Ġapi ( dependency Not ation : ĠAny ): ĠDependency ? ĊĠĠĠ Ġfun Ġapi ( dependency Not ation : ĠString , Ġconfigure : ĠExternal Module Dependency . () Ġ-> ĠUnit ): ĠExternal Module Dependency ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġapi ( dependency : ĠT , Ġconfigure : ĠT . () Ġ-> ĠUnit ): ĠT ĊĠĠĠ Ġfun Ġapi ( dependency Not ation : ĠString , Ġconfigure : ĠClosure <* >) Ġ= Ġapi ( dependency Not ation ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġapi ( dependency : ĠT , Ġconfigure : ĠClosure <* >) Ġ= Ġapi ( dependency ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĊĠĠĠ Ġfun Ġimplementation ( dependency Not ation : ĠAny ): ĠDependency ? ĊĠĠĠ Ġfun Ġimplementation ( dependency Not ation : ĠString , Ġconfigure : ĠExternal Module Dependency . () Ġ-> ĠUnit ): ĠExternal Module Dependency ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġimplementation ( dependency : ĠT , Ġconfigure : ĠT . () Ġ-> ĠUnit ): ĠT ĊĠĠĠ Ġfun Ġimplementation ( dependency Not ation : ĠString , Ġconfigure : ĠClosure <* >) Ġ= Ġimplementation ( dependency Not ation ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġimplementation ( dependency : ĠT , Ġconfigure : ĠClosure <* >) Ġ= Ġimplementation ( dependency ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĊĠĠĠ Ġfun Ġcompile Only ( dependency Not ation : ĠAny ): ĠDependency ? ĊĠĠĠ Ġfun Ġcompile Only ( dependency Not ation : ĠString , Ġconfigure : ĠExternal Module Dependency . () Ġ-> ĠUnit ): ĠExternal Module Dependency ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġcompile Only ( dependency : ĠT , Ġconfigure : ĠT . () Ġ-> ĠUnit ): ĠT ĊĠĠĠ Ġfun Ġcompile Only ( dependency Not ation : ĠString , Ġconfigure : ĠClosure <* >) Ġ= Ġcompile Only ( dependency Not ation ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġcompile Only ( dependency : ĠT , Ġconfigure : ĠClosure <* >) Ġ= Ġcompile Only ( dependency ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĊĠĠĠ Ġfun Ġruntime Only ( dependency Not ation : ĠAny ): ĠDependency ? ĊĠĠĠ Ġfun Ġruntime Only ( dependency Not ation : ĠString , Ġconfigure : ĠExternal Module Dependency . () Ġ-> ĠUnit ): ĠExternal Module Dependency ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġruntime Only ( dependency : ĠT , Ġconfigure : ĠT . () Ġ-> ĠUnit ): ĠT ĊĠĠĠ Ġfun Ġruntime Only ( dependency Not ation : ĠString , Ġconfigure : ĠClosure <* >) Ġ= Ġruntime Only ( dependency Not ation ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĠĠĠ Ġfun Ġ< T Ġ: ĠDependency > Ġruntime Only ( dependency : ĠT , Ġconfigure : ĠClosure <* >) Ġ= Ġruntime Only ( dependency ) Ġ{ ĠConfigure Util . configure ( configure , Ġthis ) Ġ} ĊĊĠĠĠ Ġfun Ġkotlin ( simple ModuleName : ĠString ): ĠExternal Module Dependency Ġ= Ġkotlin ( simple ModuleName , Ġnull ) ĊĠĠĠ Ġfun Ġkotlin ( simple ModuleName : ĠString , Ġversion : ĠString ?): ĠExternal Module Dependency ĊĊĠĠĠ Ġfun Ġproject ( path : ĠString , Ġconfiguration : ĠString ? Ġ= Ġnull ): ĠProject Dependency Ġ= ĊĠĠĠĠĠĠĠ Ġproject ( listOf (" path ", Ġ" configuration "). zip ( listOf NotNull ( path , Ġconfiguration )). toMap ()) ĊĊĠĠĠ Ġfun Ġproject ( notation : ĠMap < String , ĠAny ?> ): ĠProject Dependency Ċ } Ċ Ċ interface ĠHas Kotlin Dependencies Ġ{ ĊĠĠĠ Ġfun Ġdependencies ( configure : ĠKotlin Dependency Handler . () Ġ-> ĠUnit ) ĊĠĠĠ Ġfun Ġdependencies ( configure Closure : ĠClosure < Any ?> ) ĊĊĠĠĠ Ġval Ġapi Configuration Name : ĠString ĊĠĠĠ Ġval Ġimplementation Configuration Name : ĠString ĊĠĠĠ Ġval Ġcompile Only Configuration Name : ĠString ĊĠĠĠ Ġval Ġruntime Only Configuration Name : ĠString ĊĊĠĠĠ Ġval Ġrelated Configuration Names : ĠList < String > ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠlistOf ( api Configuration Name , Ġimplementation Configuration Name , Ġcompile Only Configuration Name , Ġruntime Only Configuration Name ) Ċ } Ċ