-
Notifications
You must be signed in to change notification settings - Fork 33
Fix javadoc errors #396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix javadoc errors #396
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That make me think about changing github actions to not only do a run:
./gradlew checkbut a full run:./gradlew install
I'd suggest enabling the JavadocMethod Checkstyle rule instead:
diff --git config/checkstyle/checkstyle.xml config/checkstyle/checkstyle.xml
index a5415c3d..f10d9268 100644
--- config/checkstyle/checkstyle.xml
+++ config/checkstyle/checkstyle.xml
@@ -68,6 +68,7 @@
<module name="InterfaceIsType"/>
<module name="InterfaceTypeParameterName"/>
<module name="JavaNCSS"/>
+ <module name="JavadocMethod"/>
<module name="JavadocType"/>
<module name="LambdaParameterName"/>
<module name="LeftCurly"/>Which shows the following violations:
[ant:checkstyle] [ERROR] .../metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/MarcXmlEncoder.java:246:40: Expected @param tag for 'str'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/MarcXmlEncoder.java:251:44: Expected @param tag for 'str'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-xml/src/main/java/org/metafacture/xml/XmlElementSplitter.java:65:8: Unused @param tag for 'aTopLevelElement'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-xml/src/main/java/org/metafacture/xml/XmlElementSplitter.java:66:8: Unused @param tag for 'aElementName'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-xml/src/main/java/org/metafacture/xml/XmlElementSplitter.java:68:44: Expected @param tag for 'topLevelElement'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-xml/src/main/java/org/metafacture/xml/XmlElementSplitter.java:68:74: Expected @param tag for 'elementName'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-xml/src/main/java/org/metafacture/xml/XmlElementSplitter.java:86:8: Unused @param tag for 'root'. [JavadocMethod]
[ant:checkstyle] [ERROR] .../metafacture-xml/src/main/java/org/metafacture/xml/XmlElementSplitter.java:89:49: Expected @param tag for 'newRoot'. [JavadocMethod]
|
Ok, yes we could do this. But help me understand this: diff --git a/config/checkstyle/checkstyle.xml b/config/checkstyle/checkstyle.xml
index a5415c3d..c7b63a98 100644
--- a/config/checkstyle/checkstyle.xml
+++ b/config/checkstyle/checkstyle.xml
@@ -68,6 +68,9 @@
<module name="InterfaceIsType"/>
<module name="InterfaceTypeParameterName"/>
<module name="JavaNCSS"/>
+ <module name="JavadocMethod">
+ <property name="scope" value="public"/>
+ </module>
<module name="JavadocType"/>What's your opinion? |
This method doesn't have any Javadoc at all; the
Since these are the only two violations for private methods we currently have, I'd say we just fix them and keep the default scope. But I'm fine either way. |
|
Right, thx for the hint! So I like to have
Are these "default constructors" (well, strictly they are not "default" - but are enhanced by the compiler to behave exactly like the default conctructor) necessary ?
Couldn't we just get rid of them? (If so, this implies also removing the module [Edit]: hm, ok, and then there is this blog post. Maybe it's better to keep |
|
It probably boils down to what we actually want, then we can adjust the config accordingly (see also #389):
I'm leaning towards 2. But I'm not particularly invested in Javadoc, anyway, so I'll leave it up to you ;) |
|
You boiled it down quiet nicely :) And I also like 2 the most (see also the edit in #396 (comment)). Will go with that. |
metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#BIBLIOGRAPHIC_LEVEL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#BIBLIOGRAPHIC_LEVEL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#CATALOGING_FORM_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#CATALOGING_FORM_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#CHARACTER_CODING_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#CHARACTER_CODING_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#CHARACTER_CODING_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#ENCODING_LEVEL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#ENCODING_LEVEL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#LEADER_ENTITY (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#LEADER_ENTITY (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#MULTIPART_LEVEL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#MULTIPART_LEVEL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#RECORD_STATUS_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#RECORD_STATUS_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#RECORD_TYPE_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#RECORD_TYPE_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#TYPE_OF_CONTROL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/Marc21Decoder.java:138: warning - Marc21EventNames#TYPE_OF_CONTROL_LITERAL (referenced by @value tag) is an unknown reference. metafacture-javaintegration/src/main/java/org/metafacture/javaintegration/MapToStream.java:81: warning - StandardEventNames#ID (referenced by @value tag) is an unknown reference. metafacture-mangling/src/main/java/org/metafacture/mangling/RecordIdChanger.java:101: warning - StandardEventNames#ID (referenced by @value tag) is an unknown reference.
blackwinter
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wow, what a Herculean task! I've added some more fixes, but overall nice job :)
We should probably configure additional checks now that we're officially committed to writing Javadoc comments. But that can happen later.
Also, there are a bunch of @value references to private constants which can't be resolved:
metafacture-io/src/main/java/org/metafacture/io/ObjectWriter.java:56: warning - #STDOUT (referenced by @value tag) is an unknown reference.
metafacture-io/src/main/java/org/metafacture/io/ObjectWriter.java:56: warning - #STDOUT (referenced by @value tag) is an unknown reference.
metafacture-monitoring/src/main/java/org/metafacture/monitoring/ObjectBatchLogger.java:68: warning - #DEFAULT_FORMAT (referenced by @value tag) is an unknown reference.
metafacture-monitoring/src/main/java/org/metafacture/monitoring/ObjectBatchLogger.java:68: warning - #DEFAULT_FORMAT (referenced by @value tag) is an unknown reference.
metafacture-monitoring/src/main/java/org/metafacture/monitoring/ObjectBatchLogger.java:68: warning - #DEFAULT_FORMAT (referenced by @value tag) is an unknown reference.
metafacture-xml/src/main/java/org/metafacture/xml/GenericXmlHandler.java:62: warning - #RECORD_TAG_PROPERTY (referenced by @value tag) is an unknown reference.
metafacture-xml/src/main/java/org/metafacture/xml/GenericXmlHandler.java:93: warning - DEFAULT_RECORD_TAG (referenced by @value tag) is an unknown reference.
metamorph/src/main/java/org/metafacture/metamorph/functions/ISBN.java:101: warning - #ISBN10 (referenced by @value tag) is an unknown reference.
metamorph/src/main/java/org/metafacture/metamorph/functions/ISBN.java:101: warning - #ISBN13 (referenced by @value tag) is an unknown reference.
metamorph/src/main/java/org/metafacture/metamorph/functions/Unique.java:80: warning - #NAME (referenced by @value tag) is an unknown reference.
metamorph/src/main/java/org/metafacture/metamorph/functions/Unique.java:80: warning - #VALUE (referenced by @value tag) is an unknown reference.
We should either make them public or drop the references.
metafacture-biblio/src/main/java/org/metafacture/biblio/iso2709/RecordBuilder.java
Show resolved
Hide resolved
metafacture-triples/src/main/java/org/metafacture/triples/AbstractTripleSort.java
Outdated
Show resolved
Hide resolved
metafacture-triples/src/main/java/org/metafacture/triples/AbstractTripleSort.java
Outdated
Show resolved
Hide resolved
metafacture-triples/src/main/java/org/metafacture/triples/AbstractTripleSort.java
Show resolved
Hide resolved
metamorph/src/main/java/org/metafacture/metamorph/maps/JndiSqlMap.java
Outdated
Show resolved
Hide resolved
metafacture-biblio/src/main/java/org/metafacture/biblio/iso2709/RecordBuilder.java
Outdated
Show resolved
Hide resolved
dr0i
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great - thx for the improvements! Noted some things.
metafacture-biblio/src/main/java/org/metafacture/biblio/iso2709/RecordBuilder.java:398: warning - Tag @see: reference not found: AppendState#ID_FIELD metafacture-io/src/main/java/org/metafacture/io/ObjectWriter.java:56: warning - #STDOUT (referenced by @value tag) is an unknown reference. metafacture-monitoring/src/main/java/org/metafacture/monitoring/ObjectBatchLogger.java:68: warning - #DEFAULT_FORMAT (referenced by @value tag) is an unknown reference. metafacture-xml/src/main/java/org/metafacture/xml/GenericXmlHandler.java:62: warning - #RECORD_TAG_PROPERTY (referenced by @value tag) is an unknown reference. metafacture-xml/src/main/java/org/metafacture/xml/GenericXmlHandler.java:93: warning - DEFAULT_RECORD_TAG (referenced by @value tag) is an unknown reference. metamorph/src/main/java/org/metafacture/metamorph/functions/ISBN.java:101: warning - #ISBN10 (referenced by @value tag) is an unknown reference. metamorph/src/main/java/org/metafacture/metamorph/functions/ISBN.java:101: warning - #ISBN13 (referenced by @value tag) is an unknown reference. metamorph/src/main/java/org/metafacture/metamorph/functions/Unique.java:80: warning - #NAME (referenced by @value tag) is an unknown reference. metamorph/src/main/java/org/metafacture/metamorph/functions/Unique.java:80: warning - #VALUE (referenced by @value tag) is an unknown reference.
- shorten description and use plural
This will result in many javadoc errors which will be cared of in later commits.
Result of 0630ffa.
Result of 0630ffa.
metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/MarcXmlEncoder.java:136: warning - #NAMESPACE_NAME (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/MarcXmlEncoder.java:136: warning - #NAMESPACE_NAME (referenced by @value tag) is an unknown reference. metafacture-biblio/src/main/java/org/metafacture/biblio/marc21/MarcXmlEncoder.java:136: warning - #NAMESPACE_NAME (referenced by @value tag) is an unknown reference. metafacture-commons/src/main/java/org/metafacture/commons/StringUtil.java:63: warning - #DEFAULT_VARSTART (referenced by @value tag) is an unknown reference. metafacture-commons/src/main/java/org/metafacture/commons/StringUtil.java:63: warning - #DEFAULT_VAREND (referenced by @value tag) is an unknown reference. metafacture-commons/src/main/java/org/metafacture/commons/StringUtil.java:94: warning - #DEFAULT_VARSTART (referenced by @value tag) is an unknown reference. metafacture-commons/src/main/java/org/metafacture/commons/StringUtil.java:94: warning - #DEFAULT_VAREND (referenced by @value tag) is an unknown reference. metafacture-strings/src/main/java/org/metafacture/strings/StreamUnicodeNormalizer.java:157: warning - Tag @link: reference not found: Normalizer.Form metafacture-strings/src/main/java/org/metafacture/strings/UnicodeNormalizer.java:76: warning - Tag @link: reference not found: Normalizer.Form
|
Awesome! 🎉 I still get some Javadoc reference errors, though: Fixed in 3b8289e. But I wonder why they weren't picked up by the Github actions build... |
Complements 87e602a.
Probably a bugfix in 1.8? I use java version 1.8.0_292. |
|
Doing
./gradlew installfails with javadoc errors resulting in a failed build.This PR fixes the javadoc errors.
That make me think about changing github actions to not only do a
run: ./gradlew checkbut a fullrun: ./gradlew install- or do I miss something @blackwinter ?