You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@felix.apache.org by nb...@apache.org on 2017/12/12 09:36:47 UTC

svn commit: r1817899 - in /felix/trunk/tools/maven-bundle-plugin/src: main/java/org/apache/felix/bundleplugin/BundlePlugin.java test/java/org/apache/felix/bundleplugin/BundlePluginTest.java

Author: nbartlett
Date: Tue Dec 12 09:36:47 2017
New Revision: 1817899

URL: http://svn.apache.org/viewvc?rev=1817899&view=rev
Log:
FELIX-5592 Ensure user can override fixups:

Modified:
    felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
    felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java

Modified: felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
URL: http://svn.apache.org/viewvc/felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java?rev=1817899&r1=1817898&r2=1817899&view=diff
==============================================================================
--- felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java (original)
+++ felix/trunk/tools/maven-bundle-plugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java Tue Dec 12 09:36:47 2017
@@ -701,7 +701,7 @@ public class BundlePlugin extends Abstra
             includeMavenResources(currentProject, builder, getLog());
 
             // Fixup error messages
-            includeJava9Fixups(currentProject, builder, getLog());
+            includeJava9Fixups(currentProject, builder);
 
             // calculate default export/private settings based on sources
             addLocalPackages(outputDirectory, builder);
@@ -2167,17 +2167,20 @@ public class BundlePlugin extends Abstra
      * JARs exists in OSGi. This fix only allows these JARs to be processed at all and to be usable on
      * Java 8 (and below), and also on Java 9 where the version-specific customizations are optional.
      */
-    protected static void includeJava9Fixups( MavenProject currentProject, Analyzer analyzer, Log log )
+    protected static void includeJava9Fixups(MavenProject currentProject, Analyzer analyzer)
     {
-        final String fixupClassesInWrongDir = "Classes found in the wrong directory;"
+        final String classesInWrongDirError = "Classes found in the wrong directory";
+        final String newFixup = "Classes found in the wrong directory;"
             + Analyzer.FIXUPMESSAGES_IS_DIRECTIVE + "="
             + Analyzer.FIXUPMESSAGES_IS_WARNING;
 
         String fixups = analyzer.getProperty(Analyzer.FIXUPMESSAGES);
-        if (fixups != null) {
-            fixups += "," + fixupClassesInWrongDir;
+        if (fixups != null && !fixups.isEmpty()) {
+            if (!fixups.contains(classesInWrongDirError)) {
+                fixups += "," + newFixup;
+            }
         } else {
-            fixups = fixupClassesInWrongDir;
+            fixups = newFixup;
         }
         analyzer.setProperty(Analyzer.FIXUPMESSAGES, fixups);
     }

Modified: felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java
URL: http://svn.apache.org/viewvc/felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java?rev=1817899&r1=1817898&r2=1817899&view=diff
==============================================================================
--- felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java (original)
+++ felix/trunk/tools/maven-bundle-plugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java Tue Dec 12 09:36:47 2017
@@ -402,4 +402,24 @@ public class BundlePluginTest extends Ab
         File file = new File( getBasedir(), "target" + File.separatorChar + "test.props" );
         builder.getProperties().store( new FileOutputStream( file ), "TEST" );
     }
+
+    public void testIncludeJava9Fixups() {
+        Builder analyzer = new Builder();
+
+        MavenProject project = getMavenProjectStub();
+        BundlePlugin.includeJava9Fixups(project, analyzer);
+
+        assertEquals("Classes found in the wrong directory;is:=warning", analyzer.get("-fixupmessages"));
+    }
+
+    public void testOverrideJava9Fixups() {
+        Builder analyzer = new Builder();
+
+        MavenProject project = getMavenProjectStub();
+        analyzer.set("-fixupmessages", "Classes found in the wrong directory;is:=error");
+        BundlePlugin.includeJava9Fixups(project, analyzer);
+
+        assertEquals("Classes found in the wrong directory;is:=error", analyzer.get("-fixupmessages"));
+    }
+
 }