import Ġorg . jetbrains . changelog . markdown To HTML Ċ Ċ fun Ġproperties ( key : ĠString ) Ġ= Ġproject . find Property ( key ). toString () Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" java ") ĊĠĠĠ Ġid (" org . jetbrains . intellij ") Ġversion Ġ" 1 . 0 " ĊĠĠĠ Ġid (" org . jetbrains . changelog ") Ġversion Ġ" 1 . 1 . 2 " Ċ } Ċ Ċ group Ġ= Ġproperties (" plugin Group ") Ċ version Ġ= Ġproperties (" plugin Version ") Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġmaven ( url Ġ= Ġ" https :// jit pack . io ") Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter - api : 5 . 6 . 0 ") ĊĠĠĠ Ġtest Runtime Only (" org . junit . jupiter : junit - jupiter - engine ") ĊĠĠĠ Ġimplementation (" com . github . st le ary : JSON - java : 2 0 2 1 0 3 0 7 ") Ċ } Ċ Ċ // ĠSee Ġ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 ) ĊĠĠĠ Ġplugins . set ( properties (" platform Plugins "). split (',' ). map ( String :: trim ). filter ( String :: isNotEmpty )) Ċ } Ċ Ċ changelog Ġ{ ĊĠĠĠ Ġversion Ġ= Ġproperties (" plugin Version ") ĊĠĠĠ Ġgroups Ġ= Ġempty List () Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġpatch Plugin Xml Ġ{ ĊĠĠĠĠĠĠĠ Ġversion . set ( properties (" plugin Version ")) ĊĠĠĠĠĠĠĠ Ġsince Build . set ( properties (" plugin Since Build ")) ĊĠĠĠĠĠĠĠ Ġuntil Build . set ( properties (" plugin Until Build ")) ĊĊĠĠĠĠĠĠĠ Ġ// ĠGet Ġthe Ġlatest Ġavailable Ġchange Ġnotes Ġfrom Ġthe Ġchangelog Ġfile ĊĠĠĠĠĠĠĠ Ġchange Notes . set ( File ( project Dir , Ġ" CHANGELOG . md "). read Text (). lines (). join ToString ("\ n "). run Ġ{ Ġmarkdown To HTML ( this ) Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrun Plugin Verifier Ġ{ ĊĠĠĠĠĠĠĠ Ġide Versions . set ( properties (" plugin Verifier Ide Versions "). split (',' ). map ( String :: trim ). filter ( String :: isNotEmpty )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsign Plugin Ġ{ ĊĠĠĠĠĠĠĠ Ġcertificate Chain . set ( System . getenv (" OPEN SSL _ CER TIFICATE ")) ĊĠĠĠĠĠĠĠ ĠprivateKey . set ( System . getenv (" OPEN SSL _ CER TIFICATE _ PRIVATE _ KEY ")) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġpublish Plugin Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On (" patch Plugin Xml ") ĊĠĠĠĠĠĠĠ Ġ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 ())) ĊĠĠĠ Ġ} Ċ }