package Ġorg . jetbrains . kotlin . gradle . plugin . experimental . internal Ċ Ċ import Ġorg . gradle . api . artifacts . Configuration Ċ import Ġorg . gradle . api . artifacts . Configuration Container Ċ import Ġorg . gradle . api . artifacts . Module Version Identifier Ċ import Ġorg . gradle . api . attributes . Attribute Container Ċ import Ġorg . gradle . api . component . Publish able Component Ċ import Ġorg . gradle . api . file . Project Layout Ċ import Ġorg . gradle . api . file . Regular File Property Ċ import Ġorg . gradle . api . internal . component . Software Component Internal Ċ import Ġorg . gradle . api . internal . component . Usage Context Ċ import Ġorg . gradle . api . internal . file . File Operations Ċ import Ġorg . gradle . api . model . ObjectFactory Ċ import Ġorg . gradle . api . provider . Property Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġorg . gradle . language . cpp . internal . Default Usage Context Ċ import Ġorg . gradle . native platform . Link age Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . experimental . Kotlin Native K Library Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . experimental . source sets . Kotlin Native Source Set Ċ import Ġorg . jetbrains . kotlin . kon an . target . Compiler Output Kind Ċ import Ġjavax . inject . Inject Ċ Ċ open Ġclass ĠKotlin Native K Library Impl Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġbase Name : ĠProvider < String >, ĊĠĠĠĠĠĠĠ Ġcomponent Implementation : ĠConfiguration , ĊĠĠĠĠĠĠĠ Ġsources : ĠKotlin Native Source Set , ĊĠĠĠĠĠĠĠ Ġidentity : ĠKotlin Native Variant Identity , ĊĠĠĠĠĠĠĠ Ġobjects : ĠObject Factory , ĊĠĠĠĠĠĠĠ Ġproject Layout : ĠProject Layout , ĊĠĠĠĠĠĠĠ Ġconfigurations : ĠConfiguration Container , ĊĠĠĠĠĠĠĠ Ġfile Operations : ĠFile Operations Ċ ) Ġ: ĠAbstract Kotlin Native Binary ( name , ĊĠĠĠĠĠĠĠ Ġbase Name , ĊĠĠĠĠĠĠĠ Ġsources , ĊĠĠĠĠĠĠĠ Ġidentity , ĊĠĠĠĠĠĠĠ Ġproject Layout , ĊĠĠĠĠĠĠĠ ĠCompiler Output Kind . LIBRARY , ĊĠĠĠĠĠĠĠ Ġobjects , ĊĠĠĠĠĠĠĠ Ġcomponent Implementation , ĊĠĠĠĠĠĠĠ Ġconfigurations , ĊĠĠĠĠĠĠĠ Ġfile Operations ), ĊĠĠĠ ĠKotlin Native K Library , ĊĠĠĠ ĠSoftware Component Internal , Ġ// ĠTODO : ĠSoftware Component Internal Ġwill Ġbe Ġreplaced Ġwith ĠComponent With Variants Ġby ĠGradle ĊĠĠĠ ĠPublish able Component Ċ { ĊĠĠĠ Ġoverride Ġfun Ġget Coordinates (): ĠModule Version Identifier Ġ= Ġidentity . coordinates ĊĊĠĠĠ Ġ// ĠProperties ĊĊĠĠĠ Ġ// ĠThe Ġlink Ġelements Ġconfiguration Ġis Ġcreated Ġby Ġthe ĠNative Base Ġplugin . ĊĠĠĠ Ġprivate Ġval Ġlink Elements Property : ĠProperty < Configuration > Ġ= Ġobjects . property ( Configuration :: class . java ) ĊĠĠĠ Ġprivate Ġval Ġlink File Property : ĠRegular File Property Ġ= Ġproject Layout . file Property () ĊĊĠĠĠ Ġ// ĠInterface ĊĊĠĠĠ Ġoverride Ġfun Ġget Link Elements () Ġ Ġ= Ġlink Elements Property ĊĠĠĠ Ġoverride Ġfun Ġget Link File () Ġ= Ġlink File Property ĊĊĠĠĠ Ġoverride Ġfun Ġget Usage s (): ĠSet < Usage Context > Ġ= Ġlink Elements Property . get (). let Ġ{ ĊĠĠĠĠĠĠĠ Ġset Of ( Default Usage Context ( identity . link Usage Context , Ġit . all Artifacts , Ġit )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Link Attributes (): ĠAttribute Container Ġ= Ġidentity . link Usage Context . attributes ĊĊĠĠĠ Ġ// ĠTODO : ĠDoes ĠK lib Ġreally Ġmatch Ġa Ġstatic Ġlink age Ġin ĠGradle 's Ġterms ? ĊĠĠĠ Ġoverride Ġfun Ġget Link age (): ĠLink age ? Ġ= ĠLink age . STATIC ĊĊĠĠĠ Ġoverride Ġval Ġoutput Root Name Ġ= Ġ" lib " Ċ } Ċ