This is an automated email from the ASF dual-hosted git repository.

cziegeler pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/sling-slingfeature-maven-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 06c696f  SLING-10338 : Allow empty javadoc api jar
06c696f is described below

commit 06c696fd5cae700e6a2e1fcbf0571da1e0003bf0
Author: Carsten Ziegeler <cziege...@apache.org>
AuthorDate: Wed Apr 28 10:18:33 2021 +0200

    SLING-10338 : Allow empty javadoc api jar
---
 .../sling/feature/maven/mojos/ApisJarMojo.java     | 32 ++++++++--------------
 1 file changed, 11 insertions(+), 21 deletions(-)

diff --git 
a/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java 
b/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
index c461f30..a36b961 100644
--- a/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
+++ b/src/main/java/org/apache/sling/feature/maven/mojos/ApisJarMojo.java
@@ -570,29 +570,18 @@ public class ApisJarMojo extends 
AbstractIncludingFeatureMojo {
                         ext != null ? ext.getFramework() : null);
 
                 final Collection<ArtifactInfo> infos = generateJavadoc(ctx, 
regionName, links, javadocsDir, regionSupport, 
ctx.getConfig().isUseApiDependenciesForJavadoc());
-                if (infos != null) {
-                    ctx.setJavadocDir(javadocsDir);
-                    final File javadocJar = createArchive(ctx, apiRegion, 
ArtifactType.JAVADOC,
-                            this.apiJavadocResources, infos, report);
-                    report(ctx, javadocJar, ArtifactType.JAVADOC, 
regionSupport, apiRegion, ctx.getConfig().isUseApiDependenciesForJavadoc(), 
report, links);
-                } else {
-                    getLog().warn("Javadoc JAR will NOT be generated - sources 
directory " + ctx.getDeflatedSourcesDir()
-                            + " was empty or contained no Java files!");
-                }
+                ctx.setJavadocDir(javadocsDir);
+                final File javadocJar = createArchive(ctx, apiRegion, 
ArtifactType.JAVADOC,
+                        this.apiJavadocResources, infos, report);
+                report(ctx, javadocJar, ArtifactType.JAVADOC, regionSupport, 
apiRegion, ctx.getConfig().isUseApiDependenciesForJavadoc(), report, links);
 
                 if ( ctx.getConfig().isUseApiDependencies() && 
ctx.getConfig().isGenerateJavadocForAllApi() ) {
                     final File javadocsAllDir = new File(regionDir, 
ArtifactType.JAVADOC_ALL.getId());
                     final Collection<ArtifactInfo> infosForAll = 
generateJavadoc(ctx, regionName, links, javadocsAllDir, regionSupport, false);
-                    if (infosForAll != null) {
-                        ctx.setJavadocDir(javadocsAllDir);
-                        final File javadocJar = createArchive(ctx, apiRegion, 
ArtifactType.JAVADOC_ALL,
-                                this.apiJavadocResources, infosForAll, report);
-                        report(ctx, javadocJar, ArtifactType.JAVADOC, 
regionSupport, apiRegion, false, report, links);
-                    } else {
-                        getLog().warn("Javadoc JAR will NOT be generated - 
sources directory " + ctx.getDeflatedSourcesDir()
-                                + " was empty or contained no Java files!");
-                    }
-    
+                    ctx.setJavadocDir(javadocsAllDir);
+                    final File javadocAllJar = createArchive(ctx, apiRegion, 
ArtifactType.JAVADOC_ALL,
+                            this.apiJavadocResources, infosForAll, report);
+                    report(ctx, javadocAllJar, ArtifactType.JAVADOC, 
regionSupport, apiRegion, false, report, links);    
                 }
             }
 
@@ -1745,6 +1734,8 @@ public class ApisJarMojo extends 
AbstractIncludingFeatureMojo {
             final RegionSupport regionSupport,
             final boolean useDependencies)
     throws MojoExecutionException {
+        javadocDir.mkdirs();
+
         final Collection<ArtifactInfo> usedInfos = new ArrayList<>();
 
         final List<String> sourceDirectories = new ArrayList<>();
@@ -1764,7 +1755,7 @@ public class ApisJarMojo extends 
AbstractIncludingFeatureMojo {
         }
 
         if (javadocPackages.isEmpty()) {
-            return null;
+            return Collections.emptyList();
         }
 
         // handle additional packages
@@ -1813,7 +1804,6 @@ public class ApisJarMojo extends 
AbstractIncludingFeatureMojo {
                 }
             }
         }
-        javadocDir.mkdirs();
 
         final JavadocExecutor javadocExecutor = new 
JavadocExecutor(javadocDir.getParentFile())
                                           .addArgument("-public")

Reply via email to