@ file : Suppress (" Un stable Api Usage ") Ċ Ċ package Ġio . pap erm c . yarn Ċ Ċ import Ġcom . github . sal om on br ys . kot son . fromJson Ċ import Ġcom . google . common . io . Byte Source Ċ import Ġcom . google . common . io . Files Ġas ĠG Files Ċ import Ġcom . google . gson . Gson Ċ import Ġde . under couch . gradle . tasks . download . Download Action Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . Task Ċ import Ġorg . gradle . api . file . Directory Property Ċ import Ġorg . gradle . api . file . Regular File Ċ import Ġorg . gradle . api . file . Regular File Property Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġjava . io . File Ċ import Ġjava . nio . file . Path Ċ Ċ val Ġgson Ġ= ĠGson () Ċ Ċ val ĠFile . byte Source : ĠByte Source ĊĠĠĠ Ġget () Ġ= ĠG Files . as Byte Source ( this ) Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠAny > ĠFile . json (): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġbuffered Reader (). use Ġ{ Ġreader Ġ-> ĊĠĠĠĠĠĠĠ Ġgson . fromJson ( reader ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠProject . download ( configure : ĠDownload Action . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġaction Ġ= ĠDownload Action ( this ) ĊĠĠĠ Ġaction . configure () ĊĠĠĠ Ġaction . execute () Ċ } Ċ Ċ fun ĠTask . download ( configure : ĠDownload Action . () Ġ-> ĠUnit ) Ġ{ ĊĠĠĠ Ġval Ġaction Ġ= ĠDownload Action ( project , Ġthis ) ĊĠĠĠ Ġaction . configure () ĊĠĠĠ Ġaction . execute () Ċ } Ċ Ċ fun ĠProject . outputFile ( file : ĠAny ): ĠFile Ġ{ ĊĠĠĠ Ġval Ġf Ġ= Ġproject . file ( file ) ĊĠĠĠ Ġf . parent File . let Ġ{ Ġparent Ġ-> ĊĠĠĠĠĠĠĠ Ġif Ġ(! parent . exists ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġparent . mkdir s () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġif Ġ( f . exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġf . delete Re cursively () ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġf Ċ } Ċ fun ĠTask . outputFile ( file : ĠAny ): ĠFile Ġ{ ĊĠĠĠ Ġreturn Ġproject . outputFile ( file ) Ċ } Ċ Ċ val ĠRegular File Property . file : ĠFile ĊĠĠĠ Ġget () Ġ= Ġget (). as File Ċ val ĠRegular File Property . path : ĠPath ĊĠĠĠ Ġget () Ġ= Ġfile . to Path () Ċ val ĠDirectory Property . file : ĠFile ĊĠĠĠ Ġget () Ġ= Ġget (). as File Ċ