Repository navigation
Support IntelliJ IDEA 2026.x and add a release workflow - #283
Merged
Merged
Conversation
- The minimum supported version is now 2026.1 (since-build 261) - Test against IDEA 2026.1, 2026.2 and 2026.3, 2026.2 and later require JDK 25
The wrapper verifies the downloaded Gradle distribution with distributionSha256Sum.
- Manually triggered workflow running in the release environment - The release and next development versions are deduced from pluginVersion when not set - The plugin is signed (CERTIFICATE_CHAIN, PRIVATE_KEY, PRIVATE_KEY_PASSWORD secrets) and published with the JETBRAINS_MARKETPLACE_TOKEN secret - The signed plugin gets a build provenance attestation and is attached to the GitHub release - Similar to mapstruct core, the release notes are collected in NEXT_RELEASE_CHANGELOG.md, used for the GitHub release and reset for the next development version - Remove the unused publish* Gradle properties
Verify the checksums of the Gradle plugins, of the dependencies packaged in the plugin distribution and of the Marketplace ZIP signer. These run when signing and publishing the plugin. The test, checkstyle and jacoco dependencies are not verified, they only run in CI and depend on the IDEA version that is being tested against. The release workflow only builds the plugin distribution without running the tests. The mavenLocal() repository is removed, nothing is resolved from it.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Prepares the 1.10.0 release. Each commit covers one topic and can be reviewed on its own.
IntelliJ IDEA 2026.x support
since-buildto 261. 2025.x is no longer supported.Gradle 9.8.2
distributionSha256Sum. The wrapper jar matches the official 9.8.2 checksum.Release workflow
New manual
Releaseworkflow (.github/workflows/release.yml) running in thereleaseenvironment:-SNAPSHOTwithout the suffix. The next version defaults to the next patch. Both can be overridden through the inputs.NEXT_RELEASE_CHANGELOG.md, with empty sections dropped. The file is reset to the template after the release.signPlugin+verifyPluginSignature), attests the build provenance, and publishes it to the JetBrains Marketplace.buildPluginonly, so it relies on CI having tested the commit.Required secrets in the
releaseenvironment:JETBRAINS_MARKETPLACE_TOKEN,CERTIFICATE_CHAIN,PRIVATE_KEY,PRIVATE_KEY_PASSWORD.The provenance can be checked with
gh attestation verify <zip> --repo mapstruct/mapstruct-idea.Dependency verification
gradle/verification-metadata.xmlverifies the Gradle plugins and everything that ends up in the plugin zip or runs during signing and publishing (runtimeClasspath,intellijPlatformRuntimeClasspath,intellijPlatformSandboxRuntimeClasspath,marketplaceZipSigner).zipSigneris pinned to0.1.45andmavenLocal()is removed.1.10.0
change-notes.htmlandNEXT_RELEASE_CHANGELOG.md.1.10.0-SNAPSHOT.Testing
build jacocoTestReportwith verification enforced on 2026.1, 2026.2 and 2026.3.buildPlugin,signPluginandverifyPluginSignaturewith a throwaway key.