@ file : Suppress (" Un stable Api Usage ") Ċ Ċ package Ġcore . internal . impl Ċ Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . file .* Ċ import Ġorg . gradle . api . provider . List Property Ċ import Ġorg . gradle . api . tasks .* Ċ import Ġjava . io . File Ċ import Ġjava . lang . RuntimeException Ċ Ċ abstract Ġclass ĠInternal Directory Producer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : Output Directory ĊĠĠĠ Ġabstract Ġval Ġoutput Artifact : ĠDirectory Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Output : Ġ${ output Artifact . get (). as File }") ĊĠĠĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠInternal Directory Consumer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : Input Directory ĊĠĠĠ Ġ@ get : Path Sensitive ( Path Sensitivity . REL ATIVE ) ĊĠĠĠ Ġabstract Ġval Ġinput Artifact : ĠDirectory Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Input : Ġ${ input Artifact . get (). as File }") ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ abstract Ġclass ĠInternal File Consumer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : Input File ĊĠĠĠ Ġ@ get : Path Sensitive ( Path Sensitivity . REL ATIVE ) ĊĠĠĠ Ġabstract Ġval Ġinput Artifact : ĠRegular File Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Input : Ġ${ input Artifact . get (). as File }") ĊĠĠĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠInternal File Producer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : OutputFile ĊĠĠĠ Ġabstract Ġval Ġoutput Artifact : ĠRegular File Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Output : Ġ${ output Artifact . get (). as File }") ĊĠĠĠĠĠĠĠ Ġoutput Artifact . get (). as File . write Text (" foo \ n ") ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ abstract Ġclass ĠInternal Multi To Single File Transformer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġabstract Ġval Ġinput Artifacts : ĠList Property < Regular File > ĊĊĠĠĠ Ġ@ get : OutputFile ĊĠĠĠ Ġabstract Ġval Ġoutput Artifact : ĠRegular File Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġinput Artifacts . get ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ t Input ${ index ++ }: Ġ${ file . as File }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprintln ("\ t --- ") ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Output : Ġ${ output Artifact . get (). as File }") ĊĠĠĠĠĠĠĠ Ġoutput Artifact . get (). as File . write Text (" foo \ n ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠInternal Multi To Single Directory Transformer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġabstract Ġval Ġinput Artifacts : ĠList Property < Directory > ĊĊĠĠĠ Ġ@ get : Output Directory ĊĠĠĠ Ġabstract Ġval Ġoutput Artifact : ĠDirectory Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġinput Artifacts . get ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ t Input ${ index ++ }: Ġ${ file . as File }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprintln ("\ t --- ") ĊĠĠĠĠĠĠĠ Ġval Ġfolder Ġ= Ġoutput Artifact . get (). as File ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Output : Ġ$ folder ") ĊĠĠĠĠĠĠĠ Ġfolder . mkdir s () ĊĠĠĠĠĠĠĠ ĠFile ( folder , Ġ" foo . txt "). write Text (" foo \ n ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ abstract Ġclass ĠInternal Mixed To Single File Transformer Task Ġ: ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġabstract Ġval Ġinput Artifacts : ĠList Property < FileSystem Location > ĊĊĠĠĠ Ġ@ get : OutputFile ĊĠĠĠ Ġabstract Ġval Ġoutput Artifact : ĠRegular File Property ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġinput Artifacts . get ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ t Input ${ index ++ }: Ġ${ file . as File } Ġ(${ getType ( file )}) ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġprintln ("\ t --- ") ĊĠĠĠĠĠĠĠ Ġprintln ("\ t Output : Ġ${ output Artifact . get (). as File }") ĊĠĠĠĠĠĠĠ Ġoutput Artifact . get (). as File . write Text (" foo \ n ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetType ( file : ĠFileSystem Location ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen ( file ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDirectory Ġ-> Ġ" Directory " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠRegular File Ġ-> Ġ" File " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠRuntimeException (" unsupported ĠFileSystem Location : Ġ${ file . java Class }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Suppress (" Un stable Api Usage ") Ċ abstract Ġclass ĠInternal FileList Consumer Task Ġ: ĠDefault Task () Ġ{ ĊĠĠĠ Ġ@ get : Input Files ĊĠĠĠ Ġ@ get : Path Sensitive ( Path Sensitivity . REL ATIVE ) ĊĠĠĠ Ġabstract Ġval Ġinput Artifacts : ĠList Property < Regular File > ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġaction () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ( name ) ĊĠĠĠĠĠĠĠ Ġvar Ġindex Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġfor Ġ( file Ġin Ġinput Artifacts . get ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln ("\ t Input ${ index ++ }: Ġ${ file . as File }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ