import Ġorg . jetbrains . changelog . Change log Plugin Extension Ċ import Ġorg . jetbrains . gradle . ext . package Prefix Ċ import Ġorg . jetbrains . gradle . ext . settings Ċ import Ġorg . jetbrains . intellij . tasks . Run Ide Base Ċ import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" jvm ") ĊĠĠĠ Ġid (" org . jetbrains . intellij ") ĊĠĠĠ Ġid (" org . jetbrains . changelog ") ĊĠĠĠ Ġid (" org . jetbrains . gradle . plugin . idea - ext ") ĊĠĠĠ Ġid (" com . n ise coder . github - pages . asci ido ctor ") ĊĠĠĠ Ġid (" org . asci ido ctor . jvm . convert ") ĊĠĠĠ Ġid (" com . n ise coder . github - release - upload ") ĊĠĠĠ Ġ` maven - publish ` Ċ } Ċ Ċ group Ġ= Ġ" com . line corp . intellij " Ċ // Ġinject Ġin ĠGitHub ĠAction ĠPublish ĠWorkflow Ċ val Ġpublish Version : ĠString ? Ġby Ġproject Ċ version Ġ= Ġif Ġ( publish Version ?. isNotEmpty () Ġ== Ġtrue ) Ġ{ ĊĠĠĠ Ġpublish Version !!. replace First (" refs / tags / v ", Ġ"") Ċ } Ġelse Ġ{ ĊĠĠĠ Ġ" 1 . 0 - SNAPSHOT " Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" stdlib ")) Ċ } Ċ Ċ idea Ġ{ ĊĠĠĠ Ġmodule Ġ{ ĊĠĠĠĠĠĠĠ Ġsettings Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Prefix [" src / main / kotlin "] Ġ= Ġ" com . line corp . intellij . plugins . ar mer ia " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpackage Prefix [" src / test / kotlin "] Ġ= Ġ" com . line corp . intellij . plugins . ar mer ia " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠSee Ġhttps :// github . com / Jet Brains / gradle - intellij - plugin / Ċ intellij Ġ{ ĊĠĠĠ Ġversion . set (" 2 0 2 2 . 1 ") ĊĠĠĠ Ġtype . set (" IU ") ĊĠĠĠ Ġdownload Sources . set ( true ) ĊĠĠĠ Ġplugins . set ( listOf ( ĊĠĠĠĠĠĠĠ Ġ" org . jetbrains . plugins . gradle ", ĊĠĠĠĠĠĠĠ Ġ" grpc " ĊĠĠĠ Ġ)) Ċ } Ċ Ċ kotlin Ġ{ ĊĠĠĠ Ġj vm Tool chain Ġ{ ĊĠĠĠĠĠĠĠ Ġ( this Ġas ĠJava Tool chain Spec ). language Version . set ( Java Language Version . of ( 1 1 )) ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġwith Type < Run Ide Base >(). configure Each Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġavoid Ġwarning Ġlog ĊĠĠĠĠĠĠĠ Ġj vm Args ("-- add - exports ", Ġ" java . base / jdk . internal . vm = ALL - UN NAMED ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġrun Ide Ġ{ ĊĠĠĠĠĠĠĠ Ġauto Reload Plugins . set ( true ) ĊĠĠĠĠĠĠĠ Ġmax Heap Size Ġ= Ġ" 2 g " ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġchangelog : ĠChangelog Plugin Extension Ġ= Ġextensions . getBy Type () ĊĠĠĠ Ġpatch Plugin Xml Ġ{ ĊĠĠĠĠĠĠĠ Ġchange Notes . set ( provider Ġ{ Ġchangelog . get Latest (). to HTML ()} Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith Type < Kotlin Compile >(). configure Each Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠapiVersion Ġ= Ġ" 1 . 6 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlanguage Version Ġ= Ġ" 1 . 6 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjava Parameters Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġgithub Release Upload Ġ{ ĊĠĠĠĠĠĠĠ Ġgithub Repository . set (" n ise - n abe / ar mer ia - intellij - plugin ") ĊĠĠĠĠĠĠĠ Ġval Ġcredentials Ġ= Ġproviders . credentials ( Password Credentials :: class , Ġ" GitHub ") ĊĠĠĠĠĠĠĠ Ġgithub Token . set ( credentials . map Ġ{ Ġit . password Ġ?: Ġthrow ĠGradle Exception (" GitHub Password Ġis Ġrequired ") Ġ}) ĊĠĠĠĠĠĠĠ Ġrelease Name . set ( provider Ġ{ Ġ" v $ version " Ġ}) ĊĠĠĠĠĠĠĠ Ġrelease File . set ( build Plugin . flatMap Ġ{ Ġit . archive File Ġ}) ĊĠĠĠ Ġ} Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" GitHub " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" https :// maven . pkg . github . com / n ise - n abe / ar mer ia - intellij - plugin ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġset Ġ~/. gradle / gradle . properties ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgit Hub Username ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġgit Hub Password ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcredentials ( Password Credentials :: class ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" plugin ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact ( tasks . get ByName (" build Plugin ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ testing Ġ{ ĊĠĠĠ Ġ@ Suppress (" UNUSED _ VARIABLE ") ĊĠĠĠ Ġsu ites Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtest Ġby Ġgetting ( Jvm TestSuite :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuse JUnit J upiter (" 5 . 8 . 2 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdependencies Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project . dependencies . gradle Test Kit ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation ( project . dependencies . kotlin (" test - junit 5 ")) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation (" io . mock k : mock k : 1 . 1 2 . 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ