interledger-deprecated / java-ilp-core

WE'VE MOVED: This project has moved to Hyperledger Quilt
https://github.com/hyperledger/quilt/tree/master/ilp-core
Apache License 2.0
16 stars 10 forks source link

javadoc fails in gradle build #90

Closed michielbdejong closed 6 years ago

michielbdejong commented 6 years ago

I tried to run the build instructions from the readme, and ran into this error:


[michiel@mbp ~/gh/interledger/java-ilp-core (development)]$ gradle build test

> Task :javadoc
/Users/michiel/gh/interledger/java-ilp-core/src/main/java/org/interledger/codecs/Codec.java:20: warning: no @throws for java.io.IOException
  T read(CodecContext context, InputStream inputStream) throws IOException;
    ^
/Users/michiel/gh/interledger/java-ilp-core/src/main/java/org/interledger/codecs/Codec.java:30: warning: no @throws for java.io.IOException
  void write(CodecContext context, T instance, OutputStream outputStream) throws IOException;
       ^
/Users/michiel/gh/interledger/java-ilp-core/src/main/java/org/interledger/codecs/Codec.java:41: warning: no @throws for java.io.IOException
  default void writeObject(final CodecContext context, final Object instance,
               ^
/Users/michiel/gh/interledger/java-ilp-core/src/main/java/org/interledger/codecs/CodecContext.java:189: warning: no @param for <R>
  public <R> R readAndHandle(final InputStream inputStream,
               ^
/Users/michiel/gh/interledger/java-ilp-core/src/main/java/org/interledger/codecs/CodecContext.java:209: warning: no @throws for java.io.IOException
  public <T> CodecContext write(final Class<T> type, final T instance,
                          ^
/Users/michiel/gh/interledger/java-ilp-core/src/main/java/org/interledger/codecs/CodecContext.java:227: warning: no @throws for java.io.IOException
  public CodecContext write(final Object instance, final OutputStream outputStream)
                      ^
javadoc: error - An exception occurred while building a component: MethodsSummary
        (java.lang.ClassCastException: jdk.compiler/com.sun.tools.javac.code.Symtab$6 cannot be cast to jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol)
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.ClassCastException: jdk.compiler/com.sun.tools.javac.code.Symtab$6 cannot be cast to jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol
        at jdk.compiler/com.sun.tools.javac.code.Symbol.outermostClass(Symbol.java:492)
        at jdk.javadoc/jdk.javadoc.internal.tool.ToolEnvironment.getFileKind(ToolEnvironment.java:196)
        at jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.isTypeElementSelected(ElementsTable.java:985)
        at jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.access$400(ElementsTable.java:158)
        at jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable$IncludedVisitor.visitType(ElementsTable.java:1062)
        at jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable$IncludedVisitor.visitType(ElementsTable.java:1038)
        at jdk.compiler/com.sun.tools.javac.code.Symbol$ClassSymbol.accept(Symbol.java:1432)
        at java.compiler@9/javax.lang.model.util.AbstractElementVisitor6.visit(AbstractElementVisitor6.java:106)
        at jdk.javadoc/jdk.javadoc.internal.tool.ElementsTable.isIncluded(ElementsTable.java:333)
        at jdk.javadoc/jdk.javadoc.internal.tool.DocEnvImpl.isIncluded(DocEnvImpl.java:85)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.Utils.isIncluded(Utils.java:2708)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.LinkFactoryImpl.getClassLink(LinkFactoryImpl.java:92)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.util.links.LinkFactory.getLink(LinkFactory.java:193)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.getLink(HtmlDocletWriter.java:1191)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.seeTagToContent(HtmlDocletWriter.java:1565)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitLink(HtmlDocletWriter.java:1949)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter$2.visitLink(HtmlDocletWriter.java:1797)
        at jdk.compiler/com.sun.tools.javac.tree.DCTree$DCLink.accept(DCTree.java:500)
        at jdk.compiler/com.sun.source.util.SimpleDocTreeVisitor.visit(SimpleDocTreeVisitor.java:79)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.commentTagsToContent(HtmlDocletWriter.java:2017)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.addCommentTags(HtmlDocletWriter.java:1719)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.addCommentTags(HtmlDocletWriter.java:1700)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDocletWriter.addSummaryComment(HtmlDocletWriter.java:1670)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.SubWriterHolderWriter.addIndexComment(SubWriterHolderWriter.java:207)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.SubWriterHolderWriter.addSummaryLinkComment(SubWriterHolderWriter.java:243)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.AbstractMemberWriter.addMemberSummary(AbstractMemberWriter.java:533)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder.buildSummary(MemberSummaryBuilder.java:359)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder.addSummary(MemberSummaryBuilder.java:515)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.MemberSummaryBuilder.buildMethodsSummary(MemberSummaryBuilder.java:309)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.AbstractBuilder.build(AbstractBuilder.java:157)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.AbstractMemberBuilder.build(AbstractMemberBuilder.java:87)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.AbstractBuilder.buildChildren(AbstractBuilder.java:200)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildMemberSummary(ClassBuilder.java:333)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.AbstractBuilder.build(AbstractBuilder.java:157)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.AbstractBuilder.buildChildren(AbstractBuilder.java:200)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.buildClassDoc(ClassBuilder.java:155)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:564)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.AbstractBuilder.build(AbstractBuilder.java:157)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.builders.ClassBuilder.build(ClassBuilder.java:125)
        at jdk.javadoc/jdk.javadoc.internal.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:263)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:286)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:268)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:207)
        at jdk.javadoc/jdk.javadoc.internal.doclets.toolkit.AbstractDoclet.run(AbstractDoclet.java:117)
        at jdk.javadoc/jdk.javadoc.doclet.StandardDoclet.run(StandardDoclet.java:72)
        at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:574)
        at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:423)
        at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:340)
        at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
        at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)
1 error
6 warnings

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':javadoc'.
> Javadoc generation failed. Generated Javadoc options file (useful for troubleshooting): '/Users/michiel/gh/interledger/java-ilp-core/build/tmp/javadoc/javadoc.options'

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

* Get more help at https://help.gradle.org

BUILD FAILED in 2s
3 actionable tasks: 1 executed, 2 up-to-date
adrianhopebailie commented 6 years ago

There are some known warnings in the Javadoc but this looks like a bug in the JavaDoc tool.

Please file a bug against the javadoc tool via the Java bug reporting page

What version of the JDK are you using?

michielbdejong commented 6 years ago

$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
sappenin commented 6 years ago

I suspect this is an issue with our gradle build file and Java9. We may remove gradle in favor of maven, in which case the maven build file should not have this issue.

In the meantime, you can try to build the project using maven via the following commands (depending on your OS, you may need to install Maven):

> gradle writePom
> maven clean install

Alternatively, you could try installing JDK8 instead of JDK9, and the gradle commands should work.

sappenin commented 6 years ago

This will be fixed by #96.