From 2de45ab6ceeb14922ff6536cb862c2fcc8362cac Mon Sep 17 00:00:00 2001 From: Jakub Chrzanowski Date: Thu, 29 Oct 2020 20:41:47 +0100 Subject: [PATCH] Integration with IntelliJ Plugin Verifier through the Gradle IntelliJ Plugin `runPluginVerifier` task --- .github/template-cleanup/gradle.properties | 4 +- .github/workflows/build.yml | 44 +++++++++++----------- CHANGELOG.md | 8 +++- build.gradle.kts | 7 +++- gradle.properties | 4 +- 5 files changed, 42 insertions(+), 25 deletions(-) diff --git a/.github/template-cleanup/gradle.properties b/.github/template-cleanup/gradle.properties index aad4b7c..7f30180 100644 --- a/.github/template-cleanup/gradle.properties +++ b/.github/template-cleanup/gradle.properties @@ -6,12 +6,14 @@ pluginName_ = %NAME% pluginVersion = 0.0.1 pluginSinceBuild = 193 pluginUntilBuild = 202.* +# Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl +pluginVerifierIdeVersions = IC-2019.3, IC-2020.1, IC-2020.2 platformType = IC platformVersion = 2019.3 platformDownloadSources = true # Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html -# Example: platformPlugins = com.intellij.java,com.jetbrains.php:203.4449.22 +# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 platformPlugins = # Opt-out flag for bundling Kotlin standard library. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 36d6c8f..238d5e9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -145,31 +145,33 @@ jobs: runs-on: ubuntu-latest steps: - # Download plugin artifact provided by the previous job - - name: Download Artifact - uses: actions/download-artifact@v1 + # Setup Java 1.8 environment for the next steps + - name: Setup Java + uses: actions/setup-java@v1 with: - name: plugin-artifact + java-version: 1.8 + + # Check out current repository + - name: Fetch Sources + uses: actions/checkout@v2 + + # Cache Gradle Dependencies + - name: Setup Gradle Dependencies Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/caches + key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts', 'gradle.properties') }} + + # Cache Gradle Wrapper + - name: Setup Gradle Wrapper Cache + uses: actions/cache@v2 + with: + path: ~/.gradle/wrapper + key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} # Run IntelliJ Plugin Verifier action using GitHub Action - name: Verify Plugin - id: verify - uses: ChrisCarini/intellij-platform-plugin-verifier-action@v0.0.2 - with: - plugin-location: plugin-artifact/*.zip - ide-versions: | - ideaIC:2019.3 - ideaIC:2020.1 - ideaIC:2020.2 - - # Print the output of the verify step - - name: Print Logs - if: ${{ always() }} - env: - OUTPUT_LOG: ${{ steps.verify.outputs.verification-output-log-filename }} - run: | - echo "The verifier log file [$OUTPUT_LOG] contents : " ; - cat $OUTPUT_LOG + run: ./gradlew runPluginVerifier # Prepare a draft release for GitHub Releases page for the manual verification # If accepted and published, release workflow would be triggered diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c838b5..34f40f8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,13 +3,19 @@ # IntelliJ Platform Plugin Template Changelog ## [Unreleased] +### Added +- Integration with [IntelliJ Plugin Verifier](https://github.com/JetBrains/intellij-plugin-verifier) through the [Gradle IntelliJ Plugin](https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl) `runPluginVerifier` task + ### Changed - Switch Gradle Wrapper to `-all` to improve the IntelliSense - Update detekt config to be in line with IJ settings - Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.14.2` -- Dependencies - upgrade `org.jetbrains.intellij` to `0.5.1` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.1` - GitHub Actions - `gradleValidation` update to `gradle/wrapper-validation-action@v1.0.3` +### Removed +- Remove Third-party IntelliJ Plugin Verifier GitHub Action + ## [0.5.1] ### Added - Missing properties in the `gradle.properties` template file diff --git a/build.gradle.kts b/build.gradle.kts index adb1cd6..f40e5f6 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -9,7 +9,7 @@ plugins { // Kotlin support id("org.jetbrains.kotlin.jvm") version "1.4.10" // gradle-intellij-plugin - read more: https://github.com/JetBrains/gradle-intellij-plugin - id("org.jetbrains.intellij") version "0.5.1" + id("org.jetbrains.intellij") version "0.6.1" // gradle-changelog-plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin id("org.jetbrains.changelog") version "0.6.2" // detekt linter - read more: https://detekt.github.io/detekt/gradle.html @@ -26,6 +26,7 @@ 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 @@ -114,6 +115,10 @@ tasks { ) } + runPluginVerifier { + ideVersions(pluginVerifierIdeVersions) + } + publishPlugin { dependsOn("patchChangelog") token(System.getenv("PUBLISH_TOKEN")) diff --git a/gradle.properties b/gradle.properties index d02067a..03f7dd0 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,12 +6,14 @@ pluginName_ = IntelliJ Platform Plugin Template pluginVersion = 0.5.1 pluginSinceBuild = 193 pluginUntilBuild = 202.* +# Plugin Verifier integration -> https://github.com/JetBrains/gradle-intellij-plugin#plugin-verifier-dsl +pluginVerifierIdeVersions = IC-2019.3, IC-2020.1, IC-2020.2 platformType = IC platformVersion = 2019.3 platformDownloadSources = true # Plugin Dependencies -> https://www.jetbrains.org/intellij/sdk/docs/basics/plugin_structure/plugin_dependencies.html -# Example: platformPlugins = com.intellij.java,com.jetbrains.php:203.4449.22 +# Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 platformPlugins = # Opt-out flag for bundling Kotlin standard library.