Skip to content

Conversation

@arnej27959
Copy link

  • Add 'ancient-jdk' profile (JDK 8-10) that skips test compilation and execution
  • Add 'old-jdk' profile (JDK 11-16) with appropriate JVM args for module system
  • Update default surefire configuration for JDK 17+ with --add-opens flags and security manager settings
  • Upgrade ASM library from 5.2 to 9.9 and split into asm + asm-tree dependencies
  • Update test code to use ASM 9.x API (remove Opcodes.ASM4 flag)

This allows the project to be built with older JDK versions while maintaining compatibility with modern JDK releases (17+).

- Add 'ancient-jdk' profile (JDK 8-10) that skips test compilation and execution
- Add 'old-jdk' profile (JDK 11-16) with appropriate JVM args for module system
- Update default surefire configuration for JDK 17+ with --add-opens flags and security manager settings
- Upgrade ASM library from 5.2 to 9.9 and split into asm + asm-tree dependencies
- Update test code to use ASM 9.x API (remove Opcodes.ASM4 flag)

This allows the project to be built with older JDK versions while maintaining
compatibility with modern JDK releases (17+).
@arnej27959
Copy link
Author

Some background: I'm looking at some of the code that depends on internals of JDK versions (mainly SecureAction.java), and to ensure I can make PRs with changes that don't break for older JDKs, I've installed various versions and tried running unit tests. So far I've used 8, 11, 17, and 21 and ran into some problems that I resolved with these profiles; I will also test with Java 25. The biggest issue so far is that the unit tests wouldn't compile at all using JDK 8, so I'm not sure what people do to ensure they don't break that version - any hints would be appreciated.

Note: tested on the branch "feature/FELIX-6759-Java-25-LTS" with
      openjdk version "25.0.1"
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.

1 participant