Build the jdk with new or modified sources

erik.joelsson at oracle.com erik.joelsson at oracle.com
Mon Feb 26 13:59:40 UTC 2024


Hello Lorris,

This is not expected behavior. Building incrementally is expected to 
work correctly.

If you are making changes to java.base and then trying to use those 
changes from any of java.compiler, jdk.compiler and jdk.javadoc, you 
will have problems as those three modules have to be compatible with the 
previous JDK version (21 in this case). We build those modules for the 
"interim langtools" which is then used to compile the rest of the JDK by 
running this interim javac compiler on the boot jdk. I think the 
problems you are seeing appear when building the interim versions of 
these modules as they will never see the updates you are making to 
java.base.

If that isn't the issue, could you share more details on what kind of 
environment you are building on (OS, arch etc), how you configured the 
build and the make command line you are using?

/Erik

On 2/26/24 05:40, Lorris wrote:
> Hello,
>
> I’m trying to build the JDK (version 23, my fork is up to date as of 2024/02/26) while adding new source files and also adding some fields or methods in existing files (in java.base and java.compiler modules). My problem is that when I try to build the image, most of the time (it seems to depend on the date of the last edited file) the new files and members I have added aren’t visible to the compiler which results in an error. Until now I have been using a workaround by building two times, firstly, only with the new code declarations and, secondly, with the references to this code. However, I’m now seeing the limits of this method.
>
> Regards,
> Lorris Creantor
>


More information about the build-dev mailing list