import Ġjava . net . URI Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġbase ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġid (" com . jfrog . bin tray ") Ġversion Ġ" 1 . 8 . 4 " Ċ } Ċ Ċ apply ( from Ġ= Ġ"../../ gradle / versions . gradle . k ts ") Ċ Ċ val Ġandroid Build Tools Version Ġ= Ġextra [" versions . android Build Tools "] Ġas ĠString Ċ val Ġandroid Dx Sources Version Ġ= Ġextra [" versions . android Dx Sources "] Ġas ĠString Ċ Ċ group Ġ= Ġ" org . jetbrains . kotlin " Ċ version Ġ= Ġandroid Build Tools Version Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġiv y Ġ{ ĊĠĠĠĠĠĠĠ Ġurl Ġ= ĠURI (" https :// dl . google . com / android / repository ") ĊĊĠĠĠĠĠĠĠ Ġpattern Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ("[ artifact ] _[ revision ]( -[ classifier ]). [ ext ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmetadata Sources Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġiv y Ġ{ ĊĠĠĠĠĠĠĠ Ġurl Ġ= ĠURI (" https :// android . google source . com / platform / dal vik /+ archive / android -$ android Dx Sources Version ") ĊĊĠĠĠĠĠĠĠ Ġpattern Layout Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ("[ artifact ].[ ext ]") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġmetadata Sources Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġandroid Build Tools Ġby Ġconfigurations . creating Ċ val Ġandroid Dx Sources Ġby Ġconfigurations . creating Ċ Ċ val Ġandroid Dx Revision Ġ= Ġandroid Build Tools Version Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġandroid Build Tools (" google : build - tools :$ android Build Tools Version : linux @ zip ") ĊĠĠĠ Ġandroid Dx Sources (" google : dx : 0 @ tar . gz ") Ċ } Ċ Ċ val Ġunzip Dx Jar Ġby Ġtasks . register ing Ġ{ ĊĠĠĠ Ġval Ġoutput Dir Ġ= ĠFile ( build Dir , Ġname ) ĊĠĠĠ Ġval ĠoutputFile Ġ= ĠFile ( output Dir , Ġ" dx . jar ") ĊĊĠĠĠ Ġdepends On ( android Build Tools ) ĊĠĠĠ Ġinputs . files ( android Build Tools ) ĊĠĠĠ Ġoutputs . files ( outputFile ) ĊĊĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( zip Tree ( android Build Tools . single File ). files ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude (" **/ dx . jar ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinto ( output Dir ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġunt ar Dx Sources Ġby Ġtasks . register ing Ġ{ ĊĠĠĠ Ġval Ġdx Sources Target Dir Ġ= ĠFile ( build Dir , Ġname ) ĊĠĠĠ Ġdepends On ( android Dx Sources ) ĊĠĠĠ Ġinputs . files ( android Dx Sources ) ĊĠĠĠ Ġoutputs . dir ( dx Sources Target Dir ) ĊĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠ Ġproject . copy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( tar Tree ( android Dx Sources . single File )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude (" src /** ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude Empty Dirs Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinto ( dx Sources Target Dir ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġprepare Dx Sources Jar Ġby Ġtasks . register ing ( Jar :: class ) Ġ{ ĊĠĠĠ Ġdepends On ( unt ar Dx Sources ) ĊĠĠĠ Ġfrom ( unt ar Dx Sources ) ĊĊĠĠĠ Ġarchive Classifier . set (" sources ") Ċ } Ċ Ċ val Ġdx Artifact Ġ= Ġartifacts . add (" default ", Ġunzip Dx Jar . outputs . files . single File ) Ġ{ ĊĠĠĠ Ġbuilt By ( unzip Dx Jar ) Ċ } Ċ Ċ artifacts . add (" archives ", Ġdx Artifact ) Ċ artifacts . add (" archives ", Ġprepare Dx Sources Jar ) Ċ Ċ apply ( from ="../ publishing . gradle . k ts ") Ċ