You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2017/01/17 21:48:07 UTC

svn commit: r1779270 - in /maven/plugins/trunk/maven-shade-plugin/src: it/project-with-reactors-included/verify.bsh main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java

Author: rfscholte
Date: Tue Jan 17 21:48:06 2017
New Revision: 1779270

URL: http://svn.apache.org/viewvc?rev=1779270&view=rev
Log:
[MSHADE-225] Writing output only once
Probably only happens in case of reducing reactor projects

Modified:
    maven/plugins/trunk/maven-shade-plugin/src/it/project-with-reactors-included/verify.bsh
    maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java

Modified: maven/plugins/trunk/maven-shade-plugin/src/it/project-with-reactors-included/verify.bsh
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/project-with-reactors-included/verify.bsh?rev=1779270&r1=1779269&r2=1779270&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/it/project-with-reactors-included/verify.bsh (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/it/project-with-reactors-included/verify.bsh Tue Jan 17 21:48:06 2017
@@ -20,6 +20,8 @@
 import java.io.*;
 import java.util.jar.*;
 
+import org.codehaus.plexus.util.*;
+
 String[] wanted =
 {
     "org/apache/maven/plugins/shade/its/one/AppOne.class",
@@ -38,6 +40,14 @@ for ( String path : wanted )
     }
 }
 
+jarFile.close();
 
+// MSHADE-225 Writing output only once
+File logFile = new File( basedir, "build.log" );
+String log = FileUtils.fileRead( logFile );
 
-jarFile.close();
\ No newline at end of file
+int index = log.indexOf( "[INFO] Dependency-reduced POM written at: " );
+if ( log.indexOf( "[INFO] Dependency-reduced POM written at: ", index+1 ) >= 0 )
+{
+  throw new IllegalStateException( "'[INFO] Dependency-reduced POM written at: ' written more than once" + path );
+}

Modified: maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java?rev=1779270&r1=1779269&r2=1779270&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java Tue Jan 17 21:48:06 2017
@@ -959,7 +959,7 @@ public class ShadeMojo
     {
         if ( modified )
         {
-            while ( modified )
+            for ( int loopCounter = 0; modified; loopCounter++ )
             {
 
                 model.setDependencies( dependencies );
@@ -981,7 +981,12 @@ public class ShadeMojo
                 }
 
                 File f = dependencyReducedPomLocation;
-                getLog().info( "Dependency-reduced POM written at: " + f.getAbsolutePath() );
+                // MSHADE-225 
+                // Works for now, maybe there's a better algorithm where no for-loop is required
+                if ( loopCounter == 0 )
+                {
+                    getLog().info( "Dependency-reduced POM written at: " + f.getAbsolutePath() );
+                }
 
                 if ( f.exists() )
                 {