Provides full integration of Apache Struts 2.
Questions related to the usage of the plugin should be posted to the user mailing list. Any issues should be reported using JIRA and IDEA plugin component.
Tests are located in src/test/java and use IntelliJ Platform test frameworks (LightJavaCodeInsightFixtureTestCase and similar). Test data fixtures are in src/test/testData.
./gradlew test -x rat # Run tests (excluding Apache RAT license checks) ./gradlew test --tests "OgnlParsingTest" # Run a specific test class ./gradlew test --tests "*Resolving*" # Run tests matching a pattern
Kover is integrated for code coverage. Generate an HTML report with:
./gradlew koverHtmlReport # Report in build/reports/kover/
The project follows the Keep a Changelog approach. The Gradle Changelog Plugin propagates entries from CHANGELOG.md to the JetBrains Marketplace plugin page.
Record changes under the [Unreleased] section in CHANGELOG.md. The CI pipeline handles version bumping on release.
The plugin uses a two-phase release process with nightly builds for continuous delivery:
Nightly builds are created automatically when commits are merged to main. The Build workflow runs tests, builds the plugin, and publishes it to the JetBrains Marketplace nightly channel. A GitHub pre-release is also created with the plugin zip attached.
Preparing a release is a manual step. Go to Actions → Prepare Release → Run workflow, optionally providing a version override. This workflow:
gradle.properties or your override)v{VERSION} and pushes itPMC members can then download the zip from the pre-release, test it locally, and vote.
Publishing a release happens when the pre-release is promoted to a full release. Edit the GitHub pre-release, uncheck “Set as a pre-release”, and save. This triggers the Release workflow which: