blob: 5a11a23e18b1ee554e5f8c682c360868b83f291e [file] [log] [blame]
mccullsbc7e1502010-10-21 23:36:09 +00001<?xml version="1.0" encoding="UTF-8"?>
2<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">
3
4 <modelVersion>4.0.0</modelVersion>
5
6 <parent>
7 <groupId>com.google.inject</groupId>
8 <artifactId>guice-parent</artifactId>
Colin Decker5a209e92015-04-28 16:18:44 -04009 <version>4.0</version>
mccullsbc7e1502010-10-21 23:36:09 +000010 </parent>
11
12 <artifactId>guice</artifactId>
13
14 <name>Google Guice - Core Library</name>
15
16 <dependencies>
17 <dependency>
18 <groupId>javax.inject</groupId>
19 <artifactId>javax.inject</artifactId>
20 </dependency>
21 <dependency>
22 <groupId>aopalliance</groupId>
23 <artifactId>aopalliance</artifactId>
mccullsbc7e1502010-10-21 23:36:09 +000024 </dependency>
mcculls4d4e1602010-11-24 21:16:07 +000025 <dependency>
sberlind9c913a2011-06-26 21:02:54 +000026 <groupId>com.google.guava</groupId>
27 <artifactId>guava</artifactId>
Sam Berlind57f8ec2014-04-08 12:25:33 -040028 </dependency>
Christian Edward Gruber3236b102014-02-13 10:37:24 -080029 <!--
30 | CGLIB is embedded by default by the JarJar build profile
31 -->
sberlind9c913a2011-06-26 21:02:54 +000032 <dependency>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +010033 <groupId>org.ow2.asm</groupId>
34 <artifactId>asm</artifactId>
Sam Berlinb6c35cd2014-03-20 16:56:37 -040035 <optional>true</optional>
36 </dependency>
37 <dependency>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +010038 <groupId>cglib</groupId>
39 <artifactId>cglib</artifactId>
Christian Edward Gruber3236b102014-02-13 10:37:24 -080040 <optional>true</optional>
Christian Edward Gruber3f425142013-06-06 15:55:47 -070041 </dependency>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +010042 <!--
43 | Test dependencies
44 -->
Christian Edward Gruber3f425142013-06-06 15:55:47 -070045 <dependency>
mccullsbc7e1502010-10-21 23:36:09 +000046 <groupId>javax.inject</groupId>
47 <artifactId>javax.inject-tck</artifactId>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +010048 <scope>test</scope>
49 </dependency>
50 <dependency>
51 <groupId>com.google.guava</groupId>
52 <artifactId>guava-testlib</artifactId>
mccullsbc7e1502010-10-21 23:36:09 +000053 <scope>test</scope>
54 </dependency>
55 <dependency>
56 <groupId>org.springframework</groupId>
57 <artifactId>spring-beans</artifactId>
mcculls8846db32010-11-04 02:22:00 +000058 <version>3.0.5.RELEASE</version>
mccullsbc7e1502010-10-21 23:36:09 +000059 <scope>test</scope>
60 </dependency>
61 <dependency>
62 <groupId>biz.aQute</groupId>
63 <artifactId>bnd</artifactId>
mcculls8846db32010-11-04 02:22:00 +000064 <version>0.0.384</version>
mccullsbc7e1502010-10-21 23:36:09 +000065 <scope>test</scope>
66 </dependency>
67 <dependency>
68 <groupId>org.apache.felix</groupId>
69 <artifactId>org.apache.felix.framework</artifactId>
mcculls8846db32010-11-04 02:22:00 +000070 <version>3.0.5</version>
mccullsbc7e1502010-10-21 23:36:09 +000071 <scope>test</scope>
72 </dependency>
73 </dependencies>
74
75 <build>
76 <plugins>
mccullsaacb4842010-11-04 22:51:25 +000077 <!--
mcculls33018c32011-01-04 15:16:27 +000078 | Add standard LICENSE and NOTICE files
79 -->
80 <plugin>
81 <artifactId>maven-remote-resources-plugin</artifactId>
82 </plugin>
83 <!--
Stuart McCulloch2fb23e32014-08-17 14:44:01 +010084 | Enable Java6 conformance checks
mccullsaacb4842010-11-04 22:51:25 +000085 -->
mccullsbc7e1502010-10-21 23:36:09 +000086 <plugin>
mcculls8846db32010-11-04 02:22:00 +000087 <groupId>org.codehaus.mojo</groupId>
88 <artifactId>animal-sniffer-maven-plugin</artifactId>
89 </plugin>
90 <plugin>
mccullsbc7e1502010-10-21 23:36:09 +000091 <artifactId>maven-surefire-plugin</artifactId>
92 <configuration>
mccullsaacb4842010-11-04 22:51:25 +000093 <!--
94 | Temporarily excluded tests
95 -->
mcculls8846db32010-11-04 02:22:00 +000096 <excludes>
Christian Edward Gruber3236b102014-02-13 10:37:24 -080097 <exclude>**/*$*</exclude>
98 <exclude>**/ErrorHandlingTest*</exclude>
mcculls8846db32010-11-04 02:22:00 +000099 <exclude>**/OSGiContainerTest*</exclude>
100 <exclude>**/ScopesTest*</exclude>
101 <exclude>**/TypeConversionTest*</exclude>
mcculls8846db32010-11-04 02:22:00 +0000102 </excludes>
mccullsbc7e1502010-10-21 23:36:09 +0000103 </configuration>
104 </plugin>
mccullsaacb4842010-11-04 22:51:25 +0000105 <!--
106 | Add OSGi manifest
107 -->
mccullsbc7e1502010-10-21 23:36:09 +0000108 <plugin>
109 <groupId>org.apache.felix</groupId>
110 <artifactId>maven-bundle-plugin</artifactId>
Sam Berlin88b6d132012-01-13 18:32:04 -0500111 <configuration>
112 <instructions>
Sam Berlin32a8f242013-12-06 17:07:07 -0500113 <Bundle-Name>${project.artifactId}$(if;$(classes;NAMED;*.MethodAspect);; (no_aop))</Bundle-Name>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +0100114 <Import-Package>!net.sf.cglib.*,!org.objectweb.asm.*,!com.google.inject.*,*</Import-Package>
Sam Berlin88b6d132012-01-13 18:32:04 -0500115 <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
116 </instructions>
117 </configuration>
mccullsbc7e1502010-10-21 23:36:09 +0000118 </plugin>
mcculls33018c32011-01-04 15:16:27 +0000119 <!--
120 | Remove duplicate jarjar'd LICENSE and NOTICE
121 -->
122 <plugin>
123 <artifactId>maven-jar-plugin</artifactId>
124 <configuration>
125 <excludes>
126 <exclude>LICENSE</exclude>
127 <exclude>NOTICE</exclude>
128 </excludes>
129 </configuration>
130 </plugin>
Christian Edward Gruber359c5c32013-07-31 15:56:55 -0700131 <!--
132 | Generate sources jar
133 -->
134 <plugin>
135 <artifactId>maven-source-plugin</artifactId>
136 </plugin>
137 <!--
138 | Generate javadoc jar
139 -->
140 <plugin>
141 <artifactId>maven-javadoc-plugin</artifactId>
142 </plugin>
mccullsbc7e1502010-10-21 23:36:09 +0000143 </plugins>
144 </build>
145
mcculls8846db32010-11-04 02:22:00 +0000146 <profiles>
147 <profile>
mccullsaacb4842010-11-04 22:51:25 +0000148 <!--
149 | No-AOP profile: repeat the build lifecycle with munged no-AOP source
150 -->
mcculls692ca952010-12-10 15:05:01 +0000151 <id>guice.with.no_aop</id>
mcculls8846db32010-11-04 02:22:00 +0000152 <activation>
153 <property>
mcculls692ca952010-12-10 15:05:01 +0000154 <name>guice.with.no_aop</name>
mcculls8846db32010-11-04 02:22:00 +0000155 <value>!false</value>
156 </property>
157 </activation>
158 <build>
159 <plugins>
160 <plugin>
161 <groupId>org.sonatype.plugins</groupId>
162 <artifactId>munge-maven-plugin</artifactId>
163 <version>1.0</version>
164 <executions>
165 <execution>
166 <phase>prepare-package</phase>
167 <goals>
168 <goal>munge-fork</goal>
169 </goals>
170 <configuration>
171 <symbols>NO_AOP</symbols>
172 <excludes>
173 **/InterceptorBinding.java,
174 **/InterceptorBindingProcessor.java,
175 **/InterceptorStackCallback.java,
176 **/LineNumbers.java,
177 **/MethodAspect.java,
178 **/ProxyFactory.java,
179 **/BytecodeGenTest.java,
180 **/IntegrationTest.java,
181 **/MethodInterceptionTest.java,
182 **/ProxyFactoryTest.java
183 </excludes>
184 </configuration>
185 </execution>
186 </executions>
187 </plugin>
mccullsaacb4842010-11-04 22:51:25 +0000188 <!--
mcculls692ca952010-12-10 15:05:01 +0000189 | Package the no-AOP build with its own OSGi manifest and attach using "no_aop" classifier
mccullsaacb4842010-11-04 22:51:25 +0000190 -->
mcculls8846db32010-11-04 02:22:00 +0000191 <plugin>
192 <artifactId>maven-jar-plugin</artifactId>
193 <executions>
194 <execution>
mcculls692ca952010-12-10 15:05:01 +0000195 <id>no_aop</id>
mcculls8846db32010-11-04 02:22:00 +0000196 <phase>package</phase>
197 <goals>
198 <goal>jar</goal>
199 </goals>
200 <configuration>
201 <classesDirectory>${project.build.directory}/munged/classes</classesDirectory>
mcculls692ca952010-12-10 15:05:01 +0000202 <classifier>no_aop</classifier>
mcculls8846db32010-11-04 02:22:00 +0000203 <archive>
204 <manifestFile>${project.build.directory}/munged/classes/META-INF/MANIFEST.MF</manifestFile>
205 </archive>
206 </configuration>
207 </execution>
208 </executions>
209 </plugin>
210 </plugins>
211 </build>
212 </profile>
213 <profile>
mccullsaacb4842010-11-04 22:51:25 +0000214 <!--
Christian Edward Gruber3236b102014-02-13 10:37:24 -0800215 | JarJar build profile: Embed CGLIB (and ASM) classes under a Guice namespace
mccullsaacb4842010-11-04 22:51:25 +0000216 -->
mcculls8846db32010-11-04 02:22:00 +0000217 <id>guice.with.jarjar</id>
218 <activation>
219 <property>
220 <name>guice.with.jarjar</name>
221 <value>!false</value>
222 </property>
223 </activation>
224 <build>
225 <plugins>
226 <plugin>
227 <groupId>org.sonatype.plugins</groupId>
228 <artifactId>jarjar-maven-plugin</artifactId>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +0100229 <version>1.9</version>
Christian Edward Gruber3236b102014-02-13 10:37:24 -0800230 <executions>
231 <execution>
232 <id>jarjar</id>
233 <goals><goal>jarjar</goal></goals>
234 </execution>
235 </executions>
mcculls8846db32010-11-04 02:22:00 +0000236 <configuration>
Christian Edward Gruber3236b102014-02-13 10:37:24 -0800237 <overwrite>true</overwrite>
mcculls8846db32010-11-04 02:22:00 +0000238 <includes>
Christian Edward Gruber3f425142013-06-06 15:55:47 -0700239 <include>*:asm*</include>
mcculls8846db32010-11-04 02:22:00 +0000240 <include>*:cglib</include>
241 </includes>
Christian Edward Gruber3236b102014-02-13 10:37:24 -0800242 <rules>
243 <rule>
244 <pattern>net.sf.cglib.*</pattern>
245 <result>com.google.inject.internal.cglib.$@1</result>
246 </rule>
247 <rule>
248 <pattern>net.sf.cglib.**.*</pattern>
249 <result>com.google.inject.internal.cglib.@1.$@2</result>
250 </rule>
251 <rule>
252 <pattern>org.objectweb.asm.*</pattern>
253 <result>com.google.inject.internal.asm.$@1</result>
254 </rule>
255 <rule>
256 <pattern>org.objectweb.asm.**.*</pattern>
257 <result>com.google.inject.internal.asm.@1.$@2</result>
258 </rule>
259 <keep>
260 <pattern>com.google.inject.**</pattern>
261 </keep>
262 <keep>
263 <pattern>com.googlecode.**</pattern>
264 </keep>
265 </rules>
mcculls8846db32010-11-04 02:22:00 +0000266 </configuration>
267 </plugin>
268 <plugin>
mccullsaacb4842010-11-04 22:51:25 +0000269 <!--
Stuart McCulloch2fb23e32014-08-17 14:44:01 +0100270 | Attach the original non-JarJar'd classes so extensions can compile against them
mccullsaacb4842010-11-04 22:51:25 +0000271 -->
Stuart McCulloch2fb23e32014-08-17 14:44:01 +0100272 <groupId>org.codehaus.mojo</groupId>
273 <artifactId>build-helper-maven-plugin</artifactId>
274 <version>1.8</version>
mcculls8846db32010-11-04 02:22:00 +0000275 <executions>
276 <execution>
Christian Edward Gruber3236b102014-02-13 10:37:24 -0800277 <id>classes</id>
mcculls8846db32010-11-04 02:22:00 +0000278 <phase>package</phase>
279 <goals>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +0100280 <goal>attach-artifact</goal>
mcculls8846db32010-11-04 02:22:00 +0000281 </goals>
282 <configuration>
Stuart McCulloch2fb23e32014-08-17 14:44:01 +0100283 <artifacts>
284 <artifact>
285 <file>${project.build.directory}/original-${project.build.finalName}.jar</file>
286 <classifier>classes</classifier>
287 </artifact>
288 </artifacts>
mcculls8846db32010-11-04 02:22:00 +0000289 </configuration>
290 </execution>
291 </executions>
292 </plugin>
293 </plugins>
294 </build>
295 </profile>
Christian Edward Gruber3236b102014-02-13 10:37:24 -0800296 <profile>
297 <!--
298 | m2e profile - enable use of JarJar inside Eclipse
299 -->
300 <id>m2e</id>
301 <activation>
302 <property>
303 <name>m2e.version</name>
304 </property>
305 </activation>
306 <build>
307 <pluginManagement>
308 <plugins>
309 <plugin>
310 <groupId>org.eclipse.m2e</groupId>
311 <artifactId>lifecycle-mapping</artifactId>
312 <version>1.0.0</version>
313 <configuration>
314 <lifecycleMappingMetadata>
315 <pluginExecutions>
316 <pluginExecution>
317 <pluginExecutionFilter>
318 <groupId>org.sonatype.plugins</groupId>
319 <artifactId>jarjar-maven-plugin</artifactId>
320 <versionRange>[1.4,)</versionRange>
321 <goals><goal>jarjar</goal></goals>
322 </pluginExecutionFilter>
323 <action><execute /></action>
324 </pluginExecution>
325 </pluginExecutions>
326 </lifecycleMappingMetadata>
327 </configuration>
328 </plugin>
329 </plugins>
330 </pluginManagement>
331 </build>
332 </profile>
mcculls8846db32010-11-04 02:22:00 +0000333 </profiles>
mccullsbc7e1502010-10-21 23:36:09 +0000334</project>