Author: khmarbaise
Date: Fri May 29 23:20:42 2015
New Revision: 1682566

URL: http://svn.apache.org/r1682566
Log:
[MSHADE-172] java.lang.ArithmeticException: / by zero in MinijarFilter

Modified:
    
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java

Modified: 
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java
URL: 
http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java?rev=1682566&r1=1682565&r2=1682566&view=diff
==============================================================================
--- 
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java
 (original)
+++ 
maven/plugins/trunk/maven-shade-plugin/src/main/java/org/apache/maven/plugins/shade/filter/MinijarFilter.java
 Fri May 29 23:20:42 2015
@@ -94,9 +94,8 @@ public class MinijarFilter
         removePackages( artifactUnit );
         removable.removeAll( artifactUnit.getClazzes() );
         removable.removeAll( artifactUnit.getTransitiveDependencies() );
-        removeSpecificallyIncludedClasses( project, simpleFilters == null
-            ? Collections.<SimpleFilter>emptyList()
-            : simpleFilters );
+        removeSpecificallyIncludedClasses( project, simpleFilters == null ? 
Collections.<SimpleFilter>emptyList()
+                        : simpleFilters );
     }
 
     private ClazzpathUnit addDependencyToClasspath( Clazzpath cp, Artifact 
dependency )
@@ -112,19 +111,18 @@ public class MinijarFilter
         catch ( ZipException e )
         {
             log.warn( dependency.getFile()
-                          + " could not be unpacked/read for minimization; 
dependency is probably malformed." );
-            IOException ioe = new IOException(
-                "Dependency " + dependency.toString() + " in file " + 
dependency.getFile()
-                    + " could not be unpacked. File is probably corrupt"
-            );
+                + " could not be unpacked/read for minimization; dependency is 
probably malformed." );
+            IOException ioe =
+                new IOException( "Dependency " + dependency.toString() + " in 
file " + dependency.getFile()
+                    + " could not be unpacked. File is probably corrupt" );
             ioe.initCause( e );
             throw ioe;
         }
         catch ( ArrayIndexOutOfBoundsException e )
         {
-            //trap ArrayIndexOutOfBoundsExceptions caused by malformed 
dependency classes (MSHADE-107)
-            log.warn(
-                dependency.toString() + " could not be analyzed for 
minimization; dependency is probably malformed." );
+            // trap ArrayIndexOutOfBoundsExceptions caused by malformed 
dependency classes (MSHADE-107)
+            log.warn( dependency.toString()
+                + " could not be analyzed for minimization; dependency is 
probably malformed." );
         }
         finally
         {
@@ -162,7 +160,7 @@ public class MinijarFilter
     private void removeSpecificallyIncludedClasses( MavenProject project, 
List<SimpleFilter> simpleFilters )
         throws IOException
     {
-        //remove classes specifically included in filters
+        // remove classes specifically included in filters
         Clazzpath checkCp = new Clazzpath();
         for ( Artifact dependency : project.getArtifacts() )
         {
@@ -220,6 +218,14 @@ public class MinijarFilter
     public void finished()
     {
         int classesTotal = classesRemoved + classesKept;
-        log.info( "Minimized " + classesTotal + " -> " + classesKept + " (" + 
100 * classesKept / classesTotal + "%)" );
+        if ( classesTotal == 0 )
+        {
+            log.info( "Minimized " + classesTotal + " -> " + classesKept + " 
(" + 100 * classesKept / classesTotal
+                + "%)" );
+        }
+        else
+        {
+            log.info( "Minimized " + classesTotal + " -> " + classesKept );
+        }
     }
 }


Reply via email to