RFR: 8159855: Create an SPI for tools
Mandy Chung
mandy.chung at oracle.com
Wed Oct 5 04:19:48 UTC 2016
This SPI is useful and provides as a replacement to existing use of internal APIs to launch some of our tools. We will get jar, jmod, jlink and possibly other tools to convert to this SPI.
ToolProvider::findFirst(String name) can find tool providers on classpath. I think it needs to wrap the for-loop (specifically iterating on providers) with doPrivileged due to the stack-based permission check.
Otherwise, looks good.
Mandy
> On Oct 4, 2016, at 4:46 PM, Jonathan Gibbons <jonathan.gibbons at oracle.com> wrote:
>
> Resend with non-mostly-empty subject line!
>
> -- Jon
>
> On 10/04/2016 04:39 PM, Jonathan Gibbons wrote:
>> Core-libs folk,
>>
>> Please review the following change to add a new service provider class
>> java.util.spi.ToolProvider
>>
>> which can be used provide simple "command-line" access to select JDK
>> tools, without starting a new JVM.
>>
>> The following tools are updated to provide access through the new SPI:
>> javac, javadoc, javap, jdeps
>>
>> It is expected that additional tools will also be updated to provide access,
>> but that will be done separately.
>>
>> Compiler-dev folk may wish to review the changes to the langtools repository.
>>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8159855
>> Webrev: http://cr.openjdk.java.net/~jjg/8159855/webrev.03/
>> API: http://cr.openjdk.java.net/~jjg/8159855/api.02/java/util/spi/ToolProvider.html
>>
>> -- Jon
>
More information about the compiler-dev
mailing list