/* Ċ Ġ* Ġ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 . jetbrains . kotlin . gradle . k pm . Kotlin External Model Container Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Gradle Fragment Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Gradle Fragment Internal Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . mpp . pm 2 0 . Kotlin Gradle Variant Ċ Ċ private Ġtype alias ĠIde a Kotlin Fragment Builder Cache Ġ= ĠMutable Map < Kotlin Gradle Fragment , ĠIde a Kotlin Fragment > Ċ Ċ internal Ġfun ĠKotlin Gradle Fragment . to Ide a Kotlin Fragment ( ĊĠĠĠ Ġcache : ĠIde a Kotlin Fragment Builder Cache Ġ= Ġmutable Map Of () Ċ ): ĠIde a Kotlin Fragment Ġ{ ĊĠĠĠ Ġreturn Ġcache . get Or Put ( this ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this Ġis ĠKotlin Gradle Variant ) Ġbuild Ide a Kotlin Variant ( cache ) ĊĠĠĠĠĠĠĠ Ġelse Ġbuild Ide a Kotlin Fragment ( cache ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠKotlin Gradle Fragment . build Ide a Kotlin Fragment ( cache : ĠIde a Kotlin Fragment Builder Cache ): ĠIde a Kotlin Fragment Ġ{ ĊĠĠĠ Ġreturn ĠIde a Kotlin Fragment Impl ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname , ĊĠĠĠĠĠĠĠ Ġmodule Identifier Ġ= Ġcontaining Module . module Identifier . to Ide a Kotlin Module Identifier (), ĊĠĠĠĠĠĠĠ Ġlanguage Settings Ġ= Ġlanguage Settings . to Ide a Kotlin Language Settings (), ĊĠĠĠĠĠĠĠ Ġdependencies Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġdirect Ref ines Dependencies Ġ= Ġdirect Ref ines Dependencies . map Ġ{ Ġref ines Fragment Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġref ines Fragment . to Ide a Kotlin Fragment ( cache ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġsource Directories Ġ= Ġkotlin Source Roots . source Directories . files . toList (). map Ġ{ Ġfile Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIde a Kotlin Source Directory Impl ( file ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġresource Directories Ġ= Ġempty List (), ĊĠĠĠĠĠĠĠ Ġexternal Ġ= Ġ( this Ġas ? ĠKotlin Gradle Fragment Internal )?. external Ġ?: ĠKotlin External Model Container . Empty ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠKotlin Gradle Variant . build Ide a Kotlin Variant ( cache : ĠIde a Kotlin Fragment Builder Cache ): ĠIde a Kotlin Variant Ġ{ ĊĠĠĠ Ġreturn ĠIde a Kotlin Variant Impl ( ĊĠĠĠĠĠĠĠ Ġfragment Ġ= Ġbuild Ide a Kotlin Fragment ( cache ), ĊĠĠĠĠĠĠĠ Ġvariant Attributes Ġ= Ġvariant Attributes . map Keys Ġ{ Ġ( key , Ġ_) Ġ-> Ġkey . unique Name Ġ}, ĊĠĠĠĠĠĠĠ Ġcompilation Outputs Ġ= Ġcompilation Outputs . to Ide a Kotlin Compilation Outputs () ĊĠĠĠ Ġ) Ċ } Ċ