You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2019/12/06 06:59:18 UTC
[sling-slingfeature-maven-plugin] branch master updated: SLING-8891
: Provide option to disable parts of the api generation
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 2ee7540 SLING-8891 : Provide option to disable parts of the api generation
2ee7540 is described below
commit 2ee75404d702af112bf41b1ecc81254cde474922
Author: Carsten Ziegeler <cz...@apache.org>
AuthorDate: Fri Dec 6 07:59:05 2019 +0100
SLING-8891 : Provide option to disable parts of the api generation
---
.../sling/feature/maven/mojos/ApisJarMojo.java | 86 +++++++++++++++-------
1 file changed, 61 insertions(+), 25 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 346f746..5da7359 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
@@ -168,9 +168,15 @@ public class ApisJarMojo extends AbstractIncludingFeatureMojo implements Artifac
@Parameter
private Set<String> excludeRegions;
+ /**
+ * List of javadoc links used in the javadoc generation.
+ */
@Parameter
private String[] javadocLinks;
+ /**
+ * Ignore errors in javadoc generation
+ */
@Parameter(defaultValue = "false")
private boolean ignoreJavadocErrors;
@@ -218,6 +224,24 @@ public class ApisJarMojo extends AbstractIncludingFeatureMojo implements Artifac
@Parameter
private Map<String, String> apiClassifierMappings;
+ /**
+ * Generate api jar
+ */
+ @Parameter(defaultValue = "true")
+ private boolean generateApiJar;
+
+ /**
+ * Generate the sources jar
+ */
+ @Parameter(defaultValue = "true")
+ private boolean generateSourceJar;
+
+ /**
+ * Generate the javadoc jar
+ */
+ @Parameter(defaultValue = "true")
+ private boolean generateJavadocJar;
+
@Parameter(defaultValue = "${project.build.directory}/apis-jars", readonly = true)
private File mainOutputDir;
@@ -232,7 +256,7 @@ public class ApisJarMojo extends AbstractIncludingFeatureMojo implements Artifac
@Component
private RepositorySystem repositorySystem;
-
+
@Parameter
private String javadocSourceLevel;
@@ -438,29 +462,41 @@ public class ApisJarMojo extends AbstractIncludingFeatureMojo implements Artifac
}
// recollect and package stuff
- for (ApiRegion apiRegion : regions.listRegions()) {
- File regionDir = new File(featureDir, apiRegion.getName());
-
- File apisDir = new File(regionDir, APIS);
- List<String> nodeTypes = recollect(featureDir, deflatedBinDir, apiRegion, apisDir);
- final File apiJar = createArchive(feature.getId(), apisDir, apiRegion, APIS, nodeTypes, this.apiResources);
- report(apiJar, APIS, apiRegion, "class");
-
- File sourcesDir = new File(regionDir, SOURCES);
- recollect(featureDir, deflatedSourcesDir, apiRegion, sourcesDir);
- final File sourceJar = createArchive(feature.getId(), sourcesDir, apiRegion, SOURCES, null,
- this.apiSourceResources);
- report(sourceJar, SOURCES, apiRegion, "java");
-
- List<String> subpackageDirectories = calculateSubpackageDirectories(sourcesDir);
- if (!subpackageDirectories.isEmpty()) {
- File javadocsDir = new File(regionDir, JAVADOC);
- generateJavadoc(sourcesDir, javadocsDir, javadocClasspath, subpackageDirectories);
- final File javadocJar = createArchive(feature.getId(), javadocsDir, apiRegion, JAVADOC, null,
- this.apiJavadocResources);
- report(javadocJar, JAVADOC, apiRegion, "html");
- } else {
- getLog().warn("Javadoc JAR will NOT be generated - sources directory " + sourcesDir +" was empty or contained no Java files!");
+ for (final ApiRegion apiRegion : regions.listRegions()) {
+ final File regionDir = new File(featureDir, apiRegion.getName());
+
+ if (generateApiJar) {
+ final File apisDir = new File(regionDir, APIS);
+ final List<String> nodeTypes = recollect(featureDir, deflatedBinDir, apiRegion, apisDir);
+ final File apiJar = createArchive(feature.getId(), apisDir, apiRegion, APIS, nodeTypes,
+ this.apiResources);
+ report(apiJar, APIS, apiRegion, "class");
+ }
+
+ final File sourcesDir = new File(regionDir, SOURCES);
+ // we need sources for both source and javadoc jar
+ if (generateSourceJar || generateJavadocJar) {
+ recollect(featureDir, deflatedSourcesDir, apiRegion, sourcesDir);
+ }
+
+ if (generateSourceJar) {
+ final File sourceJar = createArchive(feature.getId(), sourcesDir, apiRegion, SOURCES, null,
+ this.apiSourceResources);
+ report(sourceJar, SOURCES, apiRegion, "java");
+ }
+
+ if (generateJavadocJar) {
+ final List<String> subpackageDirectories = calculateSubpackageDirectories(sourcesDir);
+ if (!subpackageDirectories.isEmpty()) {
+ final File javadocsDir = new File(regionDir, JAVADOC);
+ generateJavadoc(sourcesDir, javadocsDir, javadocClasspath, subpackageDirectories);
+ final File javadocJar = createArchive(feature.getId(), javadocsDir, apiRegion, JAVADOC, null,
+ this.apiJavadocResources);
+ report(javadocJar, JAVADOC, apiRegion, "html");
+ } else {
+ getLog().warn("Javadoc JAR will NOT be generated - sources directory " + sourcesDir
+ + " was empty or contained no Java files!");
+ }
}
}
@@ -1240,7 +1276,7 @@ public class ApisJarMojo extends AbstractIncludingFeatureMojo implements Artifac
javadocExecutor.addArgument("-source", false)
.addArgument(javadocSourceLevel);
}
-
+
if (isNotEmpty(project.getName())) {
javadocExecutor.addArgument("-doctitle", false)
.addQuotedArgument(project.getName());