On Fri, 6 Mar 2026 14:15:50 GMT, David Beaumont <[email protected]> wrote:

>> Adds a new AnnotationProcessor to read the @MigratedValueClass on 
>> prospective value classes and generate the equivalent source file with the 
>> 'value' keyword at each annotated class declaration.
>> 
>> This adds new PROCESSOR_PATH variable to the compilation macro and use it 
>> for annotation processing.
>> This also requires moving the plugin discovery path to the new variable (was 
>> in classpath before) because the addition of a '--processor-path' flag 
>> disables using the classpath for plugin discovery.
>> 
>> For now this is all limited to `java.base` but that's expandable later 
>> easily. There was an issue just enabling it for all modules however (esp. 
>> `jdk.incubator` which might be special).
>> 
>> While there is currently no specific unit test for this code, if it were to 
>> fail to generate the correct value classes, a lot of other downstream tests 
>> would fail.
>
> David Beaumont has updated the pull request incrementally with three 
> additional commits since the last revision:
> 
>  - Latest changes (inc. feecback).
>    
>    * feedback updates and tidying
>    * better compile macro call - still not working
>  - [[UNDO FORMATTING IN SQUASH BRANCH]]
>  - [[AUTOMATIC FORMATTING]]

make/CompileJavaModules.gmk line 85:

> 83: 
> 84:     PROCESSOR_PATH += $(VALUETYPE_GENSRC_PROCESSOR_PATH)
> 85:     DEPENDS += $(VALUETYPE_GENSRC_PROCESSOR_PATH)

The DEPENDS argument to SetupJavaCompilation is unfortunately not smart enough 
to take a directory, it needs the actual output file (touch file) from the 
other SetupJavaCompilation call. See ToolsJdk:37-38 for an example of how to 
generate that.

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2180#discussion_r2905365640

Reply via email to