Skip to content

Grails 7 Migration - Rundeck 6.0 Compatibility#42

Merged
fdevans merged 14 commits intomasterfrom
grails7-upgrade
Apr 8, 2026
Merged

Grails 7 Migration - Rundeck 6.0 Compatibility#42
fdevans merged 14 commits intomasterfrom
grails7-upgrade

Conversation

@fdevans
Copy link
Copy Markdown
Contributor

@fdevans fdevans commented Apr 2, 2026

Overview

Updates this plugin for Grails 7 / Rundeck 6.0 compatibility.

Key Changes

  • Upgraded to Java 17
  • Updated to Grails 7 / Groovy 4 / Spring Boot 3
  • Modernized GitHub Actions workflows (Java 17, updated actions, YAML fixes)
  • Standardized Gradle to 8.14.3
  • Added Java 17 JVM arguments for reflection access
  • Updated version to 1.0.8-grails7 format

Documentation

Migration details and handoff documentation: .github/Grails7-Handoff/

Testing

  • All CI workflows passing on grails7-upgrade branch
  • Plugin builds and tests successfully with Java 17
  • Compatible with Rundeck 6.0 (Grails 7)

Notes

  • Version uses temporary -grails7 suffix (will be removed at release)
  • Maintains backward compatibility with Rundeck 5.x

….plugins, upgrade to Java 17

- Changed groupId: com.rundeck → com.rundeck.plugins
- Updated Axion with ignoreUncommittedChanges=false
- Upgraded from Java 11 to Java 17 for Grails 7 compatibility
- Updated nexusPublishing.packageGroup to com.rundeck.plugins
- Added PackageCloud publishing configuration
- Version now managed dynamically from git tags

See: .temp/PLUGIN_TAGGING_ARCHITECTURE.md and PACKAGECLOUD_MIGRATION_PLAN.md
Add --add-opens JVM args to allow cglib reflection in Java 17. Without
these, tests fail with NoClassDefFoundError/ExceptionInInitializerError
in CI environment where module restrictions are enforced more strictly.
Build and tests require Java 17 (sourceCompatibility set in
build.gradle) but workflow was using Java 11, causing test failures in
CI environment.
Upgrade Gradle wrapper to match rundeck/rundeckpro (8.14.3) for consistency.
This ensures all plugins use the same build tooling version.
Corrected distribution parameter indentation to align with java-version.
This fixes GitHub Actions validation errors.
Gradle wrapper upgrade updates the wrapper scripts themselves.
- Fixed distribution indentation (aligned with java-version at 10 spaces)
- Updated Java version to 17 in release and snapshot-release workflows
Copilot AI review requested due to automatic review settings April 2, 2026 22:28

This comment was marked as outdated.

Comment thread gradle/libs.versions.toml Outdated
Comment thread gradle/libs.versions.toml Outdated
fdevans and others added 2 commits April 7, 2026 12:38
Co-authored-by: Carlos Eduardo <carloseduardo.rorizfranco@gmail.com>
Co-authored-by: Carlos Eduardo <carloseduardo.rorizfranco@gmail.com>
@fdevans fdevans requested a review from carlosrfranco April 7, 2026 19:51
Copy link
Copy Markdown
Contributor

@carlosrfranco carlosrfranco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry. I've approved the PR but realized the build was failing after this. The spock version should be updated too to fix groovy conflict version

Comment thread gradle/libs.versions.toml Outdated
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should update this too:

Suggested change
spock = "2.3-groovy-4.0"

Fixed test failures caused by incompatible test dependencies for Java 17.

Changes:
- Groovy: 3.0.22 → 4.0.29 (org.apache.groovy)
- Spock: 2.0-groovy-3.0 → 2.3-groovy-4.0
- rundeck-core: 5.16.0 → 6.0.0-alpha1-20260407
- Replaced cglib-nodep 3.3.0 with byte-buddy 1.14.11 (cglib doesn't support Java 17)
- objenesis: 1.4 → 3.3

The cglib "Unsupported class file major version 61" error is resolved by using
ByteBuddy, which is the recommended mock framework for Spock on Java 17+.
@fdevans fdevans merged commit aa66f54 into master Apr 8, 2026
1 of 2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants