pjfanning opened a new pull request, #1365:
URL: https://github.com/apache/poi/pull/1365

   Now that Java 17 is the minimum, the module descriptor no longer needs to be 
hidden from Java 8 under `META-INF/versions/9` in a multi-release jar.
   
   - `module-info.class` goes in the jar root. The `Multi-Release` and 
(redundant) `Automatic-Module-Name` manifest attributes are dropped. 
`poi-integration`'s main jar keeps `Automatic-Module-Name` because it has no 
`module-info`.
   - `src/*/java9/module-info.java` moves to `src/*/jpms/module-info.java`.
   - Gradle: the copy-pasted `compileJava9`/`compileTest9` tasks become 
`compileModuleInfo`/`compileTestModuleInfo`. They are registered through a 
shared `registerModuleInfoCompile` helper in the root `build.gradle` that uses 
`release 17` and the project toolchain. The `Math.max(17, jdkVersion)` 
toolchain and source/target overrides are gone, and so is the duplicated 
toolchain block in `poi-ooxml-lite-agent`.
   - `verifyModuleInfoPresent` now requires a root `module-info.class` and 
fails on a `versions/9` one.
   - Ant: `module-info` is compiled into `build/` instead of into `src/`, so 
the `.gitignore` rule for it goes away. The descriptor goes in the jar root, 
and the unused `maven-jar` macro is removed. `clean` now also removes the 
`poi-ooxml-lite` and `poi-ooxml-lite-agent` build dirs.
   
   Checked locally:
   - `./gradlew jar testJar verifyModuleInfoPresent` passes. Every modular jar, 
main and tests, has exactly one root `module-info.class` (class version 61), no 
`versions/9` entry and no `Multi-Release` attribute. Test jars carry the test 
descriptor.
   - Module-path test runs pass for `poi-excelant` (all tests) and for single 
test classes in `poi`, `poi-ooxml` and `poi-scratchpad`.
   - `ant clean jar` builds every jar up to `compile-ooxml-lite` with the same 
jar layout. That target then stopped on a font-metric autosize assertion that 
fails on my machine regardless of this change. The Ant ooxml-lite and 
integration jars are left for CI to confirm.
   
   🤖 Generated with [Claude Code](https://claude.com/claude-code)


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to