Update Maven poms to use new jarjar processing rules, allow jarjar and munge profiles to be turned off, and synchronize bundle headers in Ant and Maven builds

git-svn-id: https://google-guice.googlecode.com/svn/trunk@1360 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/pom.xml b/pom.xml
index 666b929..7095bc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -90,80 +90,27 @@
   </modules>
 
   <properties>
-    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <guice.api.version>1.3</guice.api.version>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <guice.with.jarjar>true</guice.with.jarjar>
+    <guice.with.noaop>true</guice.with.noaop>
   </properties>
 
   <dependencies>
     <dependency>
+      <groupId>org.sonatype.sisu.inject</groupId>
+      <artifactId>cglib</artifactId>
+      <version>2.2.1</version>
+      <optional>${guice.with.jarjar}</optional>
+    </dependency>
+    <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
+      <version>3.8.2</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
 
-  <dependencyManagement>
-    <dependencies>
-
-      <dependency>
-        <groupId>biz.aQute</groupId>
-        <artifactId>bnd</artifactId>
-        <version>0.0.384</version>
-      </dependency>
-
-      <dependency>
-        <groupId>javax.inject</groupId>
-        <artifactId>javax.inject</artifactId>
-        <version>1</version>
-      </dependency>
-      <dependency>
-        <groupId>javax.inject</groupId>
-        <artifactId>javax.inject-tck</artifactId>
-        <version>1</version>
-      </dependency>
-      <dependency>
-        <groupId>aopalliance</groupId>
-        <artifactId>aopalliance</artifactId>
-        <version>1.0</version>
-      </dependency>
-
-      <dependency>
-        <groupId>asm</groupId>
-        <artifactId>asm</artifactId>
-        <version>3.1</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.osgi</groupId>
-        <artifactId>org.osgi.core</artifactId>
-        <version>4.2.0</version>
-      </dependency>
-      <dependency>
-        <groupId>org.osgi</groupId>
-        <artifactId>org.osgi.compendium</artifactId>
-        <version>4.2.0</version>
-      </dependency>
-      <dependency>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>org.apache.felix.framework</artifactId>
-        <version>3.0.2</version>
-      </dependency>
-
-      <dependency>
-        <groupId>org.springframework</groupId>
-        <artifactId>spring-beans</artifactId>
-        <version>2.5.6</version>
-      </dependency>
-
-      <dependency>
-        <groupId>junit</groupId>
-        <artifactId>junit</artifactId>
-        <version>3.8.2</version>
-      </dependency>
-
-    </dependencies>
-  </dependencyManagement>
-
   <build>
     <sourceDirectory>${project.basedir}/src</sourceDirectory>
     <resources>
@@ -213,8 +160,66 @@
           </executions>
         </plugin>
         <plugin>
+          <groupId>org.sonatype.plugins</groupId>
+          <artifactId>jarjar-maven-plugin</artifactId>
+          <version>1.3-SNAPSHOT</version>
+          <configuration>
+            <rules>
+              <rule>
+                <pattern>net.sf.cglib.*</pattern>
+                <result>com.google.inject.internal.cglib.$@1</result>
+              </rule>
+              <rule>
+                <pattern>net.sf.cglib.**.*</pattern>
+                <result>com.google.inject.internal.cglib.@1.$@2</result>
+              </rule>
+              <rule>
+                <pattern>org.objectweb.asm.*</pattern>
+                <result>com.google.inject.internal.asm.$@1</result>
+              </rule>
+              <rule>
+                <pattern>org.objectweb.asm.**.*</pattern>
+                <result>com.google.inject.internal.asm.@1.$@2</result>
+              </rule>
+              <rule>
+                <pattern>com.google.inject.internal.util.*</pattern>
+                <result>com.google.inject.internal.util.$@1</result>
+              </rule>
+              <rule>
+                <pattern>com.google.inject.internal.util.**.*</pattern>
+                <result>com.google.inject.internal.util.@1.$@2</result>
+              </rule>
+              <keep>
+                <pattern>com.google.inject.**</pattern>
+              </keep>
+            </rules>
+          </configuration>
+          <executions>
+            <execution>
+              <id>jarjar-classes</id>
+              <phase>process-test-classes</phase>
+              <goals>
+                <goal>jarjar</goal>
+              </goals>
+              <configuration>
+                <input>{classes}</input>
+              </configuration>
+            </execution>
+            <execution>
+              <id>jarjar-test-classes</id>
+              <phase>process-test-classes</phase>
+              <goals>
+                <goal>jarjar</goal>
+              </goals>
+              <configuration>
+                <input>{test-classes}</input>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+        <plugin>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.6</version>
+          <version>2.5</version>
           <configuration>
             <redirectTestOutputToFile>true</redirectTestOutputToFile>
           </configuration>
@@ -225,13 +230,17 @@
           <version>2.1.0</version>
           <configuration>
             <instructions>
+              <module>com.google.inject</module>
+              <_include>-${project.basedir}/build.properties</_include>
               <Bundle-Copyright>Copyright (C) 2006 Google Inc.</Bundle-Copyright>
               <Bundle-DocURL>http://code.google.com/p/google-guice/</Bundle-DocURL>
+              <Bundle-Name>${project.artifactId}</Bundle-Name>
+              <Bundle-SymbolicName>$(module)</Bundle-SymbolicName>
               <Bundle-RequiredExecutionEnvironment>
                 J2SE-1.5,JavaSE-1.6
               </Bundle-RequiredExecutionEnvironment>
               <Import-Package>!com.google.inject.*,*</Import-Package>
-              <_exportcontents>!*.internal.*,com.google.inject.*;version=${guice.api.version}</_exportcontents>
+              <_exportcontents>!*.internal.*,$(module).*;version=${guice.api.version}</_exportcontents>
               <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
               <_nouses>true</_nouses>
               <_removeheaders>
@@ -290,12 +299,6 @@
         </plugin>
       </plugins>
     </pluginManagement>
-    <plugins>
-      <plugin>
-        <groupId>org.codehaus.mojo</groupId>
-        <artifactId>animal-sniffer-maven-plugin</artifactId>
-      </plugin>
-    </plugins>
   </build>
 
   <profiles>