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();