import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġorg . springframework . boot . gradle . tasks . bund ling . Boot Jar Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġ` java - library ` ĊĠĠĠ Ġid (" org . springframework . boot ") Ġversion Ġ" 2 . 2 . 4 . RELEASE " Ġapply Ġfalse ĊĠĠĠ Ġid (" io . spring . dependency - management ") Ġversion Ġ" 1 . 0 . 9 . RELEASE " Ġapply Ġfalse ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 3 . 6 1 " Ġapply Ġfalse ĊĠĠĠ Ġkotlin (" plugin . spring ") Ġversion Ġ" 1 . 3 . 6 1 " Ġapply Ġfalse ĊĠĠĠ Ġid (" idea ") ĊĠĠĠ Ġid Ġ(" net . research gate . release ") Ġversion Ġ" 2 . 6 . 0 " ĊĠĠĠ Ġmaven ĊĠĠĠ Ġ` maven - publish ` Ċ } Ċ Ċ apply ( from Ġ= Ġ" gradle / integration Test . gradle ") Ċ Ċ group Ġ= Ġ" de . ro aming things . workbench " Ċ Ċ fun ĠProject . env Config () Ġ= Ġobject Ġ: Ġkotlin . properties . ReadOnly Property < Any ?, ĠString ?> Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetValue ( this Ref : ĠAny ?, Ġproperty : Ġkotlin . reflect . K Property < *> ): ĠString ? Ġ= ĊĠĠĠĠĠĠĠ Ġif Ġ( extensions . extra Properties . has ( property . name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġextensions . extra Properties [ property . name ] Ġas ? ĠString ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . getenv ( property . name ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ release Ġ{ ĊĠĠĠ Ġbuild Tasks Ġ= ĠlistOf (" release Build ") Ċ } Ċ Ċ tasks . register (" release Build ") Ġ{ ĊĠĠĠ Ġdepends On ( sub projects . map Ġ{ Ġit . tasks . find ByName (" build ") Ġ}) Ċ } Ċ Ċ sub projects Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" maven - publish ") ĊĊĠĠĠ Ġgroup Ġ= Ġ" de . ro aming things . workbench " ĊĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠĠĠĠĠ Ġj center () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Kotlin Compile >(). configure Each Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuppress Warnings Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġjava Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠĠĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsources Jar Ġby Ġcreating ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( Java Plugin . CLASSES _ TASK _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( source Sets [" main "]. all Source ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġjavadoc Jar Ġby Ġcreating ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdepends On ( Java Plugin . J AV AD OC _ TASK _ NAME ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( javadoc ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġartifacts Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarch ives ( sources Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarch ives ( javadoc Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarch ives ( jar ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks . with Type < Javadoc >() Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( Java Version . current (). is Java 8 Compatible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( options Ġas ĠStandard Javadoc Doc let Options ). add String Option (" X doc lint : none ", Ġ"- quiet ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( Java Version . current (). is Java 9 Compatible ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( options Ġas ĠStandard Javadoc Doc let Options ). add Boolean Option (" html 5 ", Ġtrue ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġrepository User Ġby Ġenv Config () ĊĠĠĠ Ġval Ġrepository Password Ġby Ġenv Config () ĊĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Maven Central " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġreleases Repo Url Ġ= Ġ" https :// oss . son atype . org / service / local / staging / deploy / maven 2 " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsnapshots Repo Url Ġ= Ġ" https :// oss . son atype . org / content / repositories / snapshots " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri ( if Ġ( version . toString (). endsWith (" SNAPSHOT ")) Ġsnapshots Repo Url Ġelse Ġreleases Repo Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġrepository User ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġrepository Password ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" maven Java ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks [" sources Jar "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks [" javadoc Jar "]) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Sample ĠSpring ĠBoot ĠSt arter ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set (" A ĠSpring ĠBoot ĠSt arter Ġexample .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// < Website Ġor ĠRepository ĠURL >") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" The ĠApache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set ("< Developer ĠId >") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ("< Developer ĠName >") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set ("< Developer ĠEmail >") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set (" https :// < Repository ĠURL >. git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Connection . set (" https :// < Repository ĠURL >. git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// < Website ĠURL >") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . named (" after Release Build ") Ġ{ ĊĠĠĠ Ġdepends On ( listOf ( ĊĠĠĠĠĠĠĠ Ġ": gradle - workbench - spring - boot - autoconfigure : publish ", ĊĠĠĠĠĠĠĠ Ġ": gradle - workbench - spring - boot - autoconfigure - starter : publish ", ĊĠĠĠĠĠĠĠ Ġ": gre et - library : publish ", ĊĠĠĠĠĠĠĠ Ġ": gre et - opt - library : publish ") ĊĠĠĠ Ġ) Ċ } Ċ