/* Ċ Ġ* Ġ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 . plugin . mpp Ċ Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . file . Configurable File Collection Ċ import Ġorg . gradle . api . file . File Collection Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Metadata Dependency Resolution . Choose Visible Source Sets Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Metadata Dependency Resolution . Choose Visible Source Sets . Metadata Provider . Jar Metadata Provider Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . Metadata Dependency Resolution . Choose Visible Source Sets . Metadata Provider . Project Metadata Provider Ċ import Ġjava . io . File Ċ Ċ /** Ċ Ġ* Ġ@ param Ġoutput Directory When Material ised : ĠRoot Ġoutput Ġdirectory Ġto Ġput Ġfiles Ġif Ġ[ material ize Files If Ne cessary ] Ġis Ġset Ċ Ġ* Ġand Ġthe Ġartifact Ġis Ġindeed Ġa Ġ[ Composite Metadata Jar ] Ċ Ġ* Ċ Ġ* Ġ@ param Ġmaterial ize Files If Ne cessary : ĠIf Ġthe Ġartifact Ġis Ġa Ġ[ Composite Metadata Jar ] Ġthen Ġthis Ġflag Ġwill Ġtell Ġif Ċ Ġ* Ġcompiled Ġsource Ġset Ġmetadata Ġshould Ġbe Ġextracted Ġfrom Ġthis Ġjar Ġfile Ġinto Ġthe Ġgiven Ġ[ output Directory When Material ised ] Ċ Ġ*/ Ċ internal Ġfun ĠChoose Visible Source Sets . getAll Compiled Source Set Metadata ( ĊĠĠĠ Ġproject : ĠProject , ĊĠĠĠ Ġoutput Directory When Material ised : ĠFile , ĊĠĠĠ Ġmaterial ize Files If Ne cessary : ĠBoolean Ċ ): ĠConfigur able File Collection Ġ= Ġproject . files ( ĊĠĠĠ Ġvisible Source Set Names Ex cluding Dep ends On . map Ġ{ Ġvisible Source SetName Ġ-> ĊĠĠĠĠĠĠĠ Ġmetadata Provider . getSource Set Compiled Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject , Ġvisible Source SetName , Ġoutput Directory When Material ised , Ġmaterial ize Files If Ne cessary ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ ) Ċ Ċ internal Ġfun ĠChoose Visible Source Sets . Metadata Provider . getSource Set Compiled Metadata ( ĊĠĠĠ Ġproject : ĠProject , ĊĠĠĠ Ġsource SetName : ĠString , ĊĠĠĠ Ġoutput Directory When Material ised : ĠFile , ĊĠĠĠ Ġmaterial ize Files If Ne cessary : ĠBoolean Ċ ): ĠFile Collection Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠProject Metadata Provider Ġ-> Ġget Source Set Compiled Metadata ( source SetName ) ĊĠĠĠ Ġis ĠJar Metadata Provider Ġ-> Ġproject . files ( ĊĠĠĠĠĠĠĠ Ġget Source Set Compiled Metadata ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource SetName , Ġoutput Directory When Material ised , Ġmaterial ize Files If Ne cessary ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ) Ċ } Ċ