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 2013/02/17 16:47:10 UTC

svn commit: r1447033 - /maven/plugins/trunk/maven-shade-plugin/src/site/apt/examples/resource-transformers.apt.vm

Author: rfscholte
Date: Sun Feb 17 15:47:10 2013
New Revision: 1447033

URL: http://svn.apache.org/r1447033
Log:
Add example of PluginXmlResourceTransformer

Modified:
    maven/plugins/trunk/maven-shade-plugin/src/site/apt/examples/resource-transformers.apt.vm

Modified: maven/plugins/trunk/maven-shade-plugin/src/site/apt/examples/resource-transformers.apt.vm
URL: http://svn.apache.org/viewvc/maven/plugins/trunk/maven-shade-plugin/src/site/apt/examples/resource-transformers.apt.vm?rev=1447033&r1=1447032&r2=1447033&view=diff
==============================================================================
--- maven/plugins/trunk/maven-shade-plugin/src/site/apt/examples/resource-transformers.apt.vm (original)
+++ maven/plugins/trunk/maven-shade-plugin/src/site/apt/examples/resource-transformers.apt.vm Sun Feb 17 15:47:10 2013
@@ -30,25 +30,27 @@ Resource Transformers
   transformers kick in.
 
   
-*-----------------------------------------+--------------------------------------+
-| {{ApacheLicenseResourceTransformer}}    | Prevents license duplication         |
-*-----------------------------------------+--------------------------------------+
-| {{ApacheNoticeResourceTransformer}}     | Prepares merged NOTICE               |
-*-----------------------------------------+--------------------------------------+
-| {{AppendingTransformer}}                | Adds content to a resource           |
-*-----------------------------------------+--------------------------------------+
-| {{ComponentsXmlResourceTransformer}}    | Aggregates Plexus <<<components.xml>>>|
-*-----------------------------------------+--------------------------------------+
+*-----------------------------------------+------------------------------------------+
+| {{ApacheLicenseResourceTransformer}}    | Prevents license duplication             |
+*-----------------------------------------+------------------------------------------+
+| {{ApacheNoticeResourceTransformer}}     | Prepares merged NOTICE                   |
+*-----------------------------------------+------------------------------------------+
+| {{AppendingTransformer}}                | Adds content to a resource               |
+*-----------------------------------------+------------------------------------------+
+| {{ComponentsXmlResourceTransformer}}    | Aggregates Plexus <<<components.xml>>>   |
+*-----------------------------------------+------------------------------------------+
 | {{DontIncludeResourceTransformer}}      | Prevents inclusion of matching resources |
-*-----------------------------------------+--------------------------------------+
-| {{IncludeResourceTransformer}}          | Adds files from the project          |
-*-----------------------------------------+--------------------------------------+
-| {{ManifestResourceTransformer}}         | Sets entries in the <<<MANIFEST>>>   |
-*-----------------------------------------+--------------------------------------+
+*-----------------------------------------+------------------------------------------+
+| {{IncludeResourceTransformer}}          | Adds files from the project              |
+*-----------------------------------------+------------------------------------------+
+| {{ManifestResourceTransformer}}         | Sets entries in the <<<MANIFEST>>>       |
+*-----------------------------------------+------------------------------------------+
+| {{PluginXmlResourceTransformer}}        | Aggregates Mavens <<<plugin.xml>>>       |
+*-----------------------------------------+------------------------------------------+
 | {{ServicesResourceTransformer}}         | Merges <<<META-INF/services>>> resources |
-*-----------------------------------------+--------------------------------------+
-| {{XmlAppendingTransformer}}             | Adds XML content to an XML resource  | 
-*-----------------------------------------+--------------------------------------+
+*-----------------------------------------+------------------------------------------+
+| {{XmlAppendingTransformer}}             | Adds XML content to an XML resource      | 
+*-----------------------------------------+------------------------------------------+
 Transformers in <<<org.apache.maven.plugins.shade.resource>>>
   
 * Merging Plexus Component Descriptors with the {ComponentsXmlResourceTransformer}
@@ -89,6 +91,41 @@ Transformers in <<<org.apache.maven.plug
   Since plugin version 1.3, this resource transformer will also update the descriptor to account for relocation of
   component interfaces/implementations (if any).
 
+* Relocate classes of the Maven Plugin Descriptor with the {PluginXmlResourceTransformer}
+
+  With {{{http://maven.apache.org/plugin-tools/index.html}Plugin Tools 3.0}} annotations have been introduced. Now references 
+  to classes are no longer classnames as String, but the actual Class reference. When you wanted to relocate classes, you had to
+  maintain the <<<META-INF/maven/plugin.xml>>> by hand, but now this can be done with the <<<PluginXmlResourceTransformer>>>  
+
++-----
+<project>
+  ...
+  <build>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-shade-plugin</artifactId>
+        <version>${project.version}</version>
+        <executions>
+          <execution>
+            <phase>package</phase>
+            <goals>
+              <goal>shade</goal>
+            </goals>
+            <configuration>
+              <transformers>
+                <transformer implementation="org.apache.maven.plugins.shade.resource.PluginXmlResourceTransformer"/>
+              </transformers>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  ...
+</project>
++-----
+
 * Concatenating Service Entries with the {ServicesResourceTransformer}
 
   JAR files providing implementations of some interfaces often ship with a <<<META-INF/services/>>> directory that