import Ġio . gitlab . art urb os ch . de te kt . Det ek t Ċ import Ġorg . gradle . api . tasks . testing . logging . Test Exception Format Ċ import Ġorg . jetbrains . changelog . markdown To HTML Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ fun Ġproperties ( key : ĠString ) Ġ= Ġproject . find Property ( key ). toString () Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġ// ĠJava Ġsupport ĊĠĠĠ Ġid (" java ") ĊĠĠĠ Ġ// ĠKotlin Ġsupport ĊĠĠĠ Ġid (" org . jetbrains . kotlin . jvm ") Ġversion Ġ" 1 . 6 . 0 " ĊĠĠĠ Ġ// Ġgradle - intellij - plugin Ġ- Ġread Ġmore : Ġhttps :// github . com / Jet Brains / gradle - intellij - plugin ĊĠĠĠ Ġid (" org . jetbrains . intellij ") Ġversion Ġ" 1 . 3 . 0 " ĊĠĠĠ Ġ// Ġgradle - changelog - plugin Ġ- Ġread Ġmore : Ġhttps :// github . com / Jet Brains / gradle - changelog - plugin ĊĠĠĠ Ġid (" org . jetbrains . changelog ") Ġversion Ġ" 1 . 3 . 1 " ĊĠĠĠ Ġ// Ġde te kt Ġlinter Ġ- Ġread Ġmore : Ġhttps :// de te kt . github . io / de te kt / kot l ind sl . html ĊĠĠĠ Ġid (" io . gitlab . art urb os ch . de te kt ") Ġversion Ġ" 1 . 1 9 . 0 " ĊĠĠĠ Ġ// Ġk tl int Ġlinter Ġ- Ġread Ġmore : Ġhttps :// github . com / JL Le its ch uh / kt lint - gradle ĊĠĠĠ Ġid (" org . jl le its ch uh . gradle . kt lint ") Ġversion Ġ" 9 . 2 . 1 " Ċ } Ċ Ċ group Ġ= Ġproperties (" plugin Group ") Ċ version Ġ= Ġproperties (" plugin Version ") Ċ // ĠConfigure Ġproject 's Ġdependencies Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġde te kt Plugins (" io . gitlab . art urb os ch . de te kt : de te kt - formatting : 1 . 1 9 . 0 ") ĊĠĠĠ Ġimplementation ( kotlin (" script - runtime ")) ĊĠĠĠ Ġimplementation (" mysql : mysql - connector - java : 5 . 1 . 3 4 ") ĊĠĠĠ Ġimplementation (" org . postgresql : postgresql : 4 2 . 1 . 4 ") ĊĠĠĠ Ġimplementation (" com . google . gu ava : gu ava : 2 9 . 0 - jre ") ĊĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter : 5 . 6 . 2 ") Ċ } Ċ Ċ // ĠConfigure Ġgradle - intellij - plugin Ġplugin . Ċ // ĠRead Ġmore : Ġhttps :// github . com / Jet Brains / gradle - intellij - plugin Ċ intellij Ġ{ ĊĠĠĠ Ġplugin Name . set ( properties (" plugin Name ")) ĊĠĠĠ Ġversion . set ( properties (" platform Version ")) ĊĠĠĠ Ġtype . set ( properties (" platform Type ")) ĊĠĠĠ Ġdownload Sources . set ( properties (" platform Download Sources "). to Boolean ()) ĊĠĠĠ Ġupdate Since Until Build . set ( true ) Ċ Ċ // Ġ ĠPlugin ĠDependencies : Ċ // Ġ Ġhttps :// www . jetbrains . org / intellij / sdk / docs / basics / plugin _ structure / plugin _ dependencies . html Ċ // Ċ // Ġ Ġset Plugins (" java ") Ċ } Ċ Ċ // ĠConfigure Ġde te kt Ġplugin . Ċ // ĠRead Ġmore : Ġhttps :// de te kt . github . io / de te kt / kot l ind sl . html Ċ de te kt Ġ{ ĊĠĠĠ Ġtool Version Ġ= Ġ" 1 . 1 9 . 0 " ĊĠĠĠ Ġconfig Ġ= Ġfiles ("./ de te kt - config . yml ") ĊĠĠĠ Ġbuild Up on Default Config Ġ= Ġtrue ĊĊĠĠĠ Ġreports Ġ{ ĊĠĠĠĠĠĠĠ Ġhtml . enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġxml . enabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġtxt . enabled Ġ= Ġfalse ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġ// ĠSet Ġthe Ġcompatibility Ġversions Ġto Ġ 1 . 8 ĊĠĠĠ Ġwith Type < Java Compile > Ġ{ ĊĠĠĠĠĠĠĠ Ġsource Compatibility Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠ Ġtarget Compatibility Ġ= Ġ" 1 1 " ĊĠĠĠ Ġ} ĊĠĠĠ ĠlistOf (" compile Kotlin ", Ġ" compile Test Kotlin "). forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġget ByName < Kotlin Compile >( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 1 " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith Type < Det ek t > Ġ{ ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 1 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpatch Plugin Xml Ġ{ ĊĠĠĠĠĠĠĠ Ġversion . set ( properties (" plugin Version ")) ĊĠĠĠĠĠĠĠ Ġsince Build . set ( properties (" plugin Since Build ")) ĊĠĠĠĠĠĠĠ Ġuntil Build . set ( properties (" plugin Until Build ")) ĊĊĠĠĠĠĠĠĠ Ġ// ĠExtract Ġthe Ġ<!-- ĠPlugin Ġdescription Ġ--> Ġsection Ġfrom ĠREADME . md Ġand Ġprovide Ġfor Ġthe Ġplugin 's Ġmanifest ĊĠĠĠĠĠĠĠ Ġplugin Description . set ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject Dir . resolve (" README . md "). read Text (). lines (). run Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstart Ġ= Ġ" <!-- ĠPlugin Ġdescription Ġ--> " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġend Ġ= Ġ" <!-- ĠPlugin Ġdescription Ġend Ġ--> " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! contains All ( listOf ( start , Ġend ))) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠGradle Exception (" Plugin Ġdescription Ġsection Ġnot Ġfound Ġin ĠREADME . md :\ n $ start Ġ... Ġ$ end ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsub List ( indexOf ( start ) Ġ+ Ġ 1 , ĠindexOf ( end )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}. join ToString ("\ n "). run Ġ{ Ġmarkdown To HTML ( this ) Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġthe Ġlatest Ġavailable Ġchange Ġnotes Ġfrom Ġthe Ġchangelog Ġfile ĊĠĠĠĠĠĠĠ Ġchange Notes . set ( provider Ġ{ Ġchangelog . get Latest (). to HTML () Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublish Plugin Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On (" patch Change log ") ĊĠĠĠĠĠĠĠ Ġtoken . set ( System . getenv (" PUBL ISH _ TOKEN ")) ĊĠĠĠĠĠĠĠ Ġ// Ġplugin Version Ġis Ġbased Ġon Ġthe ĠSem Ver Ġ( https :// semver . org ) Ġand Ġsupports Ġpre - release Ġlabels , Ġlike Ġ 2 . 1 . 7 - alpha . 3 ĊĠĠĠĠĠĠĠ Ġ// ĠSpecify Ġpre - release Ġlabel Ġto Ġpublish Ġthe Ġplugin Ġin Ġa Ġcustom ĠRelease ĠChannel Ġautomatically . ĠRead Ġmore : ĊĠĠĠĠĠĠĠ Ġ// Ġhttps :// plugins . jetbrains . com / docs / intellij / deployment . html # spec ifying - a - release - channel ĊĠĠĠĠĠĠĠ Ġchannels . set ( listOf ( properties (" plugin Version "). split ('- '). getOrElse ( 1 ) Ġ{ Ġ" default " Ġ}. split ('. '). first ())) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinclude En gin es (" junit - jupiter ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreports Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjunit Xml . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhtml . isEnabled Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexception Format Ġ= ĠTest Exception Format . FULL ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ