[ 
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)

Reply via email to