import ĠO SS . P om . license Name Ċ import ĠO SS . P om . license Url Ċ import ĠO SS . P om . scm Connection Ċ import ĠO SS . P om . scm Developer Connection Ċ import ĠO SS . P om . scm Url Ċ import ĠO SS . Repository . release Repo Url Ċ import ĠO SS . Repository . snapshot Repo Url Ċ import Ġcom . line corp . support . project . multi . recipe . configure ByType Having Ċ import Ġcom . line corp . support . project . multi . recipe . configure ByType Prefix Ċ import Ġcom . line corp . support . project . multi . recipe . configure ByType Suffix Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" maven - publish ") ĊĠĠĠ Ġid (" com . line corp . build - recipe - plugin ") Ġversion Ġ" 1 . 1 . 1 " ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 5 . 3 1 " ĊĠĠĠ Ġkotlin (" k apt ") Ġversion Ġ" 1 . 5 . 3 1 " ĊĠĠĠ Ġkotlin (" plugin . spring ") Ġversion Ġ" 1 . 5 . 3 1 " Ġapply Ġfalse ĊĠĠĠ Ġsigning Ċ } Ċ Ċ all projects Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠĠĠĠĠ Ġmaven Central () ĊĠĠĠ Ġ} Ċ } Ċ Ċ sub projects Ġ{ ĊĠĠĠ Ġ// ĠPrevent Ġthe Ġbuild Ġof Ġempty Ġproject Ġby Ġbuild - recipe - plugin ĊĠĠĠ Ġif Ġ(! file (" gradle . properties "). exists ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġext [" type "] Ġ= Ġnull ĊĠĠĠ Ġ} Ċ } Ċ Ċ configure ByType Prefix (" kotlin ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jetbrains . kotlin . jvm ") ĊĊĠĠĠ Ġjava Ġ{ ĊĠĠĠĠĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠĠĠĠĠ Ġwith Sources Jar () ĊĠĠĠĠĠĠĠ Ġwith Javadoc Jar () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Type < Kotlin Compile > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Type < Test > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġwith Type < Javadoc > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ġ= Ġsource Sets . main . get (). all Java ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . encoding Ġ= Ġ" UTF - 8 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġapi ( platform (" org . springframework . boot : spring - boot - dependencies : 2 . 5 . 4 ")) ĊĠĠĠĠĠĠĠ Ġapi ( platform (" org . jetbrains . kotlin : kotlin - bom : 1 . 5 . 3 0 ")) ĊĠĠĠĠĠĠĠ Ġapi ( platform (" org . jetbrains . kotlin x : kotlin x - coroutines - bom : 1 . 5 . 2 ")) ĊĠĠĠĠĠĠĠ Ġapi ( platform (" com . line corp . ar mer ia : ar mer ia - bom : 1 . 1 1 . 0 ")) ĊĠĠĠĠĠĠĠ ĠlistOf (" ret rofit ", Ġ" converter - jackson "). forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġapi ( platform (" com . squareup . ret rofit 2 :$ it : 2 . 9 . 0 ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġapi (" org . jetbrains . kotlin : kotlin - reflect ") ĊĠĠĠĠĠĠĠ Ġapi (" org . jetbrains . kotlin : kotlin - stdlib - jdk 8 ") ĊĠĠĠĠĠĠĠ Ġapi (" org . jetbrains . kotlin x : kotlin x - coroutines - core ") ĊĠĠĠĠĠĠĠ Ġapi (" org . jetbrains . kotlin x : kotlin x - coroutines - jdk 8 ") ĊĊĠĠĠĠĠĠĠ Ġtest Implementation ( kotlin (" test ")) ĊĠĠĠĠĠĠĠ Ġtest Implementation (" org . jetbrains . kotlin x : kotlin x - coroutines - test ") ĊĠĠĠĠĠĠĠ Ġtest Implementation (" org . mockito . kotlin : mockito - kotlin : 3 . 2 . 0 ") ĊĠĠĠĠĠĠĠ Ġtest Implementation (" org . assertj : assertj - core ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ configure ByType Having (" boot ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jetbrains . kotlin . k apt ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" org . jetbrains . kotlin . plugin . spring ") ĊĊĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠ Ġk apt (" org . springframework . boot : spring - boot - autoconfigure - processor : 2 . 5 . 4 ") ĊĠĠĠĠĠĠĠ Ġk apt (" org . springframework . boot : spring - boot - configuration - processor : 2 . 5 . 4 ") ĊĊĠĠĠĠĠĠĠ Ġimplementation (" org . springframework . boot : spring - boot ") ĊĠĠĠĠĠĠĠ Ġimplementation (" org . springframework . boot : spring - boot - autoconfigure ") ĊĊĠĠĠĠĠĠĠ Ġtest Implementation (" org . springframework . boot : spring - boot - starter - test ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ configure ByType Suffix (" lib ") Ġ{ ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" java - library ") ĊĠĠĠ Ġapply ( plugin Ġ= Ġ" signing ") ĊĠĠĠ Ġapply < Maven Publish Plugin >() ĊĊĠĠĠ Ġtasks Ġ{ ĊĠĠĠĠĠĠĠ Ġwith Type < Jar > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġarchive Base Name . set ( resolved ModuleName ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpublishing Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregister < Maven Publication >(" oss Publication ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġresolved ModuleName () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġafter Evaluate Ġ{ Ġfrom ( components [" java "]) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( OSS . P om . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set ( OSS . P om . description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( OSS . P om . url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpackaging Ġ= Ġ" jar " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( license Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( license Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠO SS . P om . developers . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set ( it [" id "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set ( it [" name "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set ( it [" email "]) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set ( scm Connection ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Connection . set ( scm Developer Connection ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set ( scm Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Url ( if Ġ( version . endsWith (" SNAPSHOT ")) Ġsnapshot Repo Url Ġelse Ġrelease Repo Url ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= ĠgetProperty (" oss rh _ username ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= ĠgetProperty (" oss rh _ password ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġsigning Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse InMemory P gp Keys ( getProperty (" signing _ secret Key "), ĠgetProperty (" signing _ password ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsign ( publishing . publications [" oss Publication "]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ