RFR: JDK-8189094: Change required boot jdk to JDK 9
Jan Lahoda
jan.lahoda at oracle.com
Tue Oct 17 17:44:14 UTC 2017
The problematic part is TransitiveDependencies, right?
Might be easier to replace:
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
with:
JavaCompiler compiler = JavacTool.create();
(import com.sun.tools.javac.api.JavacTool;)
That should avoid the ServiceLoader lookup.
Jan
On 17.10.2017 19:04, mandy chung wrote:
> It'd be simpler if we could avoid patching ToolProvider. The ctsym
> generator is a build tool. Jan and Jon may have suggestion if the build
> tool can find the compiler from the interim module instead and use
> --limit-modules to java.base?
>
> Mandy
>
> On 10/17/17 8:55 AM, Erik Joelsson wrote:
>>
>> The ctsym generator in Gendata-jdk.compiler.gmk looks up the tool
>> using the ToolProvider. That part of the change was just a reaction to
>> ctsym generation failing.
>>
>> /Erik
>>
>>
>> On 2017-10-17 17:47, mandy chung wrote:
>>> Hi Erik,
>>>
>>> On 10/16/17 6:12 AM, Erik Joelsson wrote:
>>>>
>>>> To generate the new modules, I copy the module-info.java files to a
>>>> new gensrc dir and sed replace the module names. I also generate a
>>>> new ToolProvider.java so that the default tools are taken from the
>>>> interim modules.
>>>>
>>>> :
>>>>
>>>> Webrev: http://cr.openjdk.java.net/~erikj/8189094/webrev.01
>>>
>>> 65 java.compiler_EXTRA_FILES :=
>>> $(BUILDTOOLS_OUTPUTDIR)/gensrc/java.compiler.interim/javax/tools/ToolProvider.java
>>>
>>> 66 TARGETS += $(java.compiler_EXTRA_FILES)
>>>
>>>
>>> What issue did you run into without patching ToolProvider? I have
>>> assumed
>>> the build always launches javac/javadoc main class and not using
>>> ToolProvider.
>>>
>>> 580 JAVAC_MAIN_CLASS = -m jdk.compiler.interim/com.sun.tools.javac.Main
>>> 581 JAVADOC_MAIN_CLASS = -m
>>> jdk.javadoc.interim/jdk.javadoc.internal.tool.Main Mandy
>>
>
More information about the build-dev
mailing list