import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" com . android . application ") ĊĠĠĠ Ġid (" kotlin - android ") Ċ } Ċ apply ( plugin Ġ= Ġdeps . simple Arch . gradle Plugin Id ) Ċ Ċ val Ġandroid Key Alias : ĠString Ġby Ġproject Ċ val Ġandroid Key Password : ĠString Ġby Ġproject Ċ val Ġandroid Store File : ĠString Ġby Ġproject Ċ val Ġandroid Store Password : ĠString Ġby Ġproject Ċ Ċ android Ġ{ ĊĠĠĠ Ġval ĠappId Ġ= Ġ" kim . je ong hy eon . sample . compose " ĊĊĠĠĠ Ġcompile Sdk Version ( config . compile Sdk Version ) ĊĠĠĠ Ġbuild Tools Version ( config . build Tool Version ) ĊĠĠĠ Ġdefault Config Ġ{ ĊĠĠĠĠĠĠĠ Ġversion Code Ġ= Ġ 1 0 1 0 0 ĊĠĠĠĠĠĠĠ Ġversion Name Ġ= Ġ" 1 . 0 1 . 0 0 " ĊĠĠĠĠĠĠĠ Ġmin Sdk Version ( config . min Sdk Version ) ĊĠĠĠĠĠĠĠ Ġtarget Sdk Version ( config . target Sdk Version ) ĊĠĠĠĠĠĠĠ Ġapplication Id Ġ= ĠappId ĊĊĠĠĠĠĠĠĠ Ġ// todo Ġmanage Ġconfig Field Ġby ĠSimple Config . Ġas Ġit Ġsupport Ġmulti platform . ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" String ", Ġ" free PackageName ", Ġ"\" ${ appId }\" ") ĊĊĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Free ", Ġ" false ") ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Pro ", Ġ" false ") ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Dev ", Ġ" false ") ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Prod ", Ġ" false ") ĊĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Mock ", Ġ" false ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġflavor Dimensions (" mode ", Ġ" stage ") ĊĊĠĠĠ Ġval ĠFL AV OR _ NAME _ MOCK Ġ= Ġ" mock " ĊĊĠĠĠ Ġproduct Fl avors Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfree Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension Ġ= Ġ" mode " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġif Ġapplication Id Ġis Ġdif fire nt Ġon Ġdifferent Ġflavor , Ġoauth Ġurl Ġof Ġeach Ġapplication id Ġshould Ġbe Ġadded Ġto Ġoauth Ġprovider ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġas Ġthis Ġis Ġsample . Ġcommented Ġout . Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Ġ= ĠappId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Free ", Ġ" true ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġpro Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension Ġ= Ġ" mode " Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Ġ= ĠappId Ġ+ Ġ". pro " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Pro ", Ġ" true ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġdev Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension Ġ= Ġ" stage " Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Suffix Ġ= Ġ". dev " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Suffix Ġ= Ġ"- dev " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Dev ", Ġ" true ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// optimize Ġbuild Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Configs (" en ", Ġ" hdpi ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Sdk Version ( if Ġ( config . min Sdk Version Ġ> Ġ 2 1 ) Ġconfig . min Sdk Version Ġelse Ġ 2 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġprod Ġby Ġcreating Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension Ġ= Ġ" stage " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Prod ", Ġ" true ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcreate ( FL AV OR _ NAME _ MOCK ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdimension Ġ= Ġ" stage " Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġapplication Id Suffix Ġ= Ġ". mock " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Name Suffix Ġ= Ġ"- mock " ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Config Field (" boolean ", Ġ" is Mock ", Ġ" true ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// optimize Ġbuild Ġtime ĊĠĠĠĠĠĠĠĠĠĠĠ Ġres Configs (" en ", Ġ" hdpi ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmin Sdk Version ( if Ġ( config . min Sdk Version Ġ> Ġ 2 1 ) Ġconfig . min Sdk Version Ġelse Ġ 2 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠSIGN ING _ CONFIG _ NAME _ RELEASE Ġ= Ġ" release " ĊĊĠĠĠ Ġsigning Configs Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate ( SIGN ING _ CONFIG _ NAME _ RELEASE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Alias Ġ= Ġandroid Key Alias ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkey Password Ġ= Ġandroid Key Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore File Ġ= Ġfile ( android Store File ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstore Password Ġ= Ġandroid Store Password ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠBUILD _ TYPE _ NAME _ DEBUG Ġ= Ġ" debug " ĊĠĠĠ Ġval ĠBUILD _ TYPE _ NAME _ RELEASE Ġ= Ġ" release " ĊĊĠĠĠ Ġbuild Types Ġ{ ĊĠĠĠĠĠĠĠ Ġget ByName ( BUILD _ TYPE _ NAME _ DEBUG ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Test Coverage Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġget ByName ( BUILD _ TYPE _ NAME _ RELEASE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Min ify Enabled Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Shrink Resources Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpro guard Files ( getDefault Pro guard File (" pro guard - android - optimize . txt "), Ġ" pro guard - rules . pro ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsigning Config Ġ= Ġsigning Configs . get ByName ( SIGN ING _ CONFIG _ NAME _ RELEASE ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠAlways Ġshow Ġthe Ġresult Ġof Ġevery Ġunit Ġtest , Ġeven Ġif Ġit Ġpasses . ĊĠĠĠ Ġtest Options Ġ{ ĊĠĠĠĠĠĠĠ Ġunit Tests . is Include Android Resources Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġanimations Disabled Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġlint Options Ġ{ ĊĠĠĠĠĠĠĠ Ġis Abort OnError Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < Kotlin Compile >(). all Ġ{ ĊĠĠĠ Ġkotlin Options . free Compiler Args Ġ+= Ġ"- X opt - in = kotlin . Requires Opt In " Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( project (": sample - base ")) Ċ }