On 8175846: Provide javadoc descriptions for jdk.policytool and jdk.crypto.ec modules

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

On 8175846: Provide javadoc descriptions for jdk.policytool and jdk.crypto.ec modules

Weijun Wang
Hi All

I'm looking at this bug and have several questions:

1. jdk.jartool is newly introduced in jdk9 (well, all modules are new)
but the main class inside it -- sun.security.tools.policytool.PolicyTool
-- is already deprecated. Can I also add @deprecated/@Deprecated to the
module-info.java of this module?

2. I try to run javadoc on this single module but see the following
error. Not sure what it means. Shall I provide more arguments?

  $ javadoc --module jdk.jartool -d /tmp
javadoc: error - fatal error encountered:
java.lang.IllegalArgumentException: location is not an output location
or a module-oriented location: CLASS_PATH
javadoc: error - Please file a bug against the javadoc tool via the Java
bug reporting page
(http://bugreport.java.com) after checking the Bug Database
(http://bugs.java.com)
for duplicates. Include error messages and the following diagnostic in
your report. Thank you.
java.lang.IllegalArgumentException: location is not an output location
or a module-oriented location: CLASS_PATH
         at
jdk.compiler/com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation(JavacFileManager.java:1114)
         at
jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getLocationForModule(JavacFileManager.java:955)
         at
jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.getModuleLocation(ElementsTable.java:796)
         at
jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.scanSpecifiedItems(ElementsTable.java:352)
         at
jdk.javadoc/jdk.javadoc.internal.tool.JavadocTool.getEnvironment(JavadocTool.java:189)
         at
jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:591)
         at
jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:424)
         at
jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:341)
         at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
         at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)

Thanks
Max
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: On 8175846: Provide javadoc descriptions for jdk.policytool and jdk.crypto.ec modules

Alan Bateman
On 26/02/2017 10:32, Wang Weijun wrote:

> Hi All
>
> I'm looking at this bug and have several questions:
>
> 1. jdk.jartool is newly introduced in jdk9 (well, all modules are new)
> but the main class inside it --
> sun.security.tools.policytool.PolicyTool -- is already deprecated. Can
> I also add @deprecated/@Deprecated to the module-info.java of this
> module?
Do you mean jdk.policytool (not jdk.jartool)? I don't see an issue
adding @Deprecated although it will be visible in the javadoc
(jdk.policy doesn't export an API to it seem unlikely that anyone will
`requires jdk.policytool` and see the compile-time warning).

-Alan


>
> 2. I try to run javadoc on this single module but see the following
> error. Not sure what it means. Shall I provide more arguments?
>
>  $ javadoc --module jdk.jartool -d /tmp
> javadoc: error - fatal error encountered:
> java.lang.IllegalArgumentException: location is not an output location
> or a module-oriented location: CLASS_PATH
> javadoc: error - Please file a bug against the javadoc tool via the
> Java bug reporting page
> (http://bugreport.java.com) after checking the Bug Database
> (http://bugs.java.com)
> for duplicates. Include error messages and the following diagnostic in
> your report. Thank you.
> java.lang.IllegalArgumentException: location is not an output location
> or a module-oriented location: CLASS_PATH
>         at
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation(JavacFileManager.java:1114)
>         at
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getLocationForModule(JavacFileManager.java:955)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.getModuleLocation(ElementsTable.java:796)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.scanSpecifiedItems(ElementsTable.java:352)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.JavadocTool.getEnvironment(JavadocTool.java:189)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:591)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:424)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:341)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
>         at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)
>
> Thanks
> Max

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: On 8175846: Provide javadoc descriptions for jdk.policytool and jdk.crypto.ec modules

Jonathan Gibbons
In reply to this post by Weijun Wang
Max,

Your second point is part pilot error, and part javadoc bug.

You need to provide some source files, and javadoc needs to handle this
case better. That being said, providing source files is easier said than
done, right now. If you use -sourcepath or --module-source-path, you
must be prepared to provide *all* the source code for the modules in
question. We are working to make it possible/easy to use
--patch-module-path so that you can give partial sources to complement
the rest of the module's content found on the overall module path.

javadoc folk,

This looks like a problem with the location handling in ElementsTable.  
It may be a combination of using --module and no --module-source-path.

-- Jon

On 02/26/2017 02:32 AM, Wang Weijun wrote:

> Hi All
>
> I'm looking at this bug and have several questions:
>
> 1. jdk.jartool is newly introduced in jdk9 (well, all modules are new)
> but the main class inside it --
> sun.security.tools.policytool.PolicyTool -- is already deprecated. Can
> I also add @deprecated/@Deprecated to the module-info.java of this
> module?
>
> 2. I try to run javadoc on this single module but see the following
> error. Not sure what it means. Shall I provide more arguments?
>
>  $ javadoc --module jdk.jartool -d /tmp
> javadoc: error - fatal error encountered:
> java.lang.IllegalArgumentException: location is not an output location
> or a module-oriented location: CLASS_PATH
> javadoc: error - Please file a bug against the javadoc tool via the
> Java bug reporting page
> (http://bugreport.java.com) after checking the Bug Database
> (http://bugs.java.com)
> for duplicates. Include error messages and the following diagnostic in
> your report. Thank you.
> java.lang.IllegalArgumentException: location is not an output location
> or a module-oriented location: CLASS_PATH
>         at
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager.checkModuleOrientedOrOutputLocation(JavacFileManager.java:1114)
>         at
> jdk.compiler/com.sun.tools.javac.file.JavacFileManager.getLocationForModule(JavacFileManager.java:955)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.getModuleLocation(ElementsTable.java:796)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.scanSpecifiedItems(ElementsTable.java:352)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.JavadocTool.getEnvironment(JavadocTool.java:189)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:591)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:424)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:341)
>         at
> jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
>         at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)
>
> Thanks
> Max

Loading...