You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by bi...@apache.org on 2012/08/31 19:08:27 UTC

svn commit: r1379508 - in /maven/plugins/trunk/maven-shade-plugin/src: it/dep-reduced-pom-unique/ it/dep-reduced-pom-unique/pom.xml it/dep-reduced-pom-unique/verify.groovy main/java/org/apache/maven/plugins/shade/mojo/ShadeMojo.java

Author: bimargulies
Date: Fri Aug 31 17:08:26 2012
New Revision: 1379508

URL: http://svn.apache.org/viewvc?rev=1379508&view=rev
Log:
MSHADE-124: Need better plan for getting dependency-reduced-pom.xml out of basedir
o add integration test for new unique name generator.

Added:
    maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/
      - copied from r1379485, maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom/
Modified:
    maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/pom.xml
    maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/verify.groovy
    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/dep-reduced-pom-unique/pom.xml
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/pom.xml?rev=1379508&r1=1379485&r2=1379508&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/pom.xml (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/pom.xml Fri Aug 31 17:08:26 2012
@@ -1,5 +1,4 @@
 <?xml version="1.0" encoding="UTF-8"?>
-
 <!--
 Licensed to the Apache Software Foundation (ASF) under one
 or more contributor license agreements.  See the NOTICE file
@@ -18,76 +17,85 @@ KIND, either express or implied.  See th
 specific language governing permissions and limitations
 under the License.
 -->
-
 <project>
-  <modelVersion>4.0.0</modelVersion>
-
-  <groupId>org.apache.maven.its.shade.drp</groupId>
-  <artifactId>test</artifactId>
-  <version>1.0</version>
-  <packaging>jar</packaging>
-
-  <name>MSHADE-53</name>
-  <description>
+    <modelVersion>4.0.0</modelVersion>
+    <groupId>org.apache.maven.its.shade.drp</groupId>
+    <artifactId>test</artifactId>
+    <version>1.0</version>
+    <packaging>jar</packaging>
+    <name>MSHADE-53</name>
+    <description>
     Test that creation of the dependency reduced POM properly handles dependencies with classifiers.
   </description>
-
-  <repositories>
-    <repository>
-      <id>shade-it</id>
-      <url>file:///${basedir}/repo</url>
-      <releases>
-        <checksumPolicy>ignore</checksumPolicy>
-      </releases>
-      <snapshots>
-        <enabled>false</enabled>
-      </snapshots>
-    </repository>
-  </repositories>
-
-  <dependencies>
-    <dependency>
-      <groupId>org.apache.maven.its.shade.drp</groupId>
-      <artifactId>a</artifactId>
-      <version>0.1</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.shade.drp</groupId>
-      <artifactId>b</artifactId>
-      <version>0.2</version>
-      <classifier>client</classifier>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven.its.shade.drp</groupId>
-      <artifactId>c</artifactId>
-      <version>1</version>
-      <type>pom</type>
-    </dependency>
-  </dependencies>
-
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>@project.version@</version>
-        <executions>
-          <execution>
-            <id>attach-shade</id>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-	      <!-- allow testing that pom dependencies are omitted with p-t-d -->
-	      <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
-              <shadedArtifactAttached>false</shadedArtifactAttached>
-              <createDependencyReducedPom>true</createDependencyReducedPom>
-              <dependencyReducedPomLocation>target/dependency-reduced-pom.xml</dependencyReducedPomLocation>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
+    <repositories>
+        <repository>
+            <id>shade-it</id>
+            <url>file:///${basedir}/repo</url>
+            <releases>
+                <checksumPolicy>ignore</checksumPolicy>
+            </releases>
+            <snapshots>
+                <enabled>false</enabled>
+            </snapshots>
+        </repository>
+    </repositories>
+    <dependencies>
+        <dependency>
+            <groupId>org.apache.maven.its.shade.drp</groupId>
+            <artifactId>a</artifactId>
+            <version>0.1</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.its.shade.drp</groupId>
+            <artifactId>b</artifactId>
+            <version>0.2</version>
+            <classifier>client</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.its.shade.drp</groupId>
+            <artifactId>c</artifactId>
+            <version>1</version>
+            <type>pom</type>
+        </dependency>
+    </dependencies>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-shade-plugin</artifactId>
+                <version>@project.version@</version>
+                <executions>
+                    <execution>
+                        <id>shade</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>shade</goal>
+                        </goals>
+                        <configuration>
+                            <promoteTransitiveDependencies>true</promoteTransitiveDependencies>
+                            <shadedArtifactAttached>false</shadedArtifactAttached>
+                            <createDependencyReducedPom>true</createDependencyReducedPom>
+                            <generateUniqueDependencyReducedPom>true</generateUniqueDependencyReducedPom>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+              <groupId>org.codehaus.mojo</groupId>
+              <artifactId>properties-maven-plugin</artifactId>
+              <version>1.0-alpha-2</version>
+              <executions>
+                <execution>
+                  <goals>
+                    <goal>write-project-properties</goal>
+                  </goals>
+                  <phase>package</phase>
+                  <configuration>
+                    <outputFile>target/project.properties</outputFile>
+                  </configuration>
+                </execution>
+              </executions>
+            </plugin>
+        </plugins>
+    </build>
 </project>

Modified: maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/verify.groovy
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/verify.groovy?rev=1379508&r1=1379485&r2=1379508&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/verify.groovy (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/it/dep-reduced-pom-unique/verify.groovy Fri Aug 31 17:08:26 2012
@@ -17,11 +17,23 @@
  * under the License.
  */
 
-File pomFile = new File( basedir, "target/dependency-reduced-pom.xml" );
-assert pomFile.isFile()
+import java.io.*;
+import java.util.Properties;
+
+def drps = basedir.listFiles( { dir, file -> file ==~ "dependency-reduced-.*\\.xml" } as FilenameFilter )
+
+File pomFile = drps[0]
 
 def ns = new groovy.xml.Namespace("http://maven.apache.org/POM/4.0.0") 
 def pom = new XmlParser().parse( pomFile )
 
 assert pom[ns.modelVersion].size() == 1
 assert pom[ns.dependencies][ns.dependency].size() == 0
+
+def props = new File( basedir, "target/project.properties" )
+Properties properties = new Properties();
+FileInputStream inp = new FileInputStream( props );
+properties.load( inp );
+inp.close();
+
+assert properties["maven.shade.dependency-reduced-pom"] != null

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=1379508&r1=1379507&r2=1379508&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 Fri Aug 31 17:08:26 2012
@@ -301,7 +301,7 @@ public class ShadeMojo
      *
      * @since 1.7.2
      */
-    @Parameter
+    @Parameter( defaultValue = "false" )
     private boolean generateUniqueDependencyReducedPom;
 
     /**
@@ -880,7 +880,7 @@ public class ShadeMojo
 
                 if ( generateUniqueDependencyReducedPom )
                 {
-                    dependencyReducedPomLocation = File.createTempFile( "dependency-reduced-pom", "xml", project.getBasedir() );
+                    dependencyReducedPomLocation = File.createTempFile( "dependency-reduced-pom-", ".xml", project.getBasedir() );
                     project.getProperties().setProperty( "maven.shade.dependency-reduced-pom", dependencyReducedPomLocation.getAbsolutePath() );
                 }
                 else
@@ -893,6 +893,8 @@ public class ShadeMojo
                 }
 
                 File f = dependencyReducedPomLocation;
+                getLog().info( "Dependency-reduced POM written at: " + f.getAbsolutePath() );
+
                 if ( f.exists() )
                 {
                     f.delete();