[
https://issues.apache.org/jira/browse/MJAVADOC-814?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17898995#comment-17898995
]
ASF GitHub Bot commented on MJAVADOC-814:
-----------------------------------------
elharo commented on code in PR #337:
URL:
https://github.com/apache/maven-javadoc-plugin/pull/337#discussion_r1845446776
##########
src/main/java/org/apache/maven/plugins/javadoc/AbstractJavadocMojo.java:
##########
@@ -5955,7 +5955,7 @@ protected final JavadocOptions buildJavadocOptions()
throws IOException {
options.setBootclasspathArtifacts(toList(bootclasspathArtifacts));
options.setDocfilesSubdirsUsed(docfilessubdirs);
options.setDocletArtifacts(toList(docletArtifact, docletArtifacts));
- options.setExcludedDocfilesSubdirs(excludedocfilessubdir);
+ options.setExcludedDocfilesSubdirs(excludedocfilessubdir == null ?
null : excludedocfilessubdir.trim());
Review Comment:
This was hard to read. Consider renaming excludedDocfilesSubdirs
##########
src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java:
##########
@@ -675,4 +680,23 @@ private void stopSilently(Server server) {
// ignored
}
}
+
+ public void testQuotedArgument() throws Exception {
+
+ String value = " org.apache.uima.analysis_component:\n
org.apache.uima.analysis_engine\n";
+
+ String arg = JavadocUtil.quotedArgument(value);
+
assertThat(arg).isEqualTo("'org.apache.uima.analysis_component:org.apache.uima.analysis_engine'");
+
+ value =
"org.apache.uima.analysis_component:org.apache.uima.analysis_engine";
Review Comment:
This should be two test methods so they don't interfere with eech other
##########
src/test/java/org/apache/maven/plugins/javadoc/JavadocUtilTest.java:
##########
@@ -675,4 +680,23 @@ private void stopSilently(Server server) {
// ignored
}
}
+
+ public void testQuotedArgument() throws Exception {
+
+ String value = " org.apache.uima.analysis_component:\n
org.apache.uima.analysis_engine\n";
+
+ String arg = JavadocUtil.quotedArgument(value);
+
assertThat(arg).isEqualTo("'org.apache.uima.analysis_component:org.apache.uima.analysis_engine'");
Review Comment:
assertEquals is simpler and more direct
##########
src/main/java/org/apache/maven/plugins/javadoc/JavadocUtil.java:
##########
@@ -221,14 +221,17 @@ protected static List<String> getExcludedPackages(
* @return quoted option-argument
*/
protected static String quotedArgument(String value) {
+ if (value == null) {
+ return null;
+ }
String arg = value;
+ List<String> list =
Arrays.stream(arg.split("\n")).map(String::trim).collect(Collectors.toList());
+ arg = String.join("", list);
Review Comment:
try to avoid reusing variables as it's bug prone
Also, this is combining lines with no space in between one line and the
next. Is that what you want?
> Ability to split grouped packages over multiple lines
> -----------------------------------------------------
>
> Key: MJAVADOC-814
> URL: https://issues.apache.org/jira/browse/MJAVADOC-814
> Project: Maven Javadoc Plugin
> Issue Type: New Feature
> Components: javadoc
> Affects Versions: 3.10.0
> Reporter: Richard Eckart de Castilho
> Assignee: Olivier Lamy
> Priority: Major
>
> When configuring groups, the packages in the group need to be written on a
> single line separated with colons.
> {noformat}
> <groups>
> <group>
> <title>Core</title>
> <packages>
> org.apache.uima.analysis_component:org.apache.uima.analysis_engine
> </packages>
> </group>
> </groups>
> {noformat}
> If there are many packages that can not easily be captured using a prefix
> pattern, this yields a very long line.
> It would be greate if one could split the packages over multiple lines such as
> {noformat}
> <groups>
> <group>
> <title>Core</title>
> <packages>
> org.apache.uima.analysis_component:
> org.apache.uima.analysis_engine
> </packages>
> </group>
> </groups>
> {noformat}
> The code internally already calls
> {{org.apache.maven.plugins.javadoc.JavadocUtil.quotedArgument(String)}} to
> sanitze the line breaks away, but it seems the whitespace still breaks it and
> javadoc tool in the end only recognizes the first package in the multi-line
> group.
> Even nicer may be.
> {noformat}
> <groups>
> <group>
> <title>Core</title>
> <packages>
> <package>org.apache.uima.analysis_component</package>
> <package>org.apache.uima.analysis_engine</package>
> </packages>
> </group>
> </groups>
> {noformat}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)