diff --git a/build.gradle.kts b/build.gradle.kts index ca65fdc..e817fcc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,5 +1,4 @@ import io.gitlab.arturbosch.detekt.Detekt -import org.jetbrains.changelog.closure import org.jetbrains.changelog.markdownToHTML import org.jetbrains.kotlin.gradle.tasks.KotlinCompile @@ -11,7 +10,7 @@ plugins { // Kotlin support id("org.jetbrains.kotlin.jvm") version "1.5.10" // gradle-intellij-plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin - id("org.jetbrains.intellij") version "0.7.3" + id("org.jetbrains.intellij") version "1.0" // gradle-changelog-plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin id("org.jetbrains.changelog") version "1.1.2" // detekt linter - read more: https://detekt.github.io/detekt/gradle.html @@ -34,14 +33,14 @@ dependencies { // Configure gradle-intellij-plugin plugin. // Read more: https://github.com/JetBrains/gradle-intellij-plugin intellij { - pluginName = properties("pluginName") - version = properties("platformVersion") - type = properties("platformType") - downloadSources = properties("platformDownloadSources").toBoolean() - updateSinceUntilBuild = true + pluginName.set(properties("pluginName")) + version.set(properties("platformVersion")) + type.set(properties("platformType")) + downloadSources.set(properties("platformDownloadSources").toBoolean()) + updateSinceUntilBuild.set(true) // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file. - setPlugins(*properties("platformPlugins").split(',').map(String::trim).filter(String::isNotEmpty).toTypedArray()) + plugins.set(properties("platformPlugins").split(',').map(String::trim).filter(String::isNotEmpty)) } // Configure gradle-changelog-plugin plugin. @@ -79,43 +78,37 @@ tasks { } patchPluginXml { - version(properties("pluginVersion")) - sinceBuild(properties("pluginSinceBuild")) - untilBuild(properties("pluginUntilBuild")) + version.set(properties("pluginVersion")) + sinceBuild.set(properties("pluginSinceBuild")) + untilBuild.set(properties("pluginUntilBuild")) // Extract the section from README.md and provide for the plugin's manifest - pluginDescription( - closure { - File(projectDir, "README.md").readText().lines().run { - val start = "" - val end = "" - - if (!containsAll(listOf(start, end))) { - throw GradleException("Plugin description section not found in README.md:\n$start ... $end") - } - subList(indexOf(start) + 1, indexOf(end)) - }.joinToString("\n").run { markdownToHTML(this) } - } + pluginDescription.set( + File(projectDir, "README.md").readText().lines().run { + val start = "" + val end = "" + + if (!containsAll(listOf(start, end))) { + throw GradleException("Plugin description section not found in README.md:\n$start ... $end") + } + subList(indexOf(start) + 1, indexOf(end)) + }.joinToString("\n").run { markdownToHTML(this) } ) // Get the latest available change notes from the changelog file - changeNotes( - closure { - changelog.getLatest().toHTML() - } - ) + changeNotes.set(provider { changelog.getLatest().toHTML() }) } runPluginVerifier { - ideVersions(properties("pluginVerifierIdeVersions")) + ideVersions.set(properties("pluginVerifierIdeVersions").split(',').map(String::trim).filter(String::isNotEmpty)) } publishPlugin { dependsOn("patchChangelog") - token(System.getenv("PUBLISH_TOKEN")) + token.set(System.getenv("PUBLISH_TOKEN")) // pluginVersion is based on the SemVer (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#specifying-a-release-channel - channels(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first()) + channels.set(listOf(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first())) } }