/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 2 2 Ġ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 . k pm . idea Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . jetbrains . kotlin . common izer . Kon an Distribution Ċ import Ġorg . jetbrains . kotlin . common izer . platform Lib s Dir Ċ import Ġorg . jetbrains . kotlin . compiler Runner . kon an Home Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . get Kotlin Plugin Version Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Gradle Fragment Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Native Variant Internal Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . containing Variants Ċ import Ġorg . jetbrains . kotlin . library . Tool ing Single File K lib Resolve Strategy Ċ import Ġorg . jetbrains . kotlin . library . resolve Single File K lib Ċ import Ġorg . jetbrains . kotlin . library . short Name Ċ import Ġorg . jetbrains . kotlin . library . unique Name Ċ import Ġjava . io . File Ċ Ċ internal Ġclass ĠIde a Kotlin Native Platform Dependency Resolver Ġ: ĠIde a Kotlin Dependency Resolver Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġresolve ( fragment : ĠKotlin Gradle Fragment ): ĠSet < Ide a Kotlin Dependency > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkon an Targets Ġ= Ġfragment . containing Variants ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit Ġas ? ĠKotlin Native Variant Internal Ġ?: Ġreturn Ġempty Set () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . kon an Target Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĊĠĠĠĠĠĠĠ Ġ/* ĠF rag ments Ġwith Ġmultiple Ġkon an Ġtargets Ġwill Ġreceive Ġcommon ized Ġk libs Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġkon an Target Ġ= Ġkon an Targets . single OrNull () Ġ?: Ġreturn Ġempty Set () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġfragment . project . kon an Distribution . platform Lib s Dir . resolve ( kon an Target . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. list Library Files () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map NotNull Ġ{ Ġlibrary File Ġ-> Ġfragment . project . resolve K lib ( library File ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toSet () ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠProject . resolve K lib ( file : ĠFile ): ĠIde a Kotlin Resolved Binary Dependency ? Ġ{ ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġkotlin Library Ġ= Ġresolve Single File K lib ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġorg . jetbrains . kotlin . kon an . file . File ( file . absolute Path ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstrategy Ġ= ĠTool ing Single File K lib Resolve Strategy ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠIde a Kotlin Resolved Binary Dependency Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinary Type Ġ= ĠIde a Kotlin Dependency . CLAS SPATH _ BINARY _ TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbinary File Ġ= Ġfile , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcoordinates Ġ= ĠIde a Kotlin Binary Coordinates Impl ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" org . jetbrains . kotlin . native ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmodule Ġ= Ġkotlin Library . short Name Ġ?: Ġkotlin Library . unique Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġproject . get Kotlin Plugin Version () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ġcatch Ġ( t : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . error (" Failed Ġresolving Ġlibrary Ġ${ file . path }", Ġt ) ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġval ĠProject . kon an Distribution : ĠKon an Distribution ĊĠĠĠ Ġget () Ġ= ĠKon an Distribution ( project . file ( kon an Home )) Ċ Ċ private Ġfun ĠFile . list Library Files (): ĠSet < File > Ġ= Ġlist Files (). or Empty () ĊĠĠĠ Ġ. filter Ġ{ Ġit . isDirectory Ġ|| Ġit . extension Ġ== Ġ" k lib " Ġ} ĊĠĠĠ Ġ. toSet () Ċ