| <?xml version="1.0" encoding="UTF-8"?> |
| <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>com.google.inject</groupId> |
| <artifactId>guice-parent</artifactId> |
| <version>4.0-SNAPSHOT</version> |
| </parent> |
| |
| <artifactId>guice</artifactId> |
| |
| <name>Google Guice - Core Library</name> |
| |
| <properties> |
| <cglib.version>3.0</cglib.version> |
| <asm.version>4.0</asm.version> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>javax.inject</groupId> |
| <artifactId>javax.inject</artifactId> |
| <version>1</version> |
| </dependency> |
| <dependency> |
| <groupId>aopalliance</groupId> |
| <artifactId>aopalliance</artifactId> |
| <version>1.0</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>11.0.1</version> |
| </dependency> |
| <dependency> |
| <groupId>cglib</groupId> |
| <artifactId>cglib</artifactId> |
| <version>${cglib.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-util</artifactId> |
| <version>${asm.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>javax.inject</groupId> |
| <artifactId>javax.inject-tck</artifactId> |
| <version>1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.springframework</groupId> |
| <artifactId>spring-beans</artifactId> |
| <version>3.0.5.RELEASE</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>biz.aQute</groupId> |
| <artifactId>bnd</artifactId> |
| <version>0.0.384</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>org.apache.felix.framework</artifactId> |
| <version>3.0.5</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <!-- |
| | Add standard LICENSE and NOTICE files |
| --> |
| <plugin> |
| <artifactId>maven-remote-resources-plugin</artifactId> |
| </plugin> |
| <!-- |
| | Enable Java5 conformance checks |
| --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>animal-sniffer-maven-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <!-- |
| | Temporarily excluded tests |
| --> |
| <excludes> |
| <exclude>**/OSGiContainerTest*</exclude> |
| <exclude>**/ScopesTest*</exclude> |
| <exclude>**/TypeConversionTest*</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <!-- |
| | Add OSGi manifest |
| --> |
| <plugin> |
| <groupId>org.apache.felix</groupId> |
| <artifactId>maven-bundle-plugin</artifactId> |
| <configuration> |
| <instructions> |
| <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI> |
| </instructions> |
| </configuration> |
| </plugin> |
| <!-- |
| | Remove duplicate jarjar'd LICENSE and NOTICE |
| --> |
| <plugin> |
| <artifactId>maven-jar-plugin</artifactId> |
| <configuration> |
| <excludes> |
| <exclude>LICENSE</exclude> |
| <exclude>NOTICE</exclude> |
| </excludes> |
| </configuration> |
| </plugin> |
| <!-- |
| | Generate sources jar |
| --> |
| <plugin> |
| <artifactId>maven-source-plugin</artifactId> |
| </plugin> |
| <!-- |
| | Generate javadoc jar |
| --> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <profiles> |
| <profile> |
| <!-- |
| | No-AOP profile: repeat the build lifecycle with munged no-AOP source |
| --> |
| <id>guice.with.no_aop</id> |
| <activation> |
| <property> |
| <name>guice.with.no_aop</name> |
| <value>!false</value> |
| </property> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>munge-maven-plugin</artifactId> |
| <version>1.0</version> |
| <executions> |
| <execution> |
| <phase>prepare-package</phase> |
| <goals> |
| <goal>munge-fork</goal> |
| </goals> |
| <configuration> |
| <symbols>NO_AOP</symbols> |
| <excludes> |
| **/InterceptorBinding.java, |
| **/InterceptorBindingProcessor.java, |
| **/InterceptorStackCallback.java, |
| **/LineNumbers.java, |
| **/MethodAspect.java, |
| **/ProxyFactory.java, |
| **/BytecodeGenTest.java, |
| **/IntegrationTest.java, |
| **/MethodInterceptionTest.java, |
| **/ProxyFactoryTest.java |
| </excludes> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- |
| | Package the no-AOP build with its own OSGi manifest and attach using "no_aop" classifier |
| --> |
| <plugin> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>no_aop</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <classesDirectory>${project.build.directory}/munged/classes</classesDirectory> |
| <classifier>no_aop</classifier> |
| <archive> |
| <manifestFile>${project.build.directory}/munged/classes/META-INF/MANIFEST.MF</manifestFile> |
| </archive> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <!-- |
| | JarJar build profile: re-package ASM and CGLIB classes under the Guice namespace |
| --> |
| <id>guice.with.jarjar</id> |
| <activation> |
| <property> |
| <name>guice.with.jarjar</name> |
| <value>!false</value> |
| </property> |
| </activation> |
| <dependencies> |
| <!-- |
| | Mark as optional: embedded by JarJar |
| --> |
| <dependency> |
| <groupId>cglib</groupId> |
| <artifactId>cglib</artifactId> |
| <version>${cglib.version}</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-util</artifactId> |
| <version>${asm.version}</version> |
| <optional>true</optional> |
| </dependency> |
| </dependencies> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.sonatype.plugins</groupId> |
| <artifactId>jarjar-maven-plugin</artifactId> |
| <configuration> |
| <includes> |
| <include>*:asm*</include> |
| <include>*:cglib</include> |
| <include>*:guava</include> |
| <include>*:jsr305</include> |
| </includes> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- |
| | Package the original non-JarJar'd classes so extensions can compile against them |
| --> |
| <artifactId>maven-jar-plugin</artifactId> |
| <executions> |
| <execution> |
| <id>no_deps</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| <configuration> |
| <classesDirectory>${project.build.directory}/original-classes</classesDirectory> |
| <classifier>no_deps</classifier> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| |
| </project> |