javax.tools API to provide access to javadoc.
It is increasingly common to want to invoke tools via an API, as part of a larger software environment, instead of by exec-ing a new process. This provides improved performance by avoiding the need to start additional JVMs, and by providing an API for more type-safe invocation.
The API changes are relatively small, but the implementation behind the
new methods involves some amount of refactoring the existing implementation.
The primary task is to change all existing uses of
corresponding uses of
javax.tools.FileObject. Much of this work has
already been done in JDK 7, but the remaining work has had to be deferred
because of a probably dependence on the new NIO API.
Unit (jtreg) tests will be provided to exercise the new functionality. There will not be any platform-specific requirements.
Risks and Assumptions
Generally speaking, javadoc is very old code, that has not had much TLC in a long time. There is a risk that the refactoring will not be as simple as expected.
Up to now, there has been a probable dependence on the new NIO API, but that has now become available in JDK 7.
- JCP: maintenance review of JSR 199
- Compatibility: minimal
- Documentation: API docs only
- Internationalization: minimal
- Localization: minimal
- relates to
JDK-6794587 javadoc should write files using a FileManager
JDK-6493690 javadoc should have a javax.tools.Tool service provider installed in tools.jar
JDK-6794582 javadoc should read files using a FileManager