[lworld] RFR: 8376528: [lworld] value class creation in CompileJavaModules.gmk leaves unnecessary files [v2]

Roger Riggs rriggs at openjdk.org
Thu Jan 29 22:48:38 UTC 2026


On Thu, 29 Jan 2026 22:10:10 GMT, David Beaumont <duke at openjdk.org> wrote:

>> Rework fix from JDK-8376088, which failed on MacOS.
>> 
>> It solves JDK-8376088, but also simplifies the two-step process for creating the `META-INF/preview` class files.
>> 
>> Summary of changes:
>> * Remove JAR file creation (no longer needed, this is the proximal fix for JDK-8376088).
>> * Stop adding the "intermediate" target for the compilation to the TARGETS list (rely on the subsequent copy).
>> * Copy directories directly from the output directory to the preview directory (does not copy marker files).
>> * Make the marker file appear alongside other markers for the module compilation.
>> * Rename marker file to be consistent with other sibling marker files.
>> 
>> The marker files in build/linux-x64/jdk/modules/java.base/ are now:
>> 
>> _the.java.base_batch
>> _the.java.base_batch.cmdline
>> _the.java.base_batch.filelist
>> _the.java.base_batch.log
>> _the.java.base_batch.modfiles
>> _the.java.base_batch.modfiles.fixed
>> _the.java.base.config_vardeps
>> _the.java.base_internalapi
>> _the.java.base-javacserver.conf
>> _the.java.base_pubapi
>> _the.java.base.valueclasses   <-- moved/renamed marker file
>> _the.java.base.vardeps
>> 
>> The difference between JDK-8376088 and this PR is the switch away from using a glob expression like `foo/*/` to attempt to match "directories immediately inside foo/". On MacOS, this results in an expansion of directory names with retains the trailing `/`, and in MacOS, that implies the contents of the directories, not just the directories themselves.
>> 
>> For example, given directory/files:
>> 
>> foo/x/hello.txt
>> foo/y/world.txt
>> 
>> 
>> The action `cp -R  foo/*/ bar` expands to `cp -R foo/x/ foo/y/ bar` (with trailing `/`) and then we get:
>> 
>> Linux/Windows:
>> 
>> bar/x/hello.txt
>> bar/y/world.txt
>> 
>> 
>> MacOS:
>> 
>> bar/hello.txt
>> bar/world.txt
>> 
>> 
>> This PR uses an explicit wildcard action and filtering to specify the correct directories to be copied.
>
> David Beaumont has updated the pull request incrementally with one additional commit since the last revision:
> 
>   deduplicate comments

Marked as reviewed by rriggs (Committer).

-------------

PR Review: https://git.openjdk.org/valhalla/pull/1985#pullrequestreview-3725401531


More information about the valhalla-dev mailing list