You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2017/09/27 06:00:56 UTC
svn commit: r1809809 - in
/jackrabbit/commons/filevault-package-maven-plugin/trunk:
it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/
it/src/test/resources/test-projects/manifest-generation/with-bundles/
it/src/test/resources/test-proje...
Author: tripod
Date: Wed Sep 27 06:00:55 2017
New Revision: 1809809
URL: http://svn.apache.org/viewvc?rev=1809809&view=rev
Log:
JCRVLT-206 auto import-statement too big in case no compiled classes found
Added:
jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/
jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/expected-manifest.txt
jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/pom.xml
- copied, changed from r1809805, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml
Modified:
jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ManifestGenerationTest.java
jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml
jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-code/pom.xml
jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AnalyzeClassesMojo.java
jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ImportPackageBuilder.java
Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ManifestGenerationTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ManifestGenerationTest.java?rev=1809809&r1=1809808&r2=1809809&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ManifestGenerationTest.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/java/org/apache/jackrabbit/filevault/maven/packaging/ManifestGenerationTest.java Wed Sep 27 06:00:55 2017
@@ -37,7 +37,8 @@ public class ManifestGenerationTest exte
return Arrays.asList(new Object[][]{
{"/manifest-generation/simple", true},
{"/manifest-generation/with-bundles", true},
- {"/manifest-generation/with-code", true}
+ {"/manifest-generation/with-code", true},
+ {"/manifest-generation/with-unused-dependencies", true}
});
}
Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml?rev=1809809&r1=1809808&r2=1809809&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml Wed Sep 27 06:00:55 2017
@@ -31,6 +31,7 @@
<extensions>true</extensions>
<configuration>
<group>my/test/group</group>
+ <importUnusedPackages>true</importUnusedPackages>
<importPackage>
-aQute*, <!-- example of removing a package -->
-org.osgi.framework.*, <!-- should keep the org.osgi.framework but remove subpackages-->
Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-code/pom.xml
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-code/pom.xml?rev=1809809&r1=1809808&r2=1809809&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-code/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-code/pom.xml Wed Sep 27 06:00:55 2017
@@ -57,12 +57,18 @@
<version>2.5</version>
<scope>provided</scope>
</dependency>
- <!-- GRANITE-17649 test case -->
<dependency>
<groupId>org.apache.jackrabbit</groupId>
<artifactId>jackrabbit-api</artifactId>
<version>2.7.5</version>
<scope>provided</scope>
</dependency>
+ <dependency>
+ <!-- unused dependency -->
+ <groupId>biz.aQute</groupId>
+ <artifactId>bndlib</artifactId>
+ <version>1.43.0</version>
+ <scope>provided</scope>
+ </dependency>
</dependencies>
</project>
Added: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/expected-manifest.txt
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/expected-manifest.txt?rev=1809809&view=auto
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/expected-manifest.txt (added)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/expected-manifest.txt Wed Sep 27 06:00:55 2017
@@ -0,0 +1,10 @@
+Archiver-Version:Plexus Archiver
+Content-Package-Description:This is an Example Project to verify that manifest generation is correct.
+Content-Package-Id:my/test/group:package-plugin-test-pkg:1.0.0-SNAPSHOT
+Content-Package-Roots:/apps/test
+Content-Package-Type:application
+Created-By:Apache Maven
+Implementation-Title:Example Default Project
+Implementation-Vendor-Id:org.apache.jackrabbit.filevault
+Implementation-Version:1.0.0-SNAPSHOT
+Manifest-Version:1.0
\ No newline at end of file
Copied: jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/pom.xml (from r1809805, jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml)
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/pom.xml?p2=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/pom.xml&p1=jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml&r1=1809805&r2=1809809&rev=1809809&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-bundles/pom.xml (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/it/src/test/resources/test-projects/manifest-generation/with-unused-dependencies/pom.xml Wed Sep 27 06:00:55 2017
@@ -31,12 +31,6 @@
<extensions>true</extensions>
<configuration>
<group>my/test/group</group>
- <importPackage>
- -aQute*, <!-- example of removing a package -->
- -org.osgi.framework.*, <!-- should keep the org.osgi.framework but remove subpackages-->
- javax.jcr*;version="[1.0.0,3.0.0)", <!-- example of altering existing packages -->
- org.apache.foo <!-- example of adding a new package -->
- </importPackage>
<failOnDependencyErrors>false</failOnDependencyErrors>
<filters>
<filter>
@@ -61,7 +55,6 @@
<scope>provided</scope>
</dependency>
<dependency>
- <!-- unused dependency -->
<groupId>biz.aQute</groupId>
<artifactId>bndlib</artifactId>
<version>1.43.0</version>
Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AnalyzeClassesMojo.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AnalyzeClassesMojo.java?rev=1809809&r1=1809808&r2=1809809&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AnalyzeClassesMojo.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/AnalyzeClassesMojo.java Wed Sep 27 06:00:55 2017
@@ -57,12 +57,19 @@ public class AnalyzeClassesMojo extends
@Parameter(property = "vault.generatedImportPackage", defaultValue = "${project.build.directory}/vault-generated-import.txt")
private File generatedImportPackage;
+ /**
+ * Defines if unused packages should be included in the import-package entry if no classes exist in the project
+ */
+ @Parameter(property = "vault.importUnusedPackages")
+ private boolean importUnusedPackages;
+
public void execute() throws MojoExecutionException, MojoFailureException {
try {
getLog().info("Analyzing java package dependencies.");
ImportPackageBuilder builder = new ImportPackageBuilder()
.withDependenciesFromProject(project)
.withClassFileDirectory(sourceDirectory)
+ .setIncludeUnused(importUnusedPackages)
.analyze();
String report = builder.createExportPackageReport();
Modified: jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ImportPackageBuilder.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ImportPackageBuilder.java?rev=1809809&r1=1809808&r2=1809809&view=diff
==============================================================================
--- jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ImportPackageBuilder.java (original)
+++ jackrabbit/commons/filevault-package-maven-plugin/trunk/plugin/src/main/java/org/apache/jackrabbit/filevault/maven/packaging/ImportPackageBuilder.java Wed Sep 27 06:00:55 2017
@@ -105,6 +105,11 @@ public class ImportPackageBuilder {
private Map<String, Attrs> importParameters = Collections.emptyMap();
/**
+ * specifies if unused packages should be included if there are not classes in the project
+ */
+ private boolean includeUnused;
+
+ /**
* Sets the class files directory
* @param classes the directory
* @return this.
@@ -136,6 +141,17 @@ public class ImportPackageBuilder {
}
/**
+ * defines if unused packages should be included if no classes exist in the project.
+ * @param includeUnused {@code true} to include unused.
+ * @return this
+ */
+ @Nonnull
+ public ImportPackageBuilder setIncludeUnused(boolean includeUnused) {
+ this.includeUnused = includeUnused;
+ return this;
+ }
+
+ /**
* analyzes the imports
* @return this
* @throws IOException if an error occurrs.
@@ -386,6 +402,9 @@ public class ImportPackageBuilder {
// skip if not used.
continue;
}
+ if (classFiles.isEmpty() && !includeUnused) {
+ continue;
+ }
if (info.bundles.isEmpty()) {
// skip if no bundle
continue;