/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠI ce Rock ĠMAG ĠInc . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġdev . icer ock . gradle . generator . strings Ċ Ċ import Ġcom . squareup . kotlin po et . Code Block Ċ import Ġcom . squareup . kotlin po et . K Modifier Ċ import Ġdev . icer ock . gradle . generator . I os MR Generator . Companion . B UNDLE _ PROPERTY _ NAME Ċ import Ġorg . gradle . api . file . File Tree Ċ import Ġorg . jetbrains . kotlin . gradle . plugin . Kotlin Source Set Ċ import Ġjava . io . File Ċ import Ġdev . icer ock . gradle . generator . Ext ends P list Dictionary Ċ import Ġorg . w 3 c . dom . Document Ċ import Ġorg . w 3 c . dom . Node Ċ Ċ class ĠI os Strings Generator ( ĊĠĠĠ Ġsource Set : ĠKotlin Source Set , ĊĠĠĠ Ġstrings File Tree : ĠFile Tree Ċ ) Ġ: ĠStrings Generator ( ĊĠĠĠ Ġsource Set Ġ= Ġsource Set , ĊĠĠĠ Ġstrings File Tree Ġ= Ġstrings File Tree Ċ ), ĠExt ends P list Dictionary Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetClass Modifiers (): ĠArray < K Modifier > Ġ= ĠarrayOf ( K Modifier . ACT UAL ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetProperty Modifiers (): ĠArray < K Modifier > Ġ= ĠarrayOf ( K Modifier . ACT UAL ) ĊĊĠĠĠ Ġoverride Ġfun ĠgetProperty Initializer ( key : ĠString ): ĠCode Block ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCode Block . of (" String Resource ( resourceId Ġ= Ġ% S , Ġbundle Ġ= Ġ$ B UNDLE _ PROPERTY _ NAME )", Ġkey ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġgenerate Resources ( ĊĠĠĠĠĠĠĠ Ġresources Generation Dir : ĠFile , ĊĠĠĠĠĠĠĠ Ġlanguage : ĠString ?, ĊĠĠĠĠĠĠĠ Ġstrings : ĠMap < KeyType , ĠString > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġres Dir Name Ġ= Ġwhen Ġ( language ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull Ġ-> Ġ" Base . l proj " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"$ language . l proj " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġres Dir Ġ= ĠFile ( resources Generation Dir , Ġres Dir Name ) ĊĠĠĠĠĠĠĠ Ġval Ġlocal izable File Ġ= ĠFile ( res Dir , Ġ" Local izable . strings ") ĊĠĠĠĠĠĠĠ Ġres Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġstrings . map Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"\" $ key \" Ġ= Ġ\"$ value \"; " ĊĠĠĠĠĠĠĠ Ġ}. join ToString ("\ n ") ĊĊĠĠĠĠĠĠĠ Ġlocal izable File . write Text ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġappend P list Info ( doc : ĠDocument , Ġroot Dict : ĠNode ) Ġ{ ĊĠĠĠĠĠĠĠ Ġroot Dict . appendChild ( doc . createElement (" key "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Content Ġ= Ġ" CF Bundle Development Region " ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġroot Dict . appendChild ( doc . createElement (" string "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtext Content Ġ= Ġ" en " ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} Ċ }