import Ġkotlin . Suppress Ċ import Ġorg . jetbrains . dok ka . gradle . D ok ka Task Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" jvm ") ĊĠĠĠ Ġid (" org . jl le its ch uh . gradle . kt lint ") ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġid (" org . jetbrains . dok ka ") Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" stdlib ")) ĊĠĠĠ Ġimplementation ( kotlin (" reflect ")) ĊĊĠĠĠ Ġtest Implementation ( kotlin (" test ")) ĊĊĠĠĠ Ġval Ġjunit Version Ġ= Ġ" 5 . 6 . 1 " ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter - api :$ junit Version ") ĊĠĠĠ Ġtest Runtime Only (" org . junit . jupiter : junit - jupiter - engine :$ junit Version ") Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠĠĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġevents (" passed ", Ġ" skipped ", Ġ" failed ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") ĊĠĠĠ Ġval Ġsource Jar Ġby Ġregistering ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠĠĠĠĠ Ġfrom ( source Sets . main . get (). all Source ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") ĊĠĠĠ Ġval Ġdok ka Ġby Ġgetting ( D ok ka Task :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput Format Ġ= Ġ" html " ĊĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġ"$ build Dir / dok ka " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġdok ka Javadoc Ġby Ġregistering ( D ok ka Task :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput Format Ġ= Ġ" javadoc " ĊĠĠĠĠĠĠĠ Ġoutput Directory Ġ= Ġthis @ tasks . javadoc . get (). destination Dir !!. path ĊĠĠĠĠĠĠĠ Ġinputs . dir (" src / main / kotlin ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") ĊĠĠĠ Ġval Ġjavadoc Jar Ġby Ġregistering ( Jar :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" documentation " ĊĠĠĠĠĠĠĠ Ġdepends On ( dok ka Javadoc ) ĊĠĠĠĠĠĠĠ Ġarchive Classifier . set (" javadoc ") ĊĠĠĠĠĠĠĠ Ġfrom ( this @ tasks . javadoc . get (). destination Dir !! ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type ( Kotlin Compile :: class . java ) Ġ{ ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠ Ġlanguage Version Ġ= Ġ" 1 . 4 " ĊĠĠĠĠĠĠĠ Ġfree Compiler Args Ġ= ĠlistOf ("- XX Language :+ Inline Classes ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" GitHub Packages " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" https :// maven . pkg . github . com / ile as ile /${ root Project . name }") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġproject . find Property (" g pr . user ") Ġas ĠString ? Ġ?: ĠSystem . getenv (" USERNAME ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġproject . find Property (" g pr . key ") Ġas ĠString ? Ġ?: ĠSystem . getenv (" TOKEN ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" g pr ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġroot Project . name ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks [" source Jar "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks [" javadoc Jar "]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ