diff --git a/.github/template-cleanup/gradle.properties b/.github/template-cleanup/gradle.properties index 6f75d2f..a22b18c 100644 --- a/.github/template-cleanup/gradle.properties +++ b/.github/template-cleanup/gradle.properties @@ -2,7 +2,7 @@ # -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html pluginGroup = %GROUP% -pluginName_ = %NAME% +pluginName = %NAME% pluginVersion = 0.0.1 pluginSinceBuild = 202 pluginUntilBuild = 203.* diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bc788dc..e98c5be 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -114,7 +114,7 @@ jobs: run: | PROPERTIES="$(./gradlew properties --console=plain -q)" VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')" - NAME="$(echo "$PROPERTIES" | grep "^pluginName_:" | cut -f2- -d ' ')" + NAME="$(echo "$PROPERTIES" | grep "^pluginName:" | cut -f2- -d ' ')" CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)" CHANGELOG="${CHANGELOG//'%'/'%25'}" CHANGELOG="${CHANGELOG//$'\n'/'%0A'}" diff --git a/CHANGELOG.md b/CHANGELOG.md index 75bcf08..b9012d4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,9 @@ # IntelliJ Platform Plugin Template Changelog ## [Unreleased] +### Added +- `properties` shorthand function for accessing `gradle.properties` in a cleaner way + ## [0.8.3] ### Changed - Dependencies - upgrade `org.jetbrains.intellij` to `0.7.2` diff --git a/build.gradle.kts b/build.gradle.kts index e3799fe..d9195d5 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,8 @@ import org.jetbrains.changelog.closure import org.jetbrains.changelog.markdownToHTML import org.jetbrains.kotlin.gradle.tasks.KotlinCompile +fun properties(key: String) = project.findProperty(key).toString() + plugins { // Java support id("java") @@ -18,23 +20,8 @@ plugins { id("org.jlleitschuh.gradle.ktlint") version "10.0.0" } -// Import variables from gradle.properties file -val pluginGroup: String by project -// `pluginName_` variable ends with `_` because of the collision with Kotlin magic getter in the `intellij` closure. -// Read more about the issue: https://github.com/JetBrains/intellij-platform-plugin-template/issues/29 -val pluginName_: String by project -val pluginVersion: String by project -val pluginSinceBuild: String by project -val pluginUntilBuild: String by project -val pluginVerifierIdeVersions: String by project - -val platformType: String by project -val platformVersion: String by project -val platformPlugins: String by project -val platformDownloadSources: String by project - -group = pluginGroup -version = pluginVersion +group = properties("pluginGroup") +version = properties("projectVersion") // Configure project's dependencies repositories { @@ -48,20 +35,20 @@ dependencies { // Configure gradle-intellij-plugin plugin. // Read more: https://github.com/JetBrains/gradle-intellij-plugin intellij { - pluginName = pluginName_ - version = platformVersion - type = platformType - downloadSources = platformDownloadSources.toBoolean() + pluginName = properties("pluginName") + version = properties("platformVersion") + type = properties("platformType") + downloadSources = properties("platformDownloadSources").toBoolean() updateSinceUntilBuild = true // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file. - setPlugins(*platformPlugins.split(',').map(String::trim).filter(String::isNotEmpty).toTypedArray()) + setPlugins(*properties("platformPlugins").split(',').map(String::trim).filter(String::isNotEmpty).toTypedArray()) } // Configure gradle-changelog-plugin plugin. // Read more: https://github.com/JetBrains/gradle-changelog-plugin changelog { - version = pluginVersion + version = properties("pluginVersion") groups = emptyList() } @@ -93,9 +80,9 @@ tasks { } patchPluginXml { - version(pluginVersion) - sinceBuild(pluginSinceBuild) - untilBuild(pluginUntilBuild) + version(properties("pluginVersion")) + sinceBuild(properties("pluginSinceBuild")) + untilBuild(properties("pluginUntilBuild")) // Extract the section from README.md and provide for the plugin's manifest pluginDescription( @@ -121,7 +108,7 @@ tasks { } runPluginVerifier { - ideVersions(pluginVerifierIdeVersions) + ideVersions(properties("pluginVerifierIdeVersions")) } publishPlugin { @@ -130,6 +117,6 @@ tasks { // 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(pluginVersion.split('-').getOrElse(1) { "default" }.split('.').first()) + channels(properties("pluginVersion").split('-').getOrElse(1) { "default" }.split('.').first()) } } diff --git a/gradle.properties b/gradle.properties index a90959e..832e312 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ # -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html pluginGroup = org.jetbrains.plugins.template -pluginName_ = IntelliJ Platform Plugin Template +pluginName = IntelliJ Platform Plugin Template pluginVersion = 0.8.3 pluginSinceBuild = 202 pluginUntilBuild = 203.*