Skip to content

apache/struts-intellij-plugin

Apache Struts IntelliJ IDEA plugin

Build

Provides full integration of Apache Struts 2.

Documentation

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.

Testing

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

Code coverage

Kover is integrated for code coverage. Generate an HTML report with:

./gradlew koverHtmlReport                    # Report in build/reports/kover/

Changelog maintenance

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.

Release process

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:

  1. Builds the plugin (using the version from gradle.properties or your override)
  2. Creates a git tag v{VERSION} and pushes it
  3. Creates a GitHub pre-release with the plugin zip attached

PMC 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:

  1. Publishes the plugin to the JetBrains Marketplace Stable channel
  2. Uploads the plugin zip as a release asset
  3. Creates a pull request to update the changelog

About

Apache Struts IntelliJ IDEA plugin

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages