@ Suppress (" PropertyName ") Ċ val ĠMAIN _ CLASS _ NAME Ġ= Ġ" df xyz . portal . Main " Ċ Ċ val Ġcore Runtime Classpath Ġby Ġlazy Ġ{ ĊĠĠĠ Ġproject (": portal - core ") ĊĠĠĠĠĠĠĠ Ġ. convention . get Plugin < Java Plugin Convention >() ĊĠĠĠĠĠĠĠ Ġ. source Sets [ Source Set . MAIN _ SOURCE _ SET _ NAME ] ĊĠĠĠĠĠĠĠ Ġ. runtime Classpath Ċ } Ċ val Ġcore Jar Task Ġ= Ġtasks . getBy Path (": portal - core : jar ") Ġas ĠJar Ċ Ċ val Ġweb Runtime Path Ġ= Ġ"${ project (": portal - web "). build Dir }/ resources " Ċ val Ġweb Jar Task Ġ= Ġtasks . getBy Path (": portal - web : jar ") Ġas ĠJar Ċ Ċ inline Ġfun Ġ< re ified ĠT Ġ: ĠTask > Ġregister Task ( name : ĠString , Ġno inline Ġblock : ĠT . () Ġ-> ĠUnit ): ĠTask Provider < T > Ġ{ ĊĠĠĠ Ġreturn Ġtasks . register ( name , ĠT :: class . java ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" application " ĊĠĠĠĠĠĠĠ Ġblock () ĊĠĠĠ Ġ} Ċ } Ċ Ċ register Task < Java Exec >(" run ") Ġ{ ĊĠĠĠ Ġdepends On (": portal - core : main Classes ", Ġ": portal - web : main Classes ") ĊĠĠĠ Ġmain Ġ= ĠMAIN _ CLASS _ NAME ĊĠĠĠ Ġj vm Args Ġ= ĠlistOf ("- D file . encoding = UTF - 8 ") ĊĠĠĠ Ġargs Ġ= ĠlistOf (" run ") ĊĠĠĠ Ġclasspath Ġ= Ġfiles ( core Runtime Classpath , Ġweb Runtime Path ) Ċ } Ċ Ċ val Ġcollect Dependencies Task Ġ= Ġregister Task < Sync >(" collect Dependencies ") Ġ{ ĊĠĠĠ Ġdepends On ( core Jar Task , Ġweb Jar Task ) ĊĠĠĠ Ġfrom ( core Runtime Classpath ) Ġ{ Ġexclude Ġ{ Ġit . isDirectory Ġ} Ġ} ĊĠĠĠ Ġfrom ( core Jar Task . archive File ) ĊĠĠĠ Ġfrom ( web Jar Task . archive File ) ĊĠĠĠ Ġinto (" lib ") Ċ } Ċ Ċ val Ġcreate Start Scripts Task Ġ= Ġregister Task < Create Start Scripts >(" create Start Scripts ") Ġ{ ĊĠĠĠ Ġapplication Name Ġ= Ġproject . name ĊĠĠĠ Ġmain ClassName Ġ= ĠMAIN _ CLASS _ NAME ĊĠĠĠ Ġdefault Jvm Opts Ġ= ĠlistOf ("- D file . encoding = UTF - 8 ") ĊĠĠĠ Ġclasspath Ġ= Ġcollect Dependencies Task . get (). source ĊĠĠĠ Ġoutput Dir Ġ= Ġfile (" bin ") ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġunix Script . read Text (). replace (" cd Ġ\" \$ SA VED \" Ġ>/ dev / null \ n ", Ġ""). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġunix Script . write Text ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwindows Script . read Text (). replace ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" set ĠAPP _ HOME =% DIR NAME % ..\ r \ n ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" set ĠAPP _ HOME =% DIR NAME % ..\ r \ n cd Ġ/ d Ġ% APP _ HOME %\ r \ n " ĊĠĠĠĠĠĠĠ Ġ). also Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwindows Script . write Text ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ register Task < Task >(" install ") Ġ{ ĊĠĠĠ Ġdepends On ( collect Dependencies Task , Ġcreate Start Scripts Task ) Ċ } Ċ Ċ register Task < Delete >(" uninstall ") Ġ{ ĊĠĠĠ Ġdelete (" bin ", Ġ" lib ") Ċ } Ċ