Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Commons Wiki" for 
change notification.

The "UseClirrWithShade" page has been changed by sebbapache:
https://wiki.apache.org/commons/UseClirrWithShade

Comment:
How to use Shade with Clirr

New page:
This page describes how one can use Clirr with Shade to compare components that 
have changed packages.

Clirr compares different versions of classes with the same package name
Shade can be used to change package names throughout a jar file
By combining the two, it is possible to use Clirr to check classes that are now 
in a new package.

The process is:
 * use Shade to convert the old package names to the new package names
 * install the shaded jar in the local repository
 * run Clirr against the shaded jar

Here is a sample POM (shade.xml) for comparing org.apache.bcel:bcel:5.2 against 
org.apache.commons:commons-bcel6:6.0

{{{
<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/maven-v4_0_0.xsd";>
  <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.apache</groupId>
        <artifactId>apache</artifactId>
        <version>17</version>
    </parent>

  <!-- New Maven co-ordinates -->
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-bcel6</artifactId>
  <packaging>jar</packaging>
  <version>5.2-SHADED</version>
  <name>Commons BCEL shader</name>
  <description>
  This POM can be used to install a shaded version of BCEL 5.2
  in the local repo. Usage:

  mvn -f shade.xml install

  You can then run Clirr using the default POM:

  mvn clirr:clirr

  </description>
  <url>http://maven.apache.org</url>
  <properties>
    <!-- Ensure local files are not compiled -->
    <skipMain>true</skipMain>
    <skipTests>true</skipTests>
    <maven.main.skip>true</maven.main.skip>
    <maven.test.skip>true</maven.test.skip>
  </properties>
  <dependencies>
    <!-- Source jar -->
    <dependency>
      <groupId>org.apache.bcel</groupId>
      <artifactId>bcel</artifactId>
      <version>5.2</version>
      <!-- Exclude all dependencies, we don't want them in the shaded jar -->
      <exclusions>
        <exclusion>
          <groupId>jakarta-regexp</groupId>
          <artifactId>jakarta-regexp</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
  </dependencies>
  <build>
    <defaultGoal>package</defaultGoal>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>2.4.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
            <configuration>
              <createDependencyReducedPom>true</createDependencyReducedPom>
              <!-- specify old and new base package names -->
              <relocations>
                <relocation>
                  <pattern>org.apache.bcel</pattern>
                  <shadedPattern>org.apache.commons.bcel6</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
}}}

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to