plugins Ġ{ ĊĠĠĠ Ġ` java - gradle - plugin ` ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġid (" com . gradle . plugin - publish ") Ġversion Ġ" 0 . 1 9 . 0 " Ċ } Ċ Ċ group Ġ= Ġ" au . com . helix ta . adl . gradle " Ċ version Ġ= Ġ" 1 . 0 . 0 " Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġgradle Plugin Portal () Ċ } Ċ Ċ gradle Plugin Ġ{ ĊĠĠĠ Ġplugins Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate (" adl Plugin ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" au . com . helix ta . adl " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation Class Ġ= Ġ" au . com . helix ta . adl . gradle . Ad l Gradle Plugin " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdisplayName Ġ= Ġ" AD L ĠGradle ĠPlugin " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Generate Ġcode Ġfrom ĠA DL Ġ( Algebra ic ĠData ĠLanguage ) Ġdefinitions ." ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ plugin Bundle Ġ{ ĊĠĠĠ Ġwebsite Ġ= Ġ" https :// bitbucket . org / pr unge / adl - gradle - plugin " ĊĠĠĠ Ġv cs Url Ġ= Ġ" https :// bitbucket . org / pr unge / adl - gradle - plugin " ĊĠĠĠ Ġtags Ġ= ĠlistOf (" generate ", Ġ" code - generation ", Ġ" adl ") ĊĠĠĠ Ġdescription Ġ= Ġ" Generate Ġcode Ġfrom ĠA DL Ġ( Algebra ic ĠData ĠLanguage ) Ġdefinitions ." Ċ } Ċ Ċ java Ġ{ ĊĠĠĠ Ġtoolchain Ġ{ ĊĠĠĠĠĠĠĠ Ġlanguage Version . set ( Java Language Version . of ( 8 )) ĊĠĠĠ Ġ} ĊĠĠĠ Ġwith Sources Jar () ĊĠĠĠ Ġwith Javadoc Jar () Ċ } Ċ Ċ tasks . jar Ġ{ ĊĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠ Ġattributes ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Implementation - Version " Ġto Ġarchive Version ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ open Ġclass ĠGradle Functional Test Ġ: ĠTest () Ġ{ ĊĠĠĠ Ġ@ Option ( option Ġ= Ġ" grad let est ", Ġdescription Ġ= Ġ" Only Ġrun Ġfunctional Ġtests Ġwhose Ġproject Ġnames Ġmatch Ġthis Ġregexp Ġpattern .") ĊĠĠĠ Ġfun Ġset Grad let est ( grad let est : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsystem Property (" grad let est ", Ġgrad let est ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġgradle Test Filtering Used (): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsystem Properties . get (" grad let est ") Ġ!= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġfunctional Test Ġby Ġsource Sets . creating Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation (" com . github . docker - java : docker - java - core : 3 . 2 . 7 ") ĊĠĠĠ Ġimplementation (" com . github . docker - java : docker - java - transport - http client 5 : 3 . 2 . 7 ") ĊĠĠĠ Ġimplementation (" com . github . node - gradle : gradle - node - plugin : 3 . 1 . 0 ") ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter - api : 5 . 7 . 1 ") ĊĠĠĠ Ġ" functional Test Implementation " (" org . junit . jupiter : junit - jupiter - api : 5 . 7 . 1 ") ĊĠĠĠ Ġ" functional Test Implementation " (" org . assertj : assertj - core : 3 . 1 8 . 1 ") ĊĠĠĠ Ġ" functional Test Runtime Only " (" org . junit . jupiter : junit - jupiter - engine ") ĊĠĠĠ Ġ" functional Test Implementation " (" io . github . class graph : class graph : 4 . 8 . 1 0 4 ") ĊĠĠĠ Ġtest Implementation (" org . assertj : assertj - core : 3 . 1 8 . 1 ") ĊĠĠĠ Ġtest Implementation (" com . github . jav ap ar ser : jav ap ar ser - core : 3 . 1 8 . 0 ") ĊĠĠĠ Ġtest Runtime Only (" org . junit . jupiter : junit - jupiter - engine ") ĊĠĠĠ Ġtest Implementation (" org . mockito : mockito - junit - jupiter : 3 . 1 1 . 2 ") Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġval Ġclean Full Ġby Ġregistering ( Delete :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( clean ) ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Deletes Ġthe Ġbuild Ġdirectory Ġand Ġthe Ġfunctional Ġtest Ġworkspace Ġhome Ġdirectory " ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" build " ĊĠĠĠĠĠĠĠ Ġdelete (" build - home ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġrun Functional Tests Ġby Ġregistering ( Gradle Functional Test :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" verification " ĊĠĠĠĠĠĠĠ Ġtest Classes Dirs Ġ= Ġfunctional Test . output . classes Dirs ĊĠĠĠĠĠĠĠ Ġclasspath Ġ= Ġfunctional Test . runtime Classpath ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠĠĠĠĠ Ġsystem Property (" test . project workspace . directory ", Ġlayout . build Directory . dir (" fun ctest "). get (). as File . path ) ĊĠĠĠĠĠĠĠ Ġsystem Property (" test . test kit . directory ", Ġlayout . project Directory . dir (" build - home "). as File . path ) ĊĠĠĠĠĠĠĠ Ġoutputs . dir ( layout . build Directory . dir (" fun ctest ")) ĊĠĠĠĠĠĠĠ Ġworking Dir ( layout . build Directory . dir (" fun ctest ")) ĊĊĠĠĠĠĠĠĠ Ġadd Test Listener ( object Ġ: ĠTest Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore Suite ( suite : ĠTest Descriptor ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore Test ( test Descriptor : ĠTest Descriptor ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Print Ġnames Ġof Ġtests Ġafter Ġthey Ġrun ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter Test ( test Descriptor : ĠTest Descriptor , Ġresult : ĠTest Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( result . result Type Ġ!= ĠTest Result . Result Type . SKIP PED Ġ|| Ġgradle Test Filtering Used ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . lifecycle ("\ t ${ result . result Type } Ġ- Ġ${ test Descriptor . className ?. substring After Last (". ")} Ġ: Ġ${ test Descriptor . displayName }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Print Ġsuite Ġclass Ġnames Ġthat Ġare Ġfull Ġof Ġskipped Ġtests Ġthat Ġindicate Ġthey Ġcontain Ġtests Ġthat Ġcannot Ġrun Ġon Ġthis Ġplatform ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter Suite ( suite : ĠTest Descriptor , Ġresult : ĠTest Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! gradle Test Filtering Used ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( suite . className Ġ!= Ġnull Ġ&& Ġresult . skipped Test Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn ("\ t Integration Ġtests Ġin Ġ${ suite . name } Ġcannot Ġrun Ġon Ġthis Ġplatform Ġ- Ġthey Ġare Ġbeing Ġskipped .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcheck Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( run Functional Tests ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġgradle Plugin Ġ{ ĊĠĠĠĠĠĠĠ Ġtest Source Sets ( functional Test ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġjavadoc Ġ{ ĊĠĠĠĠĠĠĠ Ġoptions . output Level Ġ= ĠJ avadoc Output Level . QUI ET ĊĠĠĠĠĠĠĠ Ġoptions . quiet () ĊĠĠĠĠĠĠĠ Ġif Ġ( options Ġis ĠStandard Javadoc Doc let Options ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( options Ġas ĠStandard Javadoc Doc let Options ). add String Option (" X doc lint : none ", Ġ"- quiet ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // For Ġtesting Ġplugin Ġpublishing Ċ // publishing Ġ{ Ċ // ĠĠĠ Ġrepositories Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġmaven Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" local Plugin Repository " Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ("../ local - plugin - repository ") Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} Ċ //} Ċ