From e20638f1d35e9c31b88e84b57ffa01fcfe97b214 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 14:56:53 +0200 Subject: [PATCH 01/21] Imports build from Jetbrains template See here https://github.com/JetBrains/intellij-platform-plugin-template/blob/main/.github/workflows/build.yml --- .github/workflows/build.yml | 275 ++++++++++++++++++++++++++++++++++++ 1 file changed, 275 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..73efc2c --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,275 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# GitHub Actions Workflow is created for testing and preparing the plugin release in the following steps: +# - Validate Gradle Wrapper. +# - Run 'test' and 'verifyPlugin' tasks. +# - Run Qodana inspections. +# - Run the 'buildPlugin' task and prepare artifact for further tests. +# - Run the 'runPluginVerifier' task. +# - Create a draft release. +# +# The workflow is triggered on push and pull_request events. +# +# GitHub Actions reference: https://help.github.com/en/actions +# +## JBIJPPTPL + +name: Build +on: + # Trigger the workflow on pushes to only the 'main' branch (this avoids duplicate checks being run e.g., for dependabot pull requests) + push: + branches: [ main ] + # Trigger the workflow on any pull request + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + + # Prepare environment and build the plugin + build: + name: Build + runs-on: ubuntu-latest + outputs: + version: ${{ steps.properties.outputs.version }} + changelog: ${{ steps.properties.outputs.changelog }} + pluginVerifierHomeDir: ${{ steps.properties.outputs.pluginVerifierHomeDir }} + steps: + + # Check out the current repository + - name: Fetch Sources + uses: actions/checkout@v4 + + # Validate wrapper + - name: Gradle Wrapper Validation + uses: gradle/actions/wrapper-validation@v3 + + # Set up Java environment for the next steps + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: 17 + + # Setup Gradle + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-home-cache-cleanup: true + + # Set environment variables + - name: Export Properties + id: properties + shell: bash + run: | + PROPERTIES="$(./gradlew properties --console=plain -q)" + VERSION="$(echo "$PROPERTIES" | grep "^version:" | cut -f2- -d ' ')" + CHANGELOG="$(./gradlew getChangelog --unreleased --no-header --console=plain -q)" + + echo "version=$VERSION" >> $GITHUB_OUTPUT + echo "pluginVerifierHomeDir=~/.pluginVerifier" >> $GITHUB_OUTPUT + + echo "changelog<> $GITHUB_OUTPUT + echo "$CHANGELOG" >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT + + # Build plugin + - name: Build plugin + run: ./gradlew buildPlugin + + # Prepare plugin archive content for creating artifact + - name: Prepare Plugin Artifact + id: artifact + shell: bash + run: | + cd ${{ github.workspace }}/build/distributions + FILENAME=`ls *.zip` + unzip "$FILENAME" -d content + + echo "filename=${FILENAME:0:-4}" >> $GITHUB_OUTPUT + + # Store already-built plugin as an artifact for downloading + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: ${{ steps.artifact.outputs.filename }} + path: ./build/distributions/content/*/* + + # Run tests and upload a code coverage report + test: + name: Test + needs: [ build ] + runs-on: ubuntu-latest + steps: + + # Check out the current repository + - name: Fetch Sources + uses: actions/checkout@v4 + + # Set up Java environment for the next steps + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: 17 + + # Setup Gradle + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-home-cache-cleanup: true + + # Run tests + - name: Run Tests + run: ./gradlew check + + # Collect Tests Result of failed tests + - name: Collect Tests Result + if: ${{ failure() }} + uses: actions/upload-artifact@v4 + with: + name: tests-result + path: ${{ github.workspace }}/build/reports/tests + + # Upload the Kover report to CodeCov + - name: Upload Code Coverage Report + uses: codecov/codecov-action@v4 + with: + files: ${{ github.workspace }}/build/reports/kover/report.xml + + # Run Qodana inspections and provide report + inspectCode: + name: Inspect code + needs: [ build ] + runs-on: ubuntu-latest + permissions: + contents: write + checks: write + pull-requests: write + steps: + + # Free GitHub Actions Environment Disk Space + - name: Maximize Build Space + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + large-packages: false + + # Check out the current repository + - name: Fetch Sources + uses: actions/checkout@v4 + + # Set up Java environment for the next steps + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: 17 + + # Run Qodana inspections + - name: Qodana - Code Inspection + uses: JetBrains/qodana-action@v2024.1.5 + with: + cache-default-branch-only: true + + # Run plugin structure verification along with IntelliJ Plugin Verifier + verify: + name: Verify plugin + needs: [ build ] + runs-on: ubuntu-latest + steps: + + # Free GitHub Actions Environment Disk Space + - name: Maximize Build Space + uses: jlumbroso/free-disk-space@main + with: + tool-cache: false + large-packages: false + + # Check out the current repository + - name: Fetch Sources + uses: actions/checkout@v4 + + # Set up Java environment for the next steps + - name: Setup Java + uses: actions/setup-java@v4 + with: + distribution: zulu + java-version: 17 + + # Setup Gradle + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v3 + with: + gradle-home-cache-cleanup: true + + # Cache Plugin Verifier IDEs + - name: Setup Plugin Verifier IDEs Cache + uses: actions/cache@v4 + with: + path: ${{ needs.build.outputs.pluginVerifierHomeDir }}/ides + key: plugin-verifier-${{ hashFiles('build/listProductsReleases.txt') }} + + # Run Verify Plugin task and IntelliJ Plugin Verifier tool + - name: Run Plugin Verification tasks + run: ./gradlew verifyPlugin -Dplugin.verifier.home.dir=${{ needs.build.outputs.pluginVerifierHomeDir }} + + # Collect Plugin Verifier Result + - name: Collect Plugin Verifier Result + if: ${{ always() }} + uses: actions/upload-artifact@v4 + with: + name: pluginVerifier-result + path: ${{ github.workspace }}/build/reports/pluginVerifier + + # Prepare a draft release for GitHub Releases page for the manual verification + # If accepted and published, release workflow would be triggered + releaseDraft: + name: Release draft + if: github.event_name != 'pull_request' + needs: [ build, test, inspectCode, verify ] + runs-on: ubuntu-latest + permissions: + contents: write + steps: + + # Check out the current repository + - name: Fetch Sources + uses: actions/checkout@v4 + + # Remove old release drafts by using the curl request for the available releases with a draft flag + - name: Remove Old Release Drafts + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh api repos/{owner}/{repo}/releases \ + --jq '.[] | select(.draft == true) | .id' \ + | xargs -I '{}' gh api -X DELETE repos/{owner}/{repo}/releases/{} + + # Create a new release draft which is not publicly visible and requires manual acceptance + - name: Create Release Draft + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create "v${{ needs.build.outputs.version }}" \ + --draft \ + --title "v${{ needs.build.outputs.version }}" \ + --notes "$(cat << 'EOM' + ${{ needs.build.outputs.changelog }} + EOM + )" \ No newline at end of file From 129ac57b856a75a9f56b6aa4fed2c0d8f5420437 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 15:02:38 +0200 Subject: [PATCH 02/21] Adds required checks to pass --- .asf.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.asf.yaml b/.asf.yaml index 578a5bb..27af98f 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -16,7 +16,8 @@ github: main: # contexts are the names of checks that must pass. contexts: - - gradle + - Java Gradle / Build and Test + - Build / Verify plugin required_pull_request_reviews: # it does not work because our github teams are private/secret, see INFRA-25666 require_code_owner_reviews: false From 8f38ddfaf27e9603bc1c0dcad67c5757de7288fb Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 15:04:16 +0200 Subject: [PATCH 03/21] Drops disallowed action --- .github/workflows/build.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 73efc2c..dfbc201 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -163,13 +163,6 @@ jobs: pull-requests: write steps: - # Free GitHub Actions Environment Disk Space - - name: Maximize Build Space - uses: jlumbroso/free-disk-space@main - with: - tool-cache: false - large-packages: false - # Check out the current repository - name: Fetch Sources uses: actions/checkout@v4 @@ -194,13 +187,6 @@ jobs: runs-on: ubuntu-latest steps: - # Free GitHub Actions Environment Disk Space - - name: Maximize Build Space - uses: jlumbroso/free-disk-space@main - with: - tool-cache: false - large-packages: false - # Check out the current repository - name: Fetch Sources uses: actions/checkout@v4 From 32f5bf1d6f6fa17cbf85101e2a5313c96c73257c Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 15:09:37 +0200 Subject: [PATCH 04/21] Adds gradle plugins to support build --- build.gradle.kts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/build.gradle.kts b/build.gradle.kts index c116719..f6d2fee 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,9 @@ plugins { id("org.jetbrains.kotlin.jvm") version "1.8.21" id("org.jetbrains.intellij") version "1.17.2" id("org.nosphere.apache.rat") version "0.8.1" + id("org.jetbrains.changelog") version "2.2.1" + id("org.jetbrains.qodana") version "2024.1.9" // Gradle Qodana Plugin + id("org.jetbrains.kotlinx.kover") version "0.8.3" // Gradle Kover Plugin } group = "com.intellij" From bbb94e98f55c3f81c162fff2d7d5988cf14699af Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 15:46:21 +0200 Subject: [PATCH 05/21] Reconfigures Gradle build to match template --- .gitignore | 1 + build.gradle.kts | 180 +++++++++++++++++++++++++++++--------- gradle.properties | 36 +++++++- gradle/libs.versions.toml | 22 +++++ 4 files changed, 195 insertions(+), 44 deletions(-) create mode 100644 gradle/libs.versions.toml diff --git a/.gitignore b/.gitignore index fd00d92..d32f8ff 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ build/ out/ !**/src/main/**/out/ !**/src/test/**/out/ +.intellijPlatform ### Eclipse ### .apt_generated diff --git a/build.gradle.kts b/build.gradle.kts index f6d2fee..37234d0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,65 +1,142 @@ +import org.jetbrains.changelog.Changelog +import org.jetbrains.changelog.markdownToHTML +import org.jetbrains.intellij.platform.gradle.TestFrameworkType + plugins { - id("java") - id("org.jetbrains.kotlin.jvm") version "1.8.21" - id("org.jetbrains.intellij") version "1.17.2" - id("org.nosphere.apache.rat") version "0.8.1" - id("org.jetbrains.changelog") version "2.2.1" - id("org.jetbrains.qodana") version "2024.1.9" // Gradle Qodana Plugin - id("org.jetbrains.kotlinx.kover") version "0.8.3" // Gradle Kover Plugin + id("java") // Java support + alias(libs.plugins.kotlin) // Kotlin support + alias(libs.plugins.intelliJPlatform) // IntelliJ Platform Gradle Plugin + alias(libs.plugins.changelog) // Gradle Changelog Plugin + alias(libs.plugins.qodana) // Gradle Qodana Plugin + alias(libs.plugins.kover) // Gradle Kover Plugin + alias(libs.plugins.rat) // Apache RAT Plugin } -group = "com.intellij" -version = "2024.4.2" +group = providers.gradleProperty("pluginGroup").get() +version = providers.gradleProperty("pluginVersion").get() + +// Set the JVM language level used to build the project. +kotlin { + jvmToolchain(17) +} +// Configure project's dependencies repositories { mavenCentral() + + // IntelliJ Platform Gradle Plugin Repositories Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-repositories-extension.html + intellijPlatform { + defaultRepositories() + } +} + +// Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog +dependencies { + testImplementation(libs.junit) + + // IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html + intellijPlatform { + create(providers.gradleProperty("platformType"), providers.gradleProperty("platformVersion")) + + // Plugin Dependencies. Uses `platformBundledPlugins` property from the gradle.properties file for bundled IntelliJ Platform plugins. + bundledPlugins(providers.gradleProperty("platformBundledPlugins").map { it.split(',') }) + + // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace. + plugins(providers.gradleProperty("platformPlugins").map { it.split(',') }) + + instrumentationTools() + pluginVerifier() + zipSigner() + testFramework(TestFrameworkType.Platform) + } } java.sourceSets["main"].java { srcDir("src/main/gen") } -intellij { - version.set("2024.1.5") - type.set("IU") // Target IDE Platform - - plugins.set(listOf( - "com.intellij.javaee", - "com.intellij.javaee.web", - "com.intellij.spring", - "com.intellij.freemarker", - "com.intellij.velocity", - "org.intellij.groovy", - "com.intellij.java", - "com.intellij.jsp", - "JavaScript", - "com.intellij.java-i18n" - )) -} +// Configure IntelliJ Platform Gradle Plugin - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-extension.html +intellijPlatform { + pluginConfiguration { + version = providers.gradleProperty("pluginVersion") -tasks { - // Set the JVM compatibility versions - withType { - sourceCompatibility = "17" - targetCompatibility = "17" + // Extract the section from README.md and provide for the plugin's manifest + description = providers.fileContents(layout.projectDirectory.file("README.md")).asText.map { + val start = "" + val end = "" + + with(it.lines()) { + 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").let(::markdownToHTML) + } + } + + val changelog = project.changelog // local variable for configuration cache compatibility + // Get the latest available change notes from the changelog file + changeNotes = providers.gradleProperty("pluginVersion").map { pluginVersion -> + with(changelog) { + renderItem( + (getOrNull(pluginVersion) ?: getUnreleased()) + .withHeader(false) + .withEmptySections(false), + Changelog.OutputType.HTML, + ) + } + } + + ideaVersion { + sinceBuild = providers.gradleProperty("pluginSinceBuild") + untilBuild = providers.gradleProperty("pluginUntilBuild") + } + } + + signing { + certificateChain = providers.environmentVariable("CERTIFICATE_CHAIN") + privateKey = providers.environmentVariable("PRIVATE_KEY") + password = providers.environmentVariable("PRIVATE_KEY_PASSWORD") } - withType { - kotlinOptions.jvmTarget = "17" + + publishing { + token = providers.environmentVariable("PUBLISH_TOKEN") + // The 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 = providers.gradleProperty("pluginVersion").map { listOf(it.substringAfter('-', "").substringBefore('.').ifEmpty { "default" }) } } - patchPluginXml { - sinceBuild.set("231") - untilBuild.set("243.*") + pluginVerification { + ides { + recommended() + } } +} + +// Configure Gradle Changelog Plugin - read more: https://github.com/JetBrains/gradle-changelog-plugin +changelog { + groups.empty() + repositoryUrl = providers.gradleProperty("pluginRepositoryUrl") +} - signPlugin { - certificateChain.set(System.getenv("CERTIFICATE_CHAIN")) - privateKey.set(System.getenv("PRIVATE_KEY")) - password.set(System.getenv("PRIVATE_KEY_PASSWORD")) +// Configure Gradle Kover Plugin - read more: https://github.com/Kotlin/kotlinx-kover#configuration +kover { + reports { + total { + xml { + onCheck = true + } + } + } +} + +tasks { + wrapper { + gradleVersion = providers.gradleProperty("gradleVersion").get() } publishPlugin { - token.set(System.getenv("PUBLISH_TOKEN")) + dependsOn(patchChangelog) } rat { @@ -81,3 +158,24 @@ tasks { verbose.set(true) } } + +intellijPlatformTesting { + runIde { + register("runIdeForUiTests") { + task { + jvmArgumentProviders += CommandLineArgumentProvider { + listOf( + "-Drobot-server.port=8082", + "-Dide.mac.message.dialogs.as.sheets=false", + "-Djb.privacy.policy.text=", + "-Djb.consents.confirmation.enabled=false", + ) + } + } + + plugins { + robotServerPlugin() + } + } + } +} diff --git a/gradle.properties b/gradle.properties index 2bca45c..41b0b44 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,33 @@ -kotlin.stdlib.default.dependency=false -# TODO temporary workaround for Kotlin 1.8.20+ (https://jb.gg/intellij-platform-kotlin-oom) -kotlin.incremental.useClasspathSnapshot=false +# IntelliJ Platform Artifacts Repositories -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html + +pluginGroup = com.intellij.struts2 +pluginName = Apache Struts +pluginRepositoryUrl = https://github.com/apache/struts-intellij-plugin/ +# SemVer format -> https://semver.org +pluginVersion = 241.18968.1 + +# Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html +pluginSinceBuild = 233 +pluginUntilBuild = 242.* + +# IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension +platformType = IU +platformVersion = 2024.1.5 + +# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html +# Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP +platformPlugins = com.intellij.spring, com.intellij.freemarker, com.intellij.velocity , org.intellij.groovy, JavaScript +# Example: platformBundledPlugins = com.intellij.java +platformBundledPlugins = com.intellij.java, com.intellij.javaee, com.intellij.javaee.web, com.intellij.jsp, com.intellij.java-i18n + +# Gradle Releases -> https://github.com/gradle/gradle/releases +gradleVersion = 8.9 + +# Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib +kotlin.stdlib.default.dependency = false + +# Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html +org.gradle.configuration-cache = true + +# Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html +org.gradle.caching = true \ No newline at end of file diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml new file mode 100644 index 0000000..b20c62b --- /dev/null +++ b/gradle/libs.versions.toml @@ -0,0 +1,22 @@ +[versions] +# libraries +junit = "4.13.2" + +# plugins +changelog = "2.2.1" +intelliJPlatform = "2.0.1" +kotlin = "1.9.25" +kover = "0.8.3" +qodana = "2024.1.9" +rat = "0.8.1" + +[libraries] +junit = { group = "junit", name = "junit", version.ref = "junit" } + +[plugins] +changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" } +intelliJPlatform = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatform" } +kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } +kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } +qodana = { id = "org.jetbrains.qodana", version.ref = "qodana" } +rat = { id = "org.nosphere.apache.rat", version.ref = "rat" } From d66a66638ba7bf82c0425b2bbf516d3c956717f2 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 15:52:02 +0200 Subject: [PATCH 06/21] Extends README to include required sections --- README.md | 142 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 142 insertions(+) diff --git a/README.md b/README.md index f688360..e0f9bef 100644 --- a/README.md +++ b/README.md @@ -19,9 +19,151 @@ Apache Struts IntelliJ IDEA plugin [![Build status](https://github.com/apache/struts-intellij-plugin/actions/workflows/gradle.yml/badge.svg)](https://github.com/apache/struts-intellij-plugin/actions/workflows/gradle.yml) + This is a plugin to support development of Apache Struts based web applications using IntelliJ IDEA. + ## Documentation Questions related to the usage of the plugin should be posted to the [user mailing list](https://struts.apache.org/mail.html). Any issues should be reported using JIRA and [IDEA plugin](https://issues.apache.org/jira/issues/?jql=project%20%3D%20WW%20AND%20component%20%3D%20%22IDEA%20Plugin%22) component. + +## Testing + +[Testing plugins][docs:testing-plugins] is an essential part of the plugin development to make sure that everything works as expected between IDE releases and plugin refactorings. +The IntelliJ Platform Plugin Template project provides integration of two testing approaches – functional and UI tests. + +### Functional tests + +Most of the IntelliJ Platform codebase tests are model-level, run in a headless environment using an actual IDE instance. +The tests usually test a feature as a whole rather than individual functions that comprise its implementation, like in unit tests. + +In `src/test/kotlin`, you'll find a basic `MyPluginTest` test that utilizes `BasePlatformTestCase` and runs a few checks against the XML files to indicate an example operation of creating files on the fly or reading them from `src/test/testData/rename` test resources. + +> **Note** +> +> Run your tests using predefined *Run Tests* configuration or by invoking the `./gradlew check` Gradle task. + +### Code coverage + +The [Kover][gh:kover] – a Gradle plugin for Kotlin code coverage agents: IntelliJ and JaCoCo – is integrated into the project to provide the code coverage feature. +Code coverage makes it possible to measure and track the degree of plugin sources testing. +The code coverage gets executed when running the `check` Gradle task. +The final test report is sent to [CodeCov][codecov] for better results visualization. + +### UI tests + +If your plugin provides complex user interfaces, you should consider covering them with tests and the functionality they utilize. + +[IntelliJ UI Test Robot][gh:intellij-ui-test-robot] allows you to write and execute UI tests within the IntelliJ IDE running instance. +You can use the [XPath query language][xpath] to find components in the currently available IDE view. +Once IDE with `robot-server` has started, you can open the `http://localhost:8082` page that presents the currently available IDEA UI components hierarchy in HTML format and use a simple `XPath` generator, which can help test your plugin's interface. + +> **Note** +> +> Run IDE for UI tests using predefined *Run IDE for UI Tests* and then *Run Tests* configurations or by invoking the `./gradlew runIdeForUiTests` and `./gradlew check` Gradle tasks. + +Check the UI Test Example project you can use as a reference for setting up UI testing in your plugin: [intellij-ui-test-robot/ui-test-example][gh:ui-test-example]. + +```kotlin +class MyUITest { + + @Test + fun openAboutFromWelcomeScreen() { + val robot = RemoteRobot("http://127.0.0.1:8082") + robot.find(byXpath("//div[@myactionlink = 'gearHover.svg']")).click() + // ... + } +} +``` + +A dedicated [Run UI Tests](.github/workflows/run-ui-tests.yml) workflow is available for manual triggering to run UI tests against three different operating systems: macOS, Windows, and Linux. +Due to its optional nature, this workflow isn't set as an automatic one, but this can be easily achieved by changing the `on` trigger event, like in the [Build](.github/workflows/build.yml) workflow file. + +## Qodana integration + +To increase the project value, the IntelliJ Platform Plugin Template got integrated with [Qodana][jb:qodana], a code quality monitoring platform that allows you to check the condition of your implementation and find any possible problems that may require enhancing. + +Qodana brings into your CI/CD pipelines all the smart features you love in the JetBrains IDEs and generates an HTML report with the actual inspection status. + +Qodana inspections are accessible within the project on two levels: + +- using the [Qodana IntelliJ GitHub Action][jb:qodana-github-action], run automatically within the [Build](.github/workflows/build.yml) workflow, +- with the [Gradle Qodana Plugin][gh:gradle-qodana-plugin], so you can use it on the local environment or any CI other than GitHub Actions. + +Qodana inspection is configured with the `qodana { ... }` section in the Gradle build file and [`qodana.yml`][file:qodana.yml] YAML configuration file. + +> **Note** +> +> Qodana requires Docker to be installed and available in your environment. + +To run inspections, you can use a predefined *Run Qodana* configuration, which will provide a full report on `http://localhost:8080`, or invoke the Gradle task directly with the `./gradlew runInspections` command. + +A final report is available in the `./build/reports/inspections/` directory. + +## Predefined Run/Debug configurations + +Within the default project structure, there is a `.run` directory provided containing predefined *Run/Debug configurations* that expose corresponding Gradle tasks: + +| Configuration name | Description | +|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Run Plugin | Runs [`:runIde`][gh:gradle-intellij-plugin-runIde] Gradle IntelliJ Plugin task. Use the *Debug* icon for plugin debugging. | +| Run Verifications | Runs [`:runPluginVerifier`][gh:gradle-intellij-plugin-runPluginVerifier] Gradle IntelliJ Plugin task to check the plugin compatibility against the specified IntelliJ IDEs. | +| Run Tests | Runs [`:test`][gradle:lifecycle-tasks] Gradle task. | +| Run IDE for UI Tests | Runs [`:runIdeForUiTests`][gh:intellij-ui-test-robot] Gradle IntelliJ Plugin task to allow for running UI tests within the IntelliJ IDE running instance. | +| Run Qodana | Runs [`:runInspections`][gh:gradle-qodana-plugin] Gradle Qodana Plugin task. Starts Qodana inspections in a Docker container and serves generated report on `localhost:8080`. | + +> **Note** +> +> You can find the logs from the running task in the `idea.log` tab. +> +> ![Run/Debug configuration logs][file:run-logs.png] + +### Changelog maintenance + +When releasing an update, it is essential to let your users know what the new version offers. +The best way to do this is to provide release notes. + +The changelog is a curated list that contains information about any new features, fixes, and deprecations. +When they're provided, these lists are available in a few different places: +- the [CHANGELOG.md](./CHANGELOG.md) file, +- the [Releases page][gh:releases], +- the *What's new* section of JetBrains Marketplace Plugin page, +- and inside the Plugin Manager's item details. + +There are many methods for handling the project's changelog. +The one used in the current template project is the [Keep a Changelog][keep-a-changelog] approach. + +The [Gradle Changelog Plugin][gh:gradle-changelog-plugin] takes care of propagating information provided within the [CHANGELOG.md](./CHANGELOG.md) to the [Gradle IntelliJ Plugin][gh:gradle-intellij-plugin]. +You only have to take care of writing down the actual changes in proper sections of the `[Unreleased]` section. + +You start with an almost empty changelog: + +``` +# YourPlugin Changelog + +## [Unreleased] +### Added +- Initial scaffold created from [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template) +``` + +Now proceed with providing more entries to the `Added` group, or any other one that suits your change the most (see [How do I make a good changelog?][keep-a-changelog-how] for more details). + +When releasing a plugin update, you don't have to care about bumping the `[Unreleased]` header to the upcoming version – it will be handled automatically on the Continuous Integration (CI) after you publish your plugin. +GitHub Actions will swap it and provide you an empty section for the next release so that you can proceed with your development: + +``` +# YourPlugin Changelog + +## [Unreleased] + +## [0.0.1] +### Added +- An awesome feature +- Initial scaffold created from [IntelliJ Platform Plugin Template](https://github.com/JetBrains/intellij-platform-plugin-template) + +### Fixed +- One annoying bug +``` + +To configure how the Changelog plugin behaves, i.e., to create headers with the release date, see [Gradle Changelog Plugin][gh:gradle-changelog-plugin] README file. From 8c7c0f1249fea0b432a8aae831b91e438d9418d5 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 15:56:54 +0200 Subject: [PATCH 07/21] Adds CHANGELOG --- CHANGELOG.md | 800 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 800 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..1295962 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,800 @@ + + +# Apache Struts IntelliJ Plugin Changelog + +## [Unreleased] + +## [2.0.1] - 2024-08-09 + +### Changed + +- Update `platformVersion` to `2023.3.7` +- Change since/until build to `233-242.*` (2023.3-2024.2.*) +- Cleanup registering the `runIdeForUiTests` task +- Dependencies - upgrade `org.jetbrains.intellij.platform` to `2.0.1` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.25` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.8.3` +- Dependencies - upgrade `org.jetbrains.qodana` to `2024.1.9` + +## [2.0.0] - 2024-07-30 + +### Changed + +- Migrate to [IntelliJ Platform Gradle Plugin 2.0](https://blog.jetbrains.com/platform/2024/07/intellij-platform-gradle-plugin-2-0/). + +## [1.14.2] - 2024-07-12 + +### Changed + +- Upgrade Gradle Wrapper to `8.9` + +### Removed + +- Remove default plugin icon (`pluginIcon.svg`) + +## [1.14.1] - 2024-06-19 + +### Changed + +- Update `platformVersion` to `2023.2.7` +- Upgrade Gradle Wrapper to `8.8` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.17.4` +- Dependencies - downgrade `org.jetbrains.kotlin.jvm` to `1.9.24` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.8.1` + +## [1.14.0] - 2024-05-30 + +### Changed + +- Update `platformVersion` to `2023.2.6` +- Change since/until build to `232-242.*` (2023.2-2024.2.*) +- Upgrade Gradle Wrapper to `8.7` +- Update Kover configuration +- Replace `org.jetbrains:annotations` library with an `com.example:exampleLibrary` placeholder +- Dependencies - upgrade `org.jetbrains.intellij` to `1.17.3` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `2.0.0` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.8.0` +- Dependencies - upgrade `org.jetbrains.qodana` to `2024.1.5` +- Dependencies (GitHub Actions) - replace `gradle/wrapper-validation-action@v2` with `gradle/actions/wrapper-validation@v3` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2024.1.5` +- Dependencies (GitHub Actions) - upgrade `jtalk/url-health-check-action` to `v4` + +## [1.13.0] - 2024-03-11 + +### Changed + +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.23` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.6` +- Dependencies - upgrade `org.jetbrains.qodana` to `2023.3.2` +- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `4` +- Dependencies (GitHub Actions) - upgrade `codecov/codecov-action` to `4` +- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `2` +- Dependencies (GitHub Actions) - upgrade `actions/cache` to `4` +- Gradle - upgrade `org.gradle.toolchains.foojay-resolver-convention` to `0.8.0` +- Gradle - cleanup the `jvmToolchain` setup +- Run Configurations - `Run Qodana` runs the `qodanaScan` Gradle task + +### Fixed + +- Fixed calculation of the plugin publication channel +- Run Configurations - `Run Tests` uses the `RunAsTest` IDE feature +- Replace the whole `IntelliJ Platform Plugin Template` with the new project name when running the GitHub Actions Cleanup workflow + +### Removed + +- GitHub Actions: Remove the `Setup Java` step from the `releaseDraft` build step +- Gradle - Removed Qodana Gradle Plugin configuration to rely on defaults + +## [1.12.0] - 2024-02-20 + +### Added + +- GitHub Actions: Reduce the number of concurrent builds + +### Changed + +- Change since/until build to `223-241.*` (2022.3-2024.1.*) +- Upgrade Gradle Wrapper to `8.6` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.17.2` +- Dependencies (GitHub Actions) - upgrade `gradle/gradle-build-action@v2` to `gradle/actions/setup-gradle@v3` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.3.1` + +### Fixed + +- Adjusted obtaining the value for `publishPlugin.channels` property in `build.gradle.kts` +- Fixed bash variable access in the Create Release Draft step. + +### Removed + +- Remove Gradle Kotlin DSL Lazy Property Assignment because it's default now + +## [1.11.3] - 2023-12-01 + +### Changed + +- Upgrade Gradle Wrapper to `8.5` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.16.1` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.21` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.5` +- Dependencies - upgrade `annotations` to `24.1.0` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.2.8` +- Dependencies (GitHub Actions) - upgrade `actions/setup-java` to `4` + +## [1.11.2] - 2023-10-06 + +### Changed + +- Upgrade Gradle Wrapper to `8.4` +- Gradle - use JetBrains Runtime +- Gradle - upgrade `org.gradle.toolchains.foojay-resolver-convention` to `0.7.0` +- Change since/until build to `223-233.*` (2022.3-2023.3.*) +- Dependencies - upgrade `org.jetbrains.intellij` to `1.16.0` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.10` +- Dependencies - upgrade `org.jetbrains.changelog` to `2.2.0` +- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `4` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.2.6` + +## [1.11.1] - 2023-08-17 + +### Fixed + +- GitHub Actions: publish workflow fails due to the existing `release changelog` label + +### Changed + +- Upgrade Gradle Wrapper to `8.3` + +## [1.11.0] - 2023-08-07 + +### Changed + +- GitHub Actions: move the `Maximize Build Space` step from the `Build` job to `Inspect code` and `Verify plugin` jobs +- Update `platformVersion` to `2022.3.3` +- Change since/until build to `223-232.*` (2022.3-2023.2.*) +- `MyBundle`: remove `SpreadOperator` suppression +- `MyBundle.properties`: remove unused `name` property + +## [1.10.0] - 2023-08-04 + +### Added + +- [Foojay Toolchains Plugin](https://github.com/gradle/foojay-toolchains) integration +- GitHub Actions: set `gradle-home-cache-cleanup: true` flag to the Gradle Build Action +- GitHub Actions: use `jlumbroso/free-disk-space` to free disk space + +### Changed + +- GitHub Actions: rearrange the Build workflow +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.3` +- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `v1.1.0` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.2.1` + +### Fixed + +- GitHub Actions: Fixed Kover report path when uploading the code coverage report + +## [1.9.0] - 2023-07-11 + +### Added + +- GitHub Actions — use Java `17` explicitly + +### Changed + +- Upgrade Gradle Wrapper to `8.2.1` +- Dependencies — upgrade `org.jetbrains.changelog` to `2.1.2` +- GitHub Actions — rearrange the Build workflow + +### Fixed + +- Fixed copying files issue when running the `Template Cleanup` workflow + +## [1.8.0] - 2023-07-07 + +### Changed + +- GitHub Actions: Build workflow refactoring +- Upgrade Gradle Wrapper to `8.2` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.0` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.15.0` +- Dependencies - upgrade `org.jetbrains.changelog` to `2.1.1` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.2` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.1.5` + +### Fixed + +- Dependabot workflow points to `next` branch in a newly created project + +### Removed + +- Removed workaround for Kotlin Compiler `OutOfMemoryError` as the issue is gone with Kotlin `1.9.0` + +## [1.7.0] - 2023-06-07 + +### Added + +- GitHub Actions — enable caching +- Specify `projectJDK: 17` in `qodana.yml` +- Specify `linter` property in `qodana.yml` + +### Changed + +- Use Java `17` for JVM Toolchain +- Change since/until build to `222-232.*` (2022.2–2023.2.*) +- Dependencies - upgrade `org.jetbrains.intellij` to `1.14.1` +- Dependencies - upgrade `org.jetbrains.changelog` to `2.1.0` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.21` +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.1` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.1.0` +- Upgrade Gradle Wrapper to `8.1.1` +- GitHub Actions — switch to Java 17 +- Update Run Configuration entries +- Adjust Kover configuration + +### Fixed + +- Example code — Fixed deprecated usage of `ContentFactory` in `MyToolWindowFactory` +- Example code — Migrate from the deprecated `FrameStateListener.onFrameActivated()` to `ApplicationActivationListener.applicationActivated(IdeFrame)` + +### Removed + +- Remove `gradleJvm` property from the `.idea/gradle.xml` file +- GitHub Actions — Drop unused `name` output from the `Build` workflow + +## [1.6.0] - 2023-04-13 + +### Added + +- Temporary workaround for Kotlin Compiler `OutOfMemoryError` -> https://jb.gg/intellij-platform-kotlin-oom +- Gradle version catalog integration +- Gradle Kotlin DSL Lazy Property Assignment +- Enable Gradle Build Cache + +### Changed + +- Dependencies - upgrade `org.jetbrains.intellij` to `1.13.3` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.20` +- Upgrade Gradle Wrapper to `8.1` +- Remove `UnusedProperty` suppression in `gradle.properties` file +- Rename `org.gradle.unsafe.configuration-cache` to `org.gradle.configuration-cache` in `gradle.properties` + +## [1.5.0] - 2023-03-10 + +### Added + +- Migrate to Gradle Provider API improving configuration cache compatibility +- Example code - `FrameStateListener` application listener +- Example code - `MyToolWindowFactory` tool window basic implementation + +### Changed + +- Update `platformVersion` to `2022.1.4` +- Change since/until build to `221-231.*` (2022.1-2023.1.*) +- Example code - registered project service changed into a lightweight one +- GitHub Actions — pass changelog release notes as a multi-line content +- GitHub Actions — provide `plugin.verifier.home.dir` variable as a system property instead of project property +- Template Cleanup: remove default `pluginIcon.svg` icon +- Upgrade Gradle Wrapper to `8.0.2` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.10` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.13.2` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.3.4` +- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `v1.0.6` + +### Fixed + +- Resolving the content for the `patchPluginXML.changeNotes` property + +### Removed + +- Example code — application service +- Example code — deprecated `ProjectManagerListener` application listener + +## [1.4.0] - 2023-01-13 + +### Changed + +- GitHub Actions — use `GITHUB_OUTPUT` environment file instead of `::set-output`. +- Upgrade Gradle Wrapper to `7.6` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.0` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.12.0` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.3.0` + +### Fixed + +- Fallback to the unreleased change notes when the plugin in current was not released yet + +## [1.3.0] - 2022-11-17 + +### Added + +- [Kover](https://github.com/Kotlin/kotlinx-kover) integration +- Enable [Gradle Configuration Cache](https://docs.gradle.org/current/userguide/configuration_cache.html) in `gradle.proeprties` +- GitHub Actions — mark the pull request created with _Publish Plugin_ workflow with `release changelog` label +- GitHub Actions — send code coverage reports to [CodeCov](https://codecov.io) +- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.6.1` + +### Changed + +- Update `changelog` extension configuration in `build.gradle.kts` file +- Update `pluginUntilBuild` to include `223.*` (2022.3.*) +- Use `kotlin.jvmToolchain(11)` shorthand in Gradle configuration +- Dependencies - upgrade `org.jetbrains.intellij` to `1.10.0` +- Dependencies - upgrade `org.jetbrains.changelog` to `2.0.0` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.7.21` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.2.3` +- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `v1.0.5` +- Dependencies (GitHub Actions) - upgrade `jtalk/url-health-check-action` to `v3` +- Use `file` instead of `projectDir.resolve` in Gradle configuration file + +### Fixed + +- Update broken link in `gradle.properties` +- GitHub Actions — use `$BRANCH` for creating changelog pull request + +## [1.2.0] - 2022-08-07 + +### Added + +- Use JVM toolchain for configuring source/target compilation compatibility +- Make sure GitHub Actions release jobs have write permissions +- Example implementation: Add `TODO()` with a hint to remove stale sample code +- Exclude `.qodana` directory from Qodana analysis +- Maximize disk space on GitHub Actions + +### Changed + +- Upgrade Gradle Wrapper to `7.5.1` +- Update `platformVersion` to `2021.3.3` +- Change since/until build to `213-222.*` (2021.3-2022.2) +- Dependencies - upgrade `org.jetbrains.intellij` to `1.8.0` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.7.10` +- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `3` +- Dependencies (GitHub Actions) - upgrade `actions/cache` to `3` +- Dependencies (GitHub Actions) - upgrade `actions/setup-java` to `3` +- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `3` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.2.1` + +### Fixed + +- Pass Plugin Signing secrets as environment variables in the Release workflow + +### Removed + +- Removed Gradle caching from GitHub Actions + +## [1.1.2] - 2022-02-11 + +### Changed + +- Update `platformVersion` to `2021.1.3` for compatibility with Apple M1 +- Change since/until build to `211-213.*` (2021.1-2021.3) +- Upgrade Gradle Wrapper to `7.4` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.4.0` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `4.2.5` + +## [1.1.1] - 2022-01-24 + +### Changed + +- GitHub Actions — fixed duplicated `.zip` extension in artifact file's name of the build flow +- Upgrade Gradle Wrapper to `7.3.3` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.3.1` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.6.10` +- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `4.2.3` +- Dependencies (GitHub Actions) - upgrade `actions/cache` to `2.1.7` + +## [1.1.0] - 2021-11-16 + +### Added + +- GitHub Actions: Collect Qodana/Tests/Plugin Verifier results as artifacts + +### Changed + +- Dependencies - upgrade `org.jetbrains.intellij` to `1.3.0` +- Dependencies - upgrade `org.jetbrains.changelog` to `1.3.1` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.6.0` +- Dependencies (GitHub Actions) - upgrade `jtalk/url-health-check-action` to `2` +- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `2.3.5` +- GitHub Actions general performance refactoring +- GitHub Actions — prepare plugin archive content to be archived at once +- GitHub Actions — patch changelog only if change notes are provided +- Update `pluginUntilBuild` to include `213.*` (2021.3.*) +- Upgrade Gradle Wrapper to `7.3` + +### Fixed + +- Fixed passing change notes from `CHANGELOG.md` to the Release Draft +- Fixed passing updated change notes from the Release Draft to `patchChangelog` Gradle task +- Fixed `QODANA_SHOW_REPORT` environment variable resolving for Gradle `6.x` + +### Removed + +- Removed the `pluginVerifierIdeVersions` configuration to use a default IDEs list provided by the `listProductsReleases` task for `runPluginVerifier` +- Removed `platformDownloadSources` from Gradle configuration to use default value +- Removed `updateSinceUntilBuild.set(true)` from Gradle configuration to use default value + +## [1.0.0] - 2021-09-07 + +### Added + +- Plugin Signing +- Qodana integration +- Functional tests +- Compatibility with Java 11 +- `Run Qodana` and `Run IDE for UI Tests` run configurations +- Use Gradle `wrapper` task to handle Gradle updates +- JVM compatibility version extracted to `gradle.properties` file +- Suppress `UnusedProperty` inspection for the `kotlin.stdlib.default.dependency` in `gradle.properties` + +### Changed + +- GitHub Actions: Switch to Java 11 +- GitHub Actions: Update Build and Release flows +- GitHub Actions: Use Gradle cache provided with `actions/setup-java` +- Update `pluginVerifierIdeVersions` to `2020.3.4, 2021.1.3, 2021.2.1` +- Change since/until build to `203-212.*` +- Upgrade Gradle Wrapper to `7.2` +- Gradle – Changelog plugin configuration update +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.5.30` +- Dependencies - upgrade `org.jetbrains.changelog` to `1.3.0` +- Dependencies - upgrade `org.jetbrains.intellij` to `1.1.6` +- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `v2.2.4` + +### Fixed + +- Use `DynamicBundle` instead of `AbstractBundle` in `MyBundle.kt` + +### Removed + +- Removed `detekt`/`ktlint` integration + +## [0.10.1] - 2021-05-31 + +### Added + +- Introduced `next` branch in the root repository to make `main` always a stable one + +### Changed + +- Dependencies (GitHub Actions) - upgrade `actions/cache` to `v2.1.6` +- Trigger GitHub Actions `Build` workflows only on pushes to `main` branch or pull request to avoid duplicated checks + +## [0.10.0] - 2021-05-27 + +### Changed + +- Remove reference to the `jcenter()` from Gradle configuration file +- Update `pluginVerifierIdeVersions` to `2020.2.4, 2020.3.4, 2021.1.2` +- Update `pluginUntilBuild` to include `211.*` (2021.1.*) +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.5.10` +- Dependencies - upgrade `detekt-formatting from` to `1.17.1` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.17.1` +- Dependencies (GitHub Actions) - upgrade `actions/cache` to `v2.1.5` +- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `v2.3.4` +- Dependencies (GitHub Actions) - upgrade `actions/upload-release-asset` to `v1.0.2` +- Dependencies (GitHub Actions) - upgrade `actions/create-release` to `v1.1.4` +- Upgrade Gradle Wrapper to `7.0.2` + +## [0.9.0] - 2021-03-29 + +### Added + +- `properties` shorthand function for accessing `gradle.properties` in a cleaner way +- Dependabot check for GitHub Actions used in [workflow files](.github/workflows) + +### Changed + +- Dependencies - upgrade `detekt-formatting from` to `1.16.0` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.16.0` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.32` +- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `v2.2.2` +- Dependencies (GitHub Actions) - upgrade `actions/cache` to `v2.1.4` + +### Fixed + +- Fix `README.md` file resolution in the `build.gradle.kts` + +## [0.8.3] - 2021-02-23 + +### Changed + +- Dependencies - upgrade `org.jetbrains.intellij` to `0.7.2` +- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `10.0.0` +- Update `platformVersion` to `2020.2.4` for compatibility with macOS Big Sur +- Upgrade Gradle Wrapper to `6.8.3` + +## [0.8.2] - 2021-02-09 + +### Changed + +- Use `-bin` distribution of the Gradle Wrapper +- Upgrade Gradle Wrapper to `6.8.2` +- Update `pluginVerifierIdeVersions` in `gradle.properties` files +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.30` +- Dependencies - upgrade `org.jetbrains.changelog` to `1.1.1` +- Configure the `changelog` Gradle plugin + +## [0.8.1] - 2021-01-12 + +### Added + +- README: Dependencies management section + +### Changed + +- Upgrade Gradle Wrapper to `6.8` +- Dependencies - upgrade `org.jetbrains.changelog` to `1.0.0` + +### Fixed + +- Template Cleanup: Escape GitHub username to avoid incorrect characters in class package name +- Template Cleanup: Run `ktlintFormat` task to fix imports order +- GitHub Actions: Use the correct property in the "Upload artifact" step + +## [0.8.0] - 2020-12-21 + +### Added + +- Dependabot integration +- Show `idea.log` logs of the run IDE in the Run console +- README: FAQ section + +### Changed + +- `build.gradle.kts`: simpler syntax for configuring `KotlinCompile` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.21` +- Dependencies - upgrade `detekt-formatting` to `1.15.0` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.15.0` +- README: Clarifying the Java usage in the project +- `pluginVerifierIdeVersions` - upgrade to `2020.1.4, 2020.2.3, 2020.3.1` + +### Fixed + +- Return `Supplier<@Nls String>` instead of `String` in `MyBundle.messagePointer` + +## [0.7.1] - 2020-12-02 + +### Changed + +- Upgrade Gradle Wrapper to `6.7.1` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.5` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.20` +- Update the base platform version to 2020.1 +- Change since/until build to `201-203.*` + +## [0.7.0] - 2020-11-16 + +### Added + +- Predefined Run/Debug Configurations +- Project icon for development purposes + +### Changed + +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.3` + +## [0.6.1] - 2020-11-05 + +### Added + +- GitHub Actions — use hash based on `pluginVerifierIdeVersions` in `Setup Plugin Verifier IDEs Cache` step + +### Changed + +- Use [Kotlin extension function](https://plugins.jetbrains.com/docs/intellij/plugin-services.html#retrieving-a-service) to retrieve the `MyProjectService` in the `MyProjectManagerListener` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.2` +- Update `pluginVerifierIdeVersions` in the `gradle.properties` files + +## [0.6.0] - 2020-10-29 + +### Added + +- Integration with [IntelliJ Plugin Verifier](https://github.com/JetBrains/intellij-plugin-verifier) through the [Gradle IntelliJ Plugin](https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#runpluginverifier-task) `runPluginVerifier` task +- Cache downloaded IDEs used by Plugin Verifier for the verification + +### 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.6.1` +- GitHub Actions — `gradleValidation` update to `gradle/wrapper-validation-action@v1.0.3` +- GitHub Actions — `releaseDraft` update to `actions/download-artifact@v2` + +### Removed + +- Remove Third-party IntelliJ Plugin Verifier GitHub Action + +## [0.5.1] - 2020-10-15 + +### Added + +- Missing properties in the `gradle.properties` template file + +### Changed + +- Upgrade Gradle Wrapper to `6.7` +- Dependencies - upgrade `org.jetbrains.changelog` to `0.6.2` + +## [0.5.0] - 2020-10-12 + +### Added + +- Introduced `platformPlugins` property in `gradle.properties` for configuring dependencies to bundled/external plugins + +### Changed + +- Disable "Release Draft" job for pull requests in the "Build" GitHub Actions Workflow +- Dependencies - upgrade `org.jetbrains.intellij` to `0.5.0` +- Dependencies - upgrade `org.jetbrains.changelog` to `0.6.1` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.14.1` +- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `9.4.1` +- Remove LICENSE file during the Template Cleanup workflow + +## [0.4.0] - 2020-10-02 + +### Added + +- Fix default to opt-out of bundling Kotlin standard library in plugin distribution + +### Changed + +- GitHub Actions: allow releasing plugin even for the base project +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.10` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.13.1` + +### Fixed + +- `pluginName` variable name collision with `intellij` closure getter in Gradle configuration #29 + +## [0.3.2] - 2020-08-09 + +### Changed + +- Simplify and optimize GitHub Actions +- Gradle Wrapper upgrade to `6.6.1` +- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.0` +- Dependencies - upgrade `org.jetbrains.intellij` to `0.4.22` +- Dependencies - upgrade `org.jetbrains.changelog` to `0.5.0` +- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.12.0` +- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `9.4.0` +- Rename `master` branch to `main` + +### Fixed + +- GitHub Actions — cache Gradle dependencies and wrapper separately + +## [0.3.1] - 2020-07-31 + +### Added + +- Better handling of the Gradle plugin description extraction from the README file +- GitHub Actions — cache Gradle Wrapper + +### Changed + +- Gradle - remove kotlin("stdlib-jdk8") dependency to decrease the plugin artifact size +- Dependencies - bump ktlint to `9.3.0` +- GitHub Actions — make *Update Changelog* job dependent on the *Publish Plugin* +- GitHub Actions — run plugin verifier against `2019.3` `2020.1` `2020.2` + +### Fixed + +- Resolve ktlint reports +- GitHub Actions — Plugin Verifier broken for artifacts with spaces in name + +## [0.3.0] - 2020-07-07 + +### Added + +- Set the publishing channel depending on the plugin version, i.e. `1.0.0-beta` -> `beta` channel + +### Changed + +- Update `org.jetbrains.changelog` dependency to `v0.3.3` +- Update Gradle Wrapper to `v6.5.1` +- Run GitHub Actions Release workflow on `prereleased` event +- GitHub Actions — Release, separate changelog-related job from the release + +### Fixed + +- Remove vendor website from `plugin.xml` +- Update Template Cleanup workflow test to avoid running it on forks + +## [0.2.0] - 2020-07-02 + +### Added + +- JetBrains Plugin badges and TODO list for the end users +- `ktlint` integration + +### Changed + +- `pluginUntilBuild` set to the correct format: `201.*` +- Bump detekt dependency to `1.10.0` + +### Fixed + +- GitHub Actions — Template Cleanup, fixed adding files to git +- Update Template plugin name on cleanup +- Set `buildUponDefaultConfig = true` in detekt configuration + +## [0.1.0] - 2020-06-26 + +### Added + +- `settings.gradle.kts` for the [performance purposes](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#always_define_a_settings_file) +- `#REMOVE-ON-CLEANUP#` token to mark content to be removed with **Template Cleanup** workflow + +### Changed + +- README proofreading +- GitHub Actions — Update IDE versions for the Plugin Verifier +- Update platformVersion to `2020.1.2` + +## [0.0.2] - 2020-06-22 + +### Added + +- [Gradle Changelog Plugin](https://github.com/JetBrains/gradle-changelog-plugin) integration + +### Changed + +- Bump Detekt version +- Change pluginSinceBuild to 193 + +## [0.0.1] + +### Added + +- Initial project scaffold +- GitHub Actions to automate testing and deployment +- Kotlin support + +[Unreleased]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v2.0.1...HEAD +[2.0.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v2.0.0...v2.0.1 +[2.0.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.14.2...v2.0.0 +[1.14.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.14.1...v1.14.2 +[1.14.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.14.0...v1.14.1 +[1.14.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.13.0...v1.14.0 +[1.13.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.12.0...v1.13.0 +[1.12.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.3...v1.12.0 +[1.11.3]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.2...v1.11.3 +[1.11.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.1...v1.11.2 +[1.11.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.0...v1.11.1 +[1.11.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.10.0...v1.11.0 +[1.10.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.9.0...v1.10.0 +[1.9.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.8.0...v1.9.0 +[1.8.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.7.0...v1.8.0 +[1.7.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.6.0...v1.7.0 +[1.6.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.5.0...v1.6.0 +[1.5.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.4.0...v1.5.0 +[1.4.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.3.0...v1.4.0 +[1.3.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.2.0...v1.3.0 +[1.2.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.1.2...v1.2.0 +[1.1.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.1.1...v1.1.2 +[1.1.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.1.0...v1.1.1 +[1.1.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.0.0...v1.1.0 +[1.0.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.10.1...v1.0.0 +[0.10.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.10.0...v0.10.1 +[0.10.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.9.0...v0.10.0 +[0.9.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.3...v0.9.0 +[0.8.3]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.2...v0.8.3 +[0.8.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.1...v0.8.2 +[0.8.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.0...v0.8.1 +[0.8.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.7.1...v0.8.0 +[0.7.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.7.0...v0.7.1 +[0.7.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.6.1...v0.7.0 +[0.6.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.6.0...v0.6.1 +[0.6.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.5.1...v0.6.0 +[0.5.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.5.0...v0.5.1 +[0.5.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.4.0...v0.5.0 +[0.4.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.3.2...v0.4.0 +[0.3.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.3.1...v0.3.2 +[0.3.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.3.0...v0.3.1 +[0.3.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.2.0...v0.3.0 +[0.2.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.1.0...v0.2.0 +[0.1.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.0.2...v0.1.0 +[0.0.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.0.1...v0.0.2 +[0.0.1]: https://github.com/JetBrains/intellij-platform-plugin-template/commits/v0.0.1 \ No newline at end of file From 99369dec7a0af6276a79d14157640d9f1fdab451 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 16:00:12 +0200 Subject: [PATCH 08/21] Simplifies CHANGELOG --- CHANGELOG.md | 780 --------------------------------------------------- 1 file changed, 780 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1295962..f3583ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,785 +16,5 @@ - Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.8.3` - Dependencies - upgrade `org.jetbrains.qodana` to `2024.1.9` -## [2.0.0] - 2024-07-30 - -### Changed - -- Migrate to [IntelliJ Platform Gradle Plugin 2.0](https://blog.jetbrains.com/platform/2024/07/intellij-platform-gradle-plugin-2-0/). - -## [1.14.2] - 2024-07-12 - -### Changed - -- Upgrade Gradle Wrapper to `8.9` - -### Removed - -- Remove default plugin icon (`pluginIcon.svg`) - -## [1.14.1] - 2024-06-19 - -### Changed - -- Update `platformVersion` to `2023.2.7` -- Upgrade Gradle Wrapper to `8.8` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.17.4` -- Dependencies - downgrade `org.jetbrains.kotlin.jvm` to `1.9.24` -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.8.1` - -## [1.14.0] - 2024-05-30 - -### Changed - -- Update `platformVersion` to `2023.2.6` -- Change since/until build to `232-242.*` (2023.2-2024.2.*) -- Upgrade Gradle Wrapper to `8.7` -- Update Kover configuration -- Replace `org.jetbrains:annotations` library with an `com.example:exampleLibrary` placeholder -- Dependencies - upgrade `org.jetbrains.intellij` to `1.17.3` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `2.0.0` -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.8.0` -- Dependencies - upgrade `org.jetbrains.qodana` to `2024.1.5` -- Dependencies (GitHub Actions) - replace `gradle/wrapper-validation-action@v2` with `gradle/actions/wrapper-validation@v3` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2024.1.5` -- Dependencies (GitHub Actions) - upgrade `jtalk/url-health-check-action` to `v4` - -## [1.13.0] - 2024-03-11 - -### Changed - -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.23` -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.6` -- Dependencies - upgrade `org.jetbrains.qodana` to `2023.3.2` -- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `4` -- Dependencies (GitHub Actions) - upgrade `codecov/codecov-action` to `4` -- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `2` -- Dependencies (GitHub Actions) - upgrade `actions/cache` to `4` -- Gradle - upgrade `org.gradle.toolchains.foojay-resolver-convention` to `0.8.0` -- Gradle - cleanup the `jvmToolchain` setup -- Run Configurations - `Run Qodana` runs the `qodanaScan` Gradle task - -### Fixed - -- Fixed calculation of the plugin publication channel -- Run Configurations - `Run Tests` uses the `RunAsTest` IDE feature -- Replace the whole `IntelliJ Platform Plugin Template` with the new project name when running the GitHub Actions Cleanup workflow - -### Removed - -- GitHub Actions: Remove the `Setup Java` step from the `releaseDraft` build step -- Gradle - Removed Qodana Gradle Plugin configuration to rely on defaults - -## [1.12.0] - 2024-02-20 - -### Added - -- GitHub Actions: Reduce the number of concurrent builds - -### Changed - -- Change since/until build to `223-241.*` (2022.3-2024.1.*) -- Upgrade Gradle Wrapper to `8.6` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.17.2` -- Dependencies (GitHub Actions) - upgrade `gradle/gradle-build-action@v2` to `gradle/actions/setup-gradle@v3` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.3.1` - -### Fixed - -- Adjusted obtaining the value for `publishPlugin.channels` property in `build.gradle.kts` -- Fixed bash variable access in the Create Release Draft step. - -### Removed - -- Remove Gradle Kotlin DSL Lazy Property Assignment because it's default now - -## [1.11.3] - 2023-12-01 - -### Changed - -- Upgrade Gradle Wrapper to `8.5` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.16.1` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.21` -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.5` -- Dependencies - upgrade `annotations` to `24.1.0` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.2.8` -- Dependencies (GitHub Actions) - upgrade `actions/setup-java` to `4` - -## [1.11.2] - 2023-10-06 - -### Changed - -- Upgrade Gradle Wrapper to `8.4` -- Gradle - use JetBrains Runtime -- Gradle - upgrade `org.gradle.toolchains.foojay-resolver-convention` to `0.7.0` -- Change since/until build to `223-233.*` (2022.3-2023.3.*) -- Dependencies - upgrade `org.jetbrains.intellij` to `1.16.0` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.10` -- Dependencies - upgrade `org.jetbrains.changelog` to `2.2.0` -- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `4` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.2.6` - -## [1.11.1] - 2023-08-17 - -### Fixed - -- GitHub Actions: publish workflow fails due to the existing `release changelog` label - -### Changed - -- Upgrade Gradle Wrapper to `8.3` - -## [1.11.0] - 2023-08-07 - -### Changed - -- GitHub Actions: move the `Maximize Build Space` step from the `Build` job to `Inspect code` and `Verify plugin` jobs -- Update `platformVersion` to `2022.3.3` -- Change since/until build to `223-232.*` (2022.3-2023.2.*) -- `MyBundle`: remove `SpreadOperator` suppression -- `MyBundle.properties`: remove unused `name` property - -## [1.10.0] - 2023-08-04 - -### Added - -- [Foojay Toolchains Plugin](https://github.com/gradle/foojay-toolchains) integration -- GitHub Actions: set `gradle-home-cache-cleanup: true` flag to the Gradle Build Action -- GitHub Actions: use `jlumbroso/free-disk-space` to free disk space - -### Changed - -- GitHub Actions: rearrange the Build workflow -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.3` -- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `v1.1.0` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.2.1` - -### Fixed - -- GitHub Actions: Fixed Kover report path when uploading the code coverage report - -## [1.9.0] - 2023-07-11 - -### Added - -- GitHub Actions — use Java `17` explicitly - -### Changed - -- Upgrade Gradle Wrapper to `8.2.1` -- Dependencies — upgrade `org.jetbrains.changelog` to `2.1.2` -- GitHub Actions — rearrange the Build workflow - -### Fixed - -- Fixed copying files issue when running the `Template Cleanup` workflow - -## [1.8.0] - 2023-07-07 - -### Changed - -- GitHub Actions: Build workflow refactoring -- Upgrade Gradle Wrapper to `8.2` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.9.0` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.15.0` -- Dependencies - upgrade `org.jetbrains.changelog` to `2.1.1` -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.2` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.1.5` - -### Fixed - -- Dependabot workflow points to `next` branch in a newly created project - -### Removed - -- Removed workaround for Kotlin Compiler `OutOfMemoryError` as the issue is gone with Kotlin `1.9.0` - -## [1.7.0] - 2023-06-07 - -### Added - -- GitHub Actions — enable caching -- Specify `projectJDK: 17` in `qodana.yml` -- Specify `linter` property in `qodana.yml` - -### Changed - -- Use Java `17` for JVM Toolchain -- Change since/until build to `222-232.*` (2022.2–2023.2.*) -- Dependencies - upgrade `org.jetbrains.intellij` to `1.14.1` -- Dependencies - upgrade `org.jetbrains.changelog` to `2.1.0` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.21` -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.7.1` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2023.1.0` -- Upgrade Gradle Wrapper to `8.1.1` -- GitHub Actions — switch to Java 17 -- Update Run Configuration entries -- Adjust Kover configuration - -### Fixed - -- Example code — Fixed deprecated usage of `ContentFactory` in `MyToolWindowFactory` -- Example code — Migrate from the deprecated `FrameStateListener.onFrameActivated()` to `ApplicationActivationListener.applicationActivated(IdeFrame)` - -### Removed - -- Remove `gradleJvm` property from the `.idea/gradle.xml` file -- GitHub Actions — Drop unused `name` output from the `Build` workflow - -## [1.6.0] - 2023-04-13 - -### Added - -- Temporary workaround for Kotlin Compiler `OutOfMemoryError` -> https://jb.gg/intellij-platform-kotlin-oom -- Gradle version catalog integration -- Gradle Kotlin DSL Lazy Property Assignment -- Enable Gradle Build Cache - -### Changed - -- Dependencies - upgrade `org.jetbrains.intellij` to `1.13.3` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.20` -- Upgrade Gradle Wrapper to `8.1` -- Remove `UnusedProperty` suppression in `gradle.properties` file -- Rename `org.gradle.unsafe.configuration-cache` to `org.gradle.configuration-cache` in `gradle.properties` - -## [1.5.0] - 2023-03-10 - -### Added - -- Migrate to Gradle Provider API improving configuration cache compatibility -- Example code - `FrameStateListener` application listener -- Example code - `MyToolWindowFactory` tool window basic implementation - -### Changed - -- Update `platformVersion` to `2022.1.4` -- Change since/until build to `221-231.*` (2022.1-2023.1.*) -- Example code - registered project service changed into a lightweight one -- GitHub Actions — pass changelog release notes as a multi-line content -- GitHub Actions — provide `plugin.verifier.home.dir` variable as a system property instead of project property -- Template Cleanup: remove default `pluginIcon.svg` icon -- Upgrade Gradle Wrapper to `8.0.2` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.10` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.13.2` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.3.4` -- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `v1.0.6` - -### Fixed - -- Resolving the content for the `patchPluginXML.changeNotes` property - -### Removed - -- Example code — application service -- Example code — deprecated `ProjectManagerListener` application listener - -## [1.4.0] - 2023-01-13 - -### Changed - -- GitHub Actions — use `GITHUB_OUTPUT` environment file instead of `::set-output`. -- Upgrade Gradle Wrapper to `7.6` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.8.0` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.12.0` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.3.0` - -### Fixed - -- Fallback to the unreleased change notes when the plugin in current was not released yet - -## [1.3.0] - 2022-11-17 - -### Added - -- [Kover](https://github.com/Kotlin/kotlinx-kover) integration -- Enable [Gradle Configuration Cache](https://docs.gradle.org/current/userguide/configuration_cache.html) in `gradle.proeprties` -- GitHub Actions — mark the pull request created with _Publish Plugin_ workflow with `release changelog` label -- GitHub Actions — send code coverage reports to [CodeCov](https://codecov.io) -- Dependencies - upgrade `org.jetbrains.kotlinx.kover` to `0.6.1` - -### Changed - -- Update `changelog` extension configuration in `build.gradle.kts` file -- Update `pluginUntilBuild` to include `223.*` (2022.3.*) -- Use `kotlin.jvmToolchain(11)` shorthand in Gradle configuration -- Dependencies - upgrade `org.jetbrains.intellij` to `1.10.0` -- Dependencies - upgrade `org.jetbrains.changelog` to `2.0.0` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.7.21` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.2.3` -- Dependencies (GitHub Actions) - upgrade `gradle/wrapper-validation-action` to `v1.0.5` -- Dependencies (GitHub Actions) - upgrade `jtalk/url-health-check-action` to `v3` -- Use `file` instead of `projectDir.resolve` in Gradle configuration file - -### Fixed - -- Update broken link in `gradle.properties` -- GitHub Actions — use `$BRANCH` for creating changelog pull request - -## [1.2.0] - 2022-08-07 - -### Added - -- Use JVM toolchain for configuring source/target compilation compatibility -- Make sure GitHub Actions release jobs have write permissions -- Example implementation: Add `TODO()` with a hint to remove stale sample code -- Exclude `.qodana` directory from Qodana analysis -- Maximize disk space on GitHub Actions - -### Changed - -- Upgrade Gradle Wrapper to `7.5.1` -- Update `platformVersion` to `2021.3.3` -- Change since/until build to `213-222.*` (2021.3-2022.2) -- Dependencies - upgrade `org.jetbrains.intellij` to `1.8.0` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.7.10` -- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `3` -- Dependencies (GitHub Actions) - upgrade `actions/cache` to `3` -- Dependencies (GitHub Actions) - upgrade `actions/setup-java` to `3` -- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `3` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `v2022.2.1` - -### Fixed - -- Pass Plugin Signing secrets as environment variables in the Release workflow - -### Removed - -- Removed Gradle caching from GitHub Actions - -## [1.1.2] - 2022-02-11 - -### Changed - -- Update `platformVersion` to `2021.1.3` for compatibility with Apple M1 -- Change since/until build to `211-213.*` (2021.1-2021.3) -- Upgrade Gradle Wrapper to `7.4` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.4.0` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `4.2.5` - -## [1.1.1] - 2022-01-24 - -### Changed - -- GitHub Actions — fixed duplicated `.zip` extension in artifact file's name of the build flow -- Upgrade Gradle Wrapper to `7.3.3` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.3.1` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.6.10` -- Dependencies (GitHub Actions) - upgrade `JetBrains/qodana-action` to `4.2.3` -- Dependencies (GitHub Actions) - upgrade `actions/cache` to `2.1.7` - -## [1.1.0] - 2021-11-16 - -### Added - -- GitHub Actions: Collect Qodana/Tests/Plugin Verifier results as artifacts - -### Changed - -- Dependencies - upgrade `org.jetbrains.intellij` to `1.3.0` -- Dependencies - upgrade `org.jetbrains.changelog` to `1.3.1` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.6.0` -- Dependencies (GitHub Actions) - upgrade `jtalk/url-health-check-action` to `2` -- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `2.3.5` -- GitHub Actions general performance refactoring -- GitHub Actions — prepare plugin archive content to be archived at once -- GitHub Actions — patch changelog only if change notes are provided -- Update `pluginUntilBuild` to include `213.*` (2021.3.*) -- Upgrade Gradle Wrapper to `7.3` - -### Fixed - -- Fixed passing change notes from `CHANGELOG.md` to the Release Draft -- Fixed passing updated change notes from the Release Draft to `patchChangelog` Gradle task -- Fixed `QODANA_SHOW_REPORT` environment variable resolving for Gradle `6.x` - -### Removed - -- Removed the `pluginVerifierIdeVersions` configuration to use a default IDEs list provided by the `listProductsReleases` task for `runPluginVerifier` -- Removed `platformDownloadSources` from Gradle configuration to use default value -- Removed `updateSinceUntilBuild.set(true)` from Gradle configuration to use default value - -## [1.0.0] - 2021-09-07 - -### Added - -- Plugin Signing -- Qodana integration -- Functional tests -- Compatibility with Java 11 -- `Run Qodana` and `Run IDE for UI Tests` run configurations -- Use Gradle `wrapper` task to handle Gradle updates -- JVM compatibility version extracted to `gradle.properties` file -- Suppress `UnusedProperty` inspection for the `kotlin.stdlib.default.dependency` in `gradle.properties` - -### Changed - -- GitHub Actions: Switch to Java 11 -- GitHub Actions: Update Build and Release flows -- GitHub Actions: Use Gradle cache provided with `actions/setup-java` -- Update `pluginVerifierIdeVersions` to `2020.3.4, 2021.1.3, 2021.2.1` -- Change since/until build to `203-212.*` -- Upgrade Gradle Wrapper to `7.2` -- Gradle – Changelog plugin configuration update -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.5.30` -- Dependencies - upgrade `org.jetbrains.changelog` to `1.3.0` -- Dependencies - upgrade `org.jetbrains.intellij` to `1.1.6` -- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `v2.2.4` - -### Fixed - -- Use `DynamicBundle` instead of `AbstractBundle` in `MyBundle.kt` - -### Removed - -- Removed `detekt`/`ktlint` integration - -## [0.10.1] - 2021-05-31 - -### Added - -- Introduced `next` branch in the root repository to make `main` always a stable one - -### Changed - -- Dependencies (GitHub Actions) - upgrade `actions/cache` to `v2.1.6` -- Trigger GitHub Actions `Build` workflows only on pushes to `main` branch or pull request to avoid duplicated checks - -## [0.10.0] - 2021-05-27 - -### Changed - -- Remove reference to the `jcenter()` from Gradle configuration file -- Update `pluginVerifierIdeVersions` to `2020.2.4, 2020.3.4, 2021.1.2` -- Update `pluginUntilBuild` to include `211.*` (2021.1.*) -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.5.10` -- Dependencies - upgrade `detekt-formatting from` to `1.17.1` -- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.17.1` -- Dependencies (GitHub Actions) - upgrade `actions/cache` to `v2.1.5` -- Dependencies (GitHub Actions) - upgrade `actions/checkout` to `v2.3.4` -- Dependencies (GitHub Actions) - upgrade `actions/upload-release-asset` to `v1.0.2` -- Dependencies (GitHub Actions) - upgrade `actions/create-release` to `v1.1.4` -- Upgrade Gradle Wrapper to `7.0.2` - -## [0.9.0] - 2021-03-29 - -### Added - -- `properties` shorthand function for accessing `gradle.properties` in a cleaner way -- Dependabot check for GitHub Actions used in [workflow files](.github/workflows) - -### Changed - -- Dependencies - upgrade `detekt-formatting from` to `1.16.0` -- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.16.0` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.32` -- Dependencies (GitHub Actions) - upgrade `actions/upload-artifact` to `v2.2.2` -- Dependencies (GitHub Actions) - upgrade `actions/cache` to `v2.1.4` - -### Fixed - -- Fix `README.md` file resolution in the `build.gradle.kts` - -## [0.8.3] - 2021-02-23 - -### Changed - -- Dependencies - upgrade `org.jetbrains.intellij` to `0.7.2` -- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `10.0.0` -- Update `platformVersion` to `2020.2.4` for compatibility with macOS Big Sur -- Upgrade Gradle Wrapper to `6.8.3` - -## [0.8.2] - 2021-02-09 - -### Changed - -- Use `-bin` distribution of the Gradle Wrapper -- Upgrade Gradle Wrapper to `6.8.2` -- Update `pluginVerifierIdeVersions` in `gradle.properties` files -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.30` -- Dependencies - upgrade `org.jetbrains.changelog` to `1.1.1` -- Configure the `changelog` Gradle plugin - -## [0.8.1] - 2021-01-12 - -### Added - -- README: Dependencies management section - -### Changed - -- Upgrade Gradle Wrapper to `6.8` -- Dependencies - upgrade `org.jetbrains.changelog` to `1.0.0` - -### Fixed - -- Template Cleanup: Escape GitHub username to avoid incorrect characters in class package name -- Template Cleanup: Run `ktlintFormat` task to fix imports order -- GitHub Actions: Use the correct property in the "Upload artifact" step - -## [0.8.0] - 2020-12-21 - -### Added - -- Dependabot integration -- Show `idea.log` logs of the run IDE in the Run console -- README: FAQ section - -### Changed - -- `build.gradle.kts`: simpler syntax for configuring `KotlinCompile` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.21` -- Dependencies - upgrade `detekt-formatting` to `1.15.0` -- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.15.0` -- README: Clarifying the Java usage in the project -- `pluginVerifierIdeVersions` - upgrade to `2020.1.4, 2020.2.3, 2020.3.1` - -### Fixed - -- Return `Supplier<@Nls String>` instead of `String` in `MyBundle.messagePointer` - -## [0.7.1] - 2020-12-02 - -### Changed - -- Upgrade Gradle Wrapper to `6.7.1` -- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.5` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.20` -- Update the base platform version to 2020.1 -- Change since/until build to `201-203.*` - -## [0.7.0] - 2020-11-16 - -### Added - -- Predefined Run/Debug Configurations -- Project icon for development purposes - -### Changed - -- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.3` - -## [0.6.1] - 2020-11-05 - -### Added - -- GitHub Actions — use hash based on `pluginVerifierIdeVersions` in `Setup Plugin Verifier IDEs Cache` step - -### Changed - -- Use [Kotlin extension function](https://plugins.jetbrains.com/docs/intellij/plugin-services.html#retrieving-a-service) to retrieve the `MyProjectService` in the `MyProjectManagerListener` -- Dependencies - upgrade `org.jetbrains.intellij` to `0.6.2` -- Update `pluginVerifierIdeVersions` in the `gradle.properties` files - -## [0.6.0] - 2020-10-29 - -### Added - -- Integration with [IntelliJ Plugin Verifier](https://github.com/JetBrains/intellij-plugin-verifier) through the [Gradle IntelliJ Plugin](https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#runpluginverifier-task) `runPluginVerifier` task -- Cache downloaded IDEs used by Plugin Verifier for the verification - -### 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.6.1` -- GitHub Actions — `gradleValidation` update to `gradle/wrapper-validation-action@v1.0.3` -- GitHub Actions — `releaseDraft` update to `actions/download-artifact@v2` - -### Removed - -- Remove Third-party IntelliJ Plugin Verifier GitHub Action - -## [0.5.1] - 2020-10-15 - -### Added - -- Missing properties in the `gradle.properties` template file - -### Changed - -- Upgrade Gradle Wrapper to `6.7` -- Dependencies - upgrade `org.jetbrains.changelog` to `0.6.2` - -## [0.5.0] - 2020-10-12 - -### Added - -- Introduced `platformPlugins` property in `gradle.properties` for configuring dependencies to bundled/external plugins - -### Changed - -- Disable "Release Draft" job for pull requests in the "Build" GitHub Actions Workflow -- Dependencies - upgrade `org.jetbrains.intellij` to `0.5.0` -- Dependencies - upgrade `org.jetbrains.changelog` to `0.6.1` -- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.14.1` -- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `9.4.1` -- Remove LICENSE file during the Template Cleanup workflow - -## [0.4.0] - 2020-10-02 - -### Added - -- Fix default to opt-out of bundling Kotlin standard library in plugin distribution - -### Changed - -- GitHub Actions: allow releasing plugin even for the base project -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.10` -- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.13.1` - -### Fixed - -- `pluginName` variable name collision with `intellij` closure getter in Gradle configuration #29 - -## [0.3.2] - 2020-08-09 - -### Changed - -- Simplify and optimize GitHub Actions -- Gradle Wrapper upgrade to `6.6.1` -- Dependencies - upgrade `org.jetbrains.kotlin.jvm` to `1.4.0` -- Dependencies - upgrade `org.jetbrains.intellij` to `0.4.22` -- Dependencies - upgrade `org.jetbrains.changelog` to `0.5.0` -- Dependencies - upgrade `io.gitlab.arturbosch.detekt` to `1.12.0` -- Dependencies - upgrade `org.jlleitschuh.gradle.ktlint` to `9.4.0` -- Rename `master` branch to `main` - -### Fixed - -- GitHub Actions — cache Gradle dependencies and wrapper separately - -## [0.3.1] - 2020-07-31 - -### Added - -- Better handling of the Gradle plugin description extraction from the README file -- GitHub Actions — cache Gradle Wrapper - -### Changed - -- Gradle - remove kotlin("stdlib-jdk8") dependency to decrease the plugin artifact size -- Dependencies - bump ktlint to `9.3.0` -- GitHub Actions — make *Update Changelog* job dependent on the *Publish Plugin* -- GitHub Actions — run plugin verifier against `2019.3` `2020.1` `2020.2` - -### Fixed - -- Resolve ktlint reports -- GitHub Actions — Plugin Verifier broken for artifacts with spaces in name - -## [0.3.0] - 2020-07-07 - -### Added - -- Set the publishing channel depending on the plugin version, i.e. `1.0.0-beta` -> `beta` channel - -### Changed - -- Update `org.jetbrains.changelog` dependency to `v0.3.3` -- Update Gradle Wrapper to `v6.5.1` -- Run GitHub Actions Release workflow on `prereleased` event -- GitHub Actions — Release, separate changelog-related job from the release - -### Fixed - -- Remove vendor website from `plugin.xml` -- Update Template Cleanup workflow test to avoid running it on forks - -## [0.2.0] - 2020-07-02 - -### Added - -- JetBrains Plugin badges and TODO list for the end users -- `ktlint` integration - -### Changed - -- `pluginUntilBuild` set to the correct format: `201.*` -- Bump detekt dependency to `1.10.0` - -### Fixed - -- GitHub Actions — Template Cleanup, fixed adding files to git -- Update Template plugin name on cleanup -- Set `buildUponDefaultConfig = true` in detekt configuration - -## [0.1.0] - 2020-06-26 - -### Added - -- `settings.gradle.kts` for the [performance purposes](https://docs.gradle.org/current/userguide/organizing_gradle_projects.html#always_define_a_settings_file) -- `#REMOVE-ON-CLEANUP#` token to mark content to be removed with **Template Cleanup** workflow - -### Changed - -- README proofreading -- GitHub Actions — Update IDE versions for the Plugin Verifier -- Update platformVersion to `2020.1.2` - -## [0.0.2] - 2020-06-22 - -### Added - -- [Gradle Changelog Plugin](https://github.com/JetBrains/gradle-changelog-plugin) integration - -### Changed - -- Bump Detekt version -- Change pluginSinceBuild to 193 - -## [0.0.1] - -### Added - -- Initial project scaffold -- GitHub Actions to automate testing and deployment -- Kotlin support - [Unreleased]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v2.0.1...HEAD [2.0.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v2.0.0...v2.0.1 -[2.0.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.14.2...v2.0.0 -[1.14.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.14.1...v1.14.2 -[1.14.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.14.0...v1.14.1 -[1.14.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.13.0...v1.14.0 -[1.13.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.12.0...v1.13.0 -[1.12.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.3...v1.12.0 -[1.11.3]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.2...v1.11.3 -[1.11.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.1...v1.11.2 -[1.11.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.11.0...v1.11.1 -[1.11.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.10.0...v1.11.0 -[1.10.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.9.0...v1.10.0 -[1.9.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.8.0...v1.9.0 -[1.8.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.7.0...v1.8.0 -[1.7.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.6.0...v1.7.0 -[1.6.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.5.0...v1.6.0 -[1.5.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.4.0...v1.5.0 -[1.4.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.3.0...v1.4.0 -[1.3.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.2.0...v1.3.0 -[1.2.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.1.2...v1.2.0 -[1.1.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.1.1...v1.1.2 -[1.1.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.1.0...v1.1.1 -[1.1.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v1.0.0...v1.1.0 -[1.0.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.10.1...v1.0.0 -[0.10.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.10.0...v0.10.1 -[0.10.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.9.0...v0.10.0 -[0.9.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.3...v0.9.0 -[0.8.3]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.2...v0.8.3 -[0.8.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.1...v0.8.2 -[0.8.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.8.0...v0.8.1 -[0.8.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.7.1...v0.8.0 -[0.7.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.7.0...v0.7.1 -[0.7.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.6.1...v0.7.0 -[0.6.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.6.0...v0.6.1 -[0.6.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.5.1...v0.6.0 -[0.5.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.5.0...v0.5.1 -[0.5.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.4.0...v0.5.0 -[0.4.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.3.2...v0.4.0 -[0.3.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.3.1...v0.3.2 -[0.3.1]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.3.0...v0.3.1 -[0.3.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.2.0...v0.3.0 -[0.2.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.1.0...v0.2.0 -[0.1.0]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.0.2...v0.1.0 -[0.0.2]: https://github.com/JetBrains/intellij-platform-plugin-template/compare/v0.0.1...v0.0.2 -[0.0.1]: https://github.com/JetBrains/intellij-platform-plugin-template/commits/v0.0.1 \ No newline at end of file From c0c54f33b82778182f835fccadc1242a79f27343 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 16:01:00 +0200 Subject: [PATCH 09/21] Fixes plugin dependencies --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 41b0b44..71518b4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -16,9 +16,9 @@ platformVersion = 2024.1.5 # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html # Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP -platformPlugins = com.intellij.spring, com.intellij.freemarker, com.intellij.velocity , org.intellij.groovy, JavaScript +platformPlugins = # Example: platformBundledPlugins = com.intellij.java -platformBundledPlugins = com.intellij.java, com.intellij.javaee, com.intellij.javaee.web, com.intellij.jsp, com.intellij.java-i18n +platformBundledPlugins = com.intellij.java, com.intellij.javaee, com.intellij.javaee.web, com.intellij.jsp, com.intellij.spring, com.intellij.java-i18n, com.intellij.freemarker, com.intellij.velocity, org.intellij.groovy, JavaScript # Gradle Releases -> https://github.com/gradle/gradle/releases gradleVersion = 8.9 From 9a2c6998a04fe9f1da96d46f44a542a3d4f1ea86 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 16:06:15 +0200 Subject: [PATCH 10/21] Lowers supported platform --- gradle.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 71518b4..ad4641f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,8 +7,8 @@ pluginRepositoryUrl = https://github.com/apache/struts-intellij-plugin/ pluginVersion = 241.18968.1 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html -pluginSinceBuild = 233 -pluginUntilBuild = 242.* +pluginSinceBuild = 231 +pluginUntilBuild = 241.* # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension platformType = IU From a45d4ab09566d900c8825fd628cbca8d1e415ec6 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 16:34:42 +0200 Subject: [PATCH 11/21] Removes annotation in type context --- src/main/java/com/intellij/struts2/StrutsBundle.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/intellij/struts2/StrutsBundle.java b/src/main/java/com/intellij/struts2/StrutsBundle.java index db18f1d..068c92a 100644 --- a/src/main/java/com/intellij/struts2/StrutsBundle.java +++ b/src/main/java/com/intellij/struts2/StrutsBundle.java @@ -33,7 +33,7 @@ public final class StrutsBundle extends DynamicBundle { } @NotNull - public static Supplier<@Nls String> messagePointer(@NotNull @PropertyKey(resourceBundle = PATH_TO_BUNDLE) String key, Object @NotNull ... params) { + public static Supplier messagePointer(@NotNull @PropertyKey(resourceBundle = PATH_TO_BUNDLE) String key, Object @NotNull ... params) { return ourInstance.getLazyMessage(key, params); } From cd676439aac5c096a1265c70d7dc9dc9e5923217 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 16:41:38 +0200 Subject: [PATCH 12/21] Adds Qodana config --- .gitignore | 1 + qodana.yml | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 qodana.yml diff --git a/.gitignore b/.gitignore index d32f8ff..31a1298 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ out/ !**/src/main/**/out/ !**/src/test/**/out/ .intellijPlatform +.qodana ### Eclipse ### .apt_generated diff --git a/qodana.yml b/qodana.yml new file mode 100644 index 0000000..9f5b2d0 --- /dev/null +++ b/qodana.yml @@ -0,0 +1,27 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Qodana configuration: +# https://www.jetbrains.com/help/qodana/qodana-yaml.html + +version: 1.0 +linter: jetbrains/qodana-jvm-community:latest +projectJDK: "17" +profile: + name: qodana.recommended +exclude: + - name: All + paths: + - .qodana \ No newline at end of file From 5f8d8898572941ec54c82ad2744ab052e59528fa Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 22:14:57 +0200 Subject: [PATCH 13/21] Excludes test data from RAT scanning --- build.gradle.kts | 1 - 1 file changed, 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index 37234d0..551a2f2 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -148,7 +148,6 @@ tasks { // List of Gradle exclude directives, defaults to ['**/.gradle/**'] excludes.add("**/build/**") - excludes.add("src/test/testData/**/*.txt") excludes.add("src/test/testData/**") // Fail the build on rat errors, defaults to true From 9b1ec4f3ce7849be09ad0e3426e08a871e774502 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Fri, 30 Aug 2024 22:15:13 +0200 Subject: [PATCH 14/21] Removes duplicated repositories definition --- settings.gradle.kts | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/settings.gradle.kts b/settings.gradle.kts index 60255d7..acd9519 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,8 +1 @@ -pluginManagement { - repositories { - mavenCentral() - gradlePluginPortal() - } -} - -rootProject.name = "struts" +rootProject.name = "Apache Struts IntelliJ Plugin" From 4026a7280d8cb3d2fc10581d2573174caeda3cab Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 24 Nov 2024 12:57:11 +0100 Subject: [PATCH 15/21] Uses simplified config --- .github/workflows/gradle.yml | 5 +-- build.gradle.kts | 82 +++++++++++++++++++++--------------- gradle.properties | 11 +---- gradle/libs.versions.toml | 22 ---------- 4 files changed, 52 insertions(+), 68 deletions(-) delete mode 100644 gradle/libs.versions.toml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index c5219a9..b45597d 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -16,10 +16,7 @@ name: Java Gradle on: - pull_request: - push: - branches: - - main + workflow_dispatch: permissions: read-all diff --git a/build.gradle.kts b/build.gradle.kts index 551a2f2..9a10352 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,15 +1,25 @@ import org.jetbrains.changelog.Changelog import org.jetbrains.changelog.markdownToHTML import org.jetbrains.intellij.platform.gradle.TestFrameworkType +import org.jetbrains.intellij.platform.gradle.IntelliJPlatformType plugins { id("java") // Java support - alias(libs.plugins.kotlin) // Kotlin support - alias(libs.plugins.intelliJPlatform) // IntelliJ Platform Gradle Plugin - alias(libs.plugins.changelog) // Gradle Changelog Plugin - alias(libs.plugins.qodana) // Gradle Qodana Plugin - alias(libs.plugins.kover) // Gradle Kover Plugin - alias(libs.plugins.rat) // Apache RAT Plugin + // Kotlin support + id("org.jetbrains.kotlin.jvm") version "1.9.25" + // IntelliJ Platform Gradle Plugin + id("org.jetbrains.intellij.platform") version "2.1.0" + + //id("org.jetbrains.gradle.plugin.idea-ext") version "1.1.9" + + // Gradle Changelog Plugin + id("org.jetbrains.changelog") version "2.2.1" + // Gradle Qodana Plugin + id("org.jetbrains.qodana") version "2024.1.9" + // Gradle Kover Plugin + id("org.jetbrains.kotlinx.kover") version "0.8.3" + // Apache RAT Plugin + id("org.nosphere.apache.rat") version "0.8.1" } group = providers.gradleProperty("pluginGroup").get() @@ -32,23 +42,33 @@ repositories { // Dependencies are managed with Gradle version catalog - read more: https://docs.gradle.org/current/userguide/platforms.html#sub:version-catalog dependencies { - testImplementation(libs.junit) // IntelliJ Platform Gradle Plugin Dependencies Extension - read more: https://plugins.jetbrains.com/docs/intellij/tools-intellij-platform-gradle-plugin-dependencies-extension.html intellijPlatform { - create(providers.gradleProperty("platformType"), providers.gradleProperty("platformVersion")) + val version = providers.gradleProperty("platformVersion") + create(IntelliJPlatformType.IntellijIdeaUltimate, version) + + // Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html + bundledPlugin("com.intellij.java") + bundledPlugin("com.intellij.javaee") + bundledPlugin("com.intellij.javaee.web") + bundledPlugin("com.intellij.jsp") + bundledPlugin("com.intellij.spring") + bundledPlugin("com.intellij.java-i18n") + bundledPlugin("com.intellij.freemarker") + bundledPlugin("com.intellij.velocity") + bundledPlugin("org.intellij.groovy") + bundledPlugin("JavaScript") - // Plugin Dependencies. Uses `platformBundledPlugins` property from the gradle.properties file for bundled IntelliJ Platform plugins. - bundledPlugins(providers.gradleProperty("platformBundledPlugins").map { it.split(',') }) - - // Plugin Dependencies. Uses `platformPlugins` property from the gradle.properties file for plugin from JetBrains Marketplace. - plugins(providers.gradleProperty("platformPlugins").map { it.split(',') }) - - instrumentationTools() pluginVerifier() zipSigner() + instrumentationTools() + testFramework(TestFrameworkType.Platform) + testFramework(TestFrameworkType.JUnit5) + testFramework(TestFrameworkType.Bundled) } + testImplementation("junit:junit:4.13.2") } java.sourceSets["main"].java { @@ -158,23 +178,19 @@ tasks { } } -intellijPlatformTesting { - runIde { - register("runIdeForUiTests") { - task { - jvmArgumentProviders += CommandLineArgumentProvider { - listOf( - "-Drobot-server.port=8082", - "-Dide.mac.message.dialogs.as.sheets=false", - "-Djb.privacy.policy.text=", - "-Djb.consents.confirmation.enabled=false", - ) - } - } - - plugins { - robotServerPlugin() - } - } +val runIdeForUiTests by intellijPlatformTesting.runIde.registering { + task { + jvmArgumentProviders += CommandLineArgumentProvider { + listOf( + "-Drobot-server.port=8082", + "-Dide.mac.message.dialogs.as.sheets=false", + "-Djb.privacy.policy.text=", + "-Djb.consents.confirmation.enabled=false", + ) } + } + + plugins { + robotServerPlugin() + } } diff --git a/gradle.properties b/gradle.properties index ad4641f..2f0a0b4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,18 +7,11 @@ pluginRepositoryUrl = https://github.com/apache/struts-intellij-plugin/ pluginVersion = 241.18968.1 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html -pluginSinceBuild = 231 +pluginSinceBuild = 241 pluginUntilBuild = 241.* # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension -platformType = IU -platformVersion = 2024.1.5 - -# Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html -# Example: platformPlugins = com.jetbrains.php:203.4449.22, org.intellij.scala:2023.3.27@EAP -platformPlugins = -# Example: platformBundledPlugins = com.intellij.java -platformBundledPlugins = com.intellij.java, com.intellij.javaee, com.intellij.javaee.web, com.intellij.jsp, com.intellij.spring, com.intellij.java-i18n, com.intellij.freemarker, com.intellij.velocity, org.intellij.groovy, JavaScript +platformVersion = 2024.2.1 # Gradle Releases -> https://github.com/gradle/gradle/releases gradleVersion = 8.9 diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml deleted file mode 100644 index b20c62b..0000000 --- a/gradle/libs.versions.toml +++ /dev/null @@ -1,22 +0,0 @@ -[versions] -# libraries -junit = "4.13.2" - -# plugins -changelog = "2.2.1" -intelliJPlatform = "2.0.1" -kotlin = "1.9.25" -kover = "0.8.3" -qodana = "2024.1.9" -rat = "0.8.1" - -[libraries] -junit = { group = "junit", name = "junit", version.ref = "junit" } - -[plugins] -changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" } -intelliJPlatform = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatform" } -kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } -kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } -qodana = { id = "org.jetbrains.qodana", version.ref = "qodana" } -rat = { id = "org.nosphere.apache.rat", version.ref = "rat" } From fb3b47f9490abf106e741825e62222e8dbbd6319 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 24 Nov 2024 14:51:31 +0100 Subject: [PATCH 16/21] Fixes missing method --- .../com/intellij/struts2/facet/StrutsFrameworkDetector.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/intellij/struts2/facet/StrutsFrameworkDetector.java b/src/main/java/com/intellij/struts2/facet/StrutsFrameworkDetector.java index 370ff65..cbef62e 100644 --- a/src/main/java/com/intellij/struts2/facet/StrutsFrameworkDetector.java +++ b/src/main/java/com/intellij/struts2/facet/StrutsFrameworkDetector.java @@ -19,7 +19,6 @@ import com.intellij.framework.detection.FacetBasedFrameworkDetector; import com.intellij.framework.detection.FileContentPattern; import com.intellij.ide.highlighter.XmlFileType; -import com.intellij.javaee.web.WebUtilImpl; import com.intellij.openapi.fileTypes.FileType; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.patterns.ElementPattern; @@ -28,6 +27,7 @@ import com.intellij.util.indexing.FileContent; import org.jetbrains.annotations.NotNull; +import java.util.List; import java.util.Set; /** @@ -63,6 +63,7 @@ public ElementPattern createSuitableFilePattern() { public boolean isSuitableUnderlyingFacetConfiguration(final FacetConfiguration underlying, final StrutsFacetConfiguration configuration, final Set files) { - return WebUtilImpl.isWebFacetConfigurationContainingFiles(underlying, files); + List names = files.stream().map(VirtualFile::getName).toList(); + return configuration.getFileSets().stream().anyMatch(file -> names.contains(file.getName())); } } From 24493eacfc77d384ae2d1b1136bc127bd772708d Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 24 Nov 2024 18:39:09 +0100 Subject: [PATCH 17/21] Uses proper top version supported --- gradle.properties | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 2f0a0b4..32c16f9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -8,7 +8,7 @@ pluginVersion = 241.18968.1 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html pluginSinceBuild = 241 -pluginUntilBuild = 241.* +pluginUntilBuild = 242.* # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension platformVersion = 2024.2.1 @@ -23,4 +23,6 @@ kotlin.stdlib.default.dependency = false org.gradle.configuration-cache = true # Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html -org.gradle.caching = true \ No newline at end of file +org.gradle.caching = true + +org.gradle.jvmargs=-Xmx4g \ No newline at end of file From aab4fa0570ea3483826612793bcdc085e8ec46a2 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 24 Nov 2024 18:39:21 +0100 Subject: [PATCH 18/21] Adds missing test dependency --- build.gradle.kts | 1 + 1 file changed, 1 insertion(+) diff --git a/build.gradle.kts b/build.gradle.kts index 9a10352..006bbe4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -69,6 +69,7 @@ dependencies { testFramework(TestFrameworkType.Bundled) } testImplementation("junit:junit:4.13.2") + testImplementation("org.opentest4j:opentest4j:1.3.0") } java.sourceSets["main"].java { From 8cf66dea80b66ec3156cdca361d3f7fa997eedd7 Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 24 Nov 2024 19:11:03 +0100 Subject: [PATCH 19/21] Reverts to struts2 name --- gradle.properties | 2 +- settings.gradle.kts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index 32c16f9..31b3eb4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ # IntelliJ Platform Artifacts Repositories -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html pluginGroup = com.intellij.struts2 -pluginName = Apache Struts +pluginName = struts2 pluginRepositoryUrl = https://github.com/apache/struts-intellij-plugin/ # SemVer format -> https://semver.org pluginVersion = 241.18968.1 diff --git a/settings.gradle.kts b/settings.gradle.kts index acd9519..689e449 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1 +1 @@ -rootProject.name = "Apache Struts IntelliJ Plugin" +rootProject.name = "struts2" From c440f0f2aa25f1b0563201d16524abe85959a50a Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Sun, 24 Nov 2024 19:20:34 +0100 Subject: [PATCH 20/21] Removes unused workflow --- .github/workflows/gradle.yml | 41 ------------------------------------ 1 file changed, 41 deletions(-) delete mode 100644 .github/workflows/gradle.yml diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml deleted file mode 100644 index b45597d..0000000 --- a/.github/workflows/gradle.yml +++ /dev/null @@ -1,41 +0,0 @@ -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: Java Gradle - -on: - workflow_dispatch: - -permissions: read-all - -env: - MAVEN_OPTS: -Xmx2048m -Xms1024m - LANG: en_US.utf8 - -jobs: - build: - name: Build and Test - runs-on: ubuntu-latest - steps: - - name: Checkout code - uses: actions/checkout@v4 - - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: 17 - - name: Setup Gradle - uses: gradle/actions/setup-gradle@v3 - - name: Build with Gradle - run: ./gradlew buildPlugin \ No newline at end of file From 5d3fd2e3f6ec344b04ea03ba706c74f80bf092bc Mon Sep 17 00:00:00 2001 From: Lukasz Lenart Date: Mon, 2 Dec 2024 20:06:56 +0100 Subject: [PATCH 21/21] Lowers top supported version --- gradle.properties | 6 +++--- .../intellij/struts2/annotators/ActionAnnotatorBase.java | 5 ++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/gradle.properties b/gradle.properties index 31b3eb4..d5c8275 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,11 +7,11 @@ pluginRepositoryUrl = https://github.com/apache/struts-intellij-plugin/ pluginVersion = 241.18968.1 # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html -pluginSinceBuild = 241 -pluginUntilBuild = 242.* +pluginSinceBuild = 233 +pluginUntilBuild = 241.* # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension -platformVersion = 2024.2.1 +platformVersion = 2023.3 # Gradle Releases -> https://github.com/gradle/gradle/releases gradleVersion = 8.9 diff --git a/src/main/java/com/intellij/struts2/annotators/ActionAnnotatorBase.java b/src/main/java/com/intellij/struts2/annotators/ActionAnnotatorBase.java index e76edcb..3e5a4a8 100644 --- a/src/main/java/com/intellij/struts2/annotators/ActionAnnotatorBase.java +++ b/src/main/java/com/intellij/struts2/annotators/ActionAnnotatorBase.java @@ -16,7 +16,6 @@ import com.intellij.codeInsight.daemon.RelatedItemLineMarkerInfo; import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider; -import com.intellij.codeInsight.navigation.DomNavigationUtil; import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder; import com.intellij.icons.AllIcons; import com.intellij.navigation.GotoRelatedItem; @@ -150,8 +149,8 @@ private static void installActionTargets(final PsiElement element, StrutsBundle.message("annotators.action.goto.tooltip"); final NavigationGutterIconBuilder gutterIconBuilder = NavigationGutterIconBuilder.create(Struts2Icons.Action, - DomNavigationUtil.DEFAULT_DOM_CONVERTOR, - DomNavigationUtil.DOM_GOTO_RELATED_ITEM_PROVIDER) + NavigationGutterIconBuilder.DEFAULT_DOM_CONVERTOR, + NavigationGutterIconBuilder.DOM_GOTO_RELATED_ITEM_PROVIDER) .setAlignment(GutterIconRenderer.Alignment.LEFT) .setPopupTitle(StrutsBundle.message("annotators.action.goto.declaration")) .setTargets(actions)