/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 9 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġcom . android . build . api . variant Ċ Ċ import Ġcom . android . build . api . component . Component Ċ import Ġcom . android . build . api . component . UnitTest Ċ import Ġorg . gradle . api . Inc ub ating Ċ import Ġorg . gradle . api . file . Regular File Ċ import Ġorg . gradle . api . provider . List Property Ċ import Ġorg . gradle . api . provider . Map Property Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġjava . io . Serializable Ċ Ċ /** Ċ Ġ* ĠParent Ġinterface Ġfor Ġall Ġtypes Ġof Ġvariants . Ċ Ġ*/ Ċ interface ĠVariant Ġ: ĠComponent , ĠHas Android Resources Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġminimum Ġsupported ĠSDK ĠVersion Ġfor Ġthis Ġvariant . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġmin Sdk Version : ĠAndroid Version ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġmaximum Ġsupported ĠSDK ĠVersion Ġfor Ġthis Ġvariant . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġmax Sdk Version : ĠInt ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠGets Ġthe Ġtarget ĠSDK ĠVersion Ġfor Ġthis Ġvariant . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġtarget Sdk Version : ĠAndroid Version ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġnamespace Ġof Ġthe Ġgenerated ĠR Ġand ĠBuild Config Ġclasses . ĠAlso , Ġthe Ġnamespace Ġused Ġto Ġresolve ĊĠĠĠĠ Ġ* Ġany Ġrelative Ġclass Ġnames Ġthat Ġare Ġdeclared Ġin Ġthe ĠAndroid Manifest . xml . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġnamespace : ĠProvider < String > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVariant 's Ġ[ Build Config Field ] Ġwhich Ġwill Ġbe Ġgenerated Ġin Ġthe ĠBuild Config Ġclass . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġbuild Config Fields : ĠMap Property < String , ĠBuild Config Field < out ĠSerializable >> ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ[ Map Property ] Ġof Ġthe Ġvariant 's Ġmanifest Ġplaceholders . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠPlace holders Ġare Ġorganized Ġwith Ġa Ġkey Ġand Ġa Ġvalue . ĠThe Ġvalue Ġis Ġa Ġ[ String ] Ġthat Ġwill Ġbe ĊĠĠĠĠ Ġ* Ġused Ġas Ġis Ġin Ġthe Ġmerged Ġmanifest . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġ[ Map Property ] Ġwith Ġkeys Ġas Ġ[ String ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġmanifest Place holders : ĠMap Property < String , ĠString > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVariant 's Ġpackaging Options , Ġinitialized Ġby Ġthe Ġcorresponding Ġglobal ĠDSL Ġelement . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġpackaging : ĠPack aging ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVariant 's Ġcmake Ġ[ External Native Build ], Ġinitialized Ġby Ġmerging Ġthe Ġproduct Ġflavor Ġvalues Ġor ĊĠĠĠĠ Ġ* Ġnull Ġif Ġno Ġcmake Ġexternal Ġbuild Ġis Ġconfigured Ġfor Ġthis Ġvariant . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġexternal Native Build : ĠExternal Native Build ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠVariant 's Ġ[ UnitTest ], Ġor Ġnull Ġif Ġthe Ġunit Ġtests Ġfor Ġthis Ġvariant Ġare Ġdisabled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġunit Test : ĠUnit Test ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġan Ġextension Ġobject Ġregistered Ġvia Ġthe Ġ[ Variant Builder . register Extension ] ĠAPI Ġor ĊĠĠĠĠ Ġ* Ġnull Ġif Ġnone Ġwere Ġregistered Ġunder Ġthe Ġpassed Ġ[ type ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġthe Ġregistered Ġobject Ġor Ġnull . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġ< T > Ġget Extension ( type : ĠClass < T >): ĠT ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList Ġof Ġpro guard Ġconfiguration Ġfiles Ġfor Ġthis Ġvariant . ĠThe Ġlist Ġis Ġinitialized Ġfrom Ġthe ĊĠĠĠĠ Ġ* Ġcorresponding ĠDSL Ġelement , Ġand Ġcannot Ġbe Ġqueried Ġat Ġconfiguration Ġtime . ĠAt Ġconfiguration Ġtime , ĊĠĠĠĠ Ġ* Ġyou Ġcan Ġonly Ġadd Ġnew Ġelements Ġto Ġthe Ġlist . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġlist Ġwill Ġbe Ġinitialized Ġfrom Ġ[ com . android . build . api . dsl . Variant Dimension # pro guard File ] ĊĠĠĠĠ Ġ* Ġfor Ġnon Ġtest Ġrelated Ġvariants Ġand Ġfrom ĊĠĠĠĠ Ġ* Ġ[ com . android . build . api . dsl . Variant Dimension . test Pro guard Files ] Ġfor Ġtest Ġrelated Ġvariants . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġpro guard Files : ĠList Property < Regular File > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdditional Ġper Ġvariant Ġexperimental Ġproperties . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠInitialized Ġfrom Ġ[ com . android . build . api . dsl . Common Extension . experimental Properties ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ get : Inc ub ating ĊĠĠĠ Ġval Ġexperimental Properties : ĠMap Property < String , ĠAny > Ċ } Ċ