blob: f0033240965f0d2410de62f480756aeb471d7f53 [file] [log] [blame]
Jeffrey van Gogh32d3c0c2016-04-04 10:49:31 -07001<?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>org.sonatype.sisu.inject</groupId>
8 <artifactId>guice-parent</artifactId>
9 <version>3.1.0</version>
10 </parent>
11
12 <groupId>org.sonatype.sisu</groupId>
13 <artifactId>sisu-guice</artifactId>
14
15 <name>Sisu Guice - Core Library</name>
16
17 <dependencies>
18 <dependency>
19 <groupId>javax.inject</groupId>
20 <artifactId>javax.inject</artifactId>
21 <version>1</version>
22 </dependency>
23 <dependency>
24 <groupId>aopalliance</groupId>
25 <artifactId>aopalliance</artifactId>
26 <version>1.0</version>
27 </dependency>
28 <dependency>
29 <groupId>org.slf4j</groupId>
30 <artifactId>slf4j-api</artifactId>
31 <version>1.6.2</version>
32 <optional>true</optional>
33 </dependency>
34 <dependency>
35 <groupId>cglib</groupId>
36 <artifactId>cglib</artifactId>
37 <version>2.2.2</version>
38 <optional>true</optional>
39 </dependency>
40 <dependency>
41 <groupId>org.sonatype.sisu</groupId>
42 <artifactId>sisu-guava</artifactId>
43 <version>0.9.9</version>
44 </dependency>
45 <dependency>
46 <groupId>javax.inject</groupId>
47 <artifactId>javax.inject-tck</artifactId>
48 <version>1</version>
49 <scope>test</scope>
50 </dependency>
51 <dependency>
52 <groupId>org.springframework</groupId>
53 <artifactId>spring-beans</artifactId>
54 <version>3.0.6.RELEASE</version>
55 <scope>test</scope>
56 </dependency>
57 <dependency>
58 <groupId>biz.aQute</groupId>
59 <artifactId>bnd</artifactId>
60 <version>0.0.384</version>
61 <scope>test</scope>
62 </dependency>
63 <dependency>
64 <groupId>org.apache.felix</groupId>
65 <artifactId>org.apache.felix.framework</artifactId>
66 <version>3.2.2</version>
67 <scope>test</scope>
68 </dependency>
69 </dependencies>
70
71 <build>
72 <plugins>
73 <!--
74 | Add standard LICENSE and NOTICE files
75 -->
76 <plugin>
77 <artifactId>maven-remote-resources-plugin</artifactId>
78 </plugin>
79 <!--
80 | Enable Java5 conformance checks
81 -->
82 <plugin>
83 <groupId>org.codehaus.mojo</groupId>
84 <artifactId>animal-sniffer-maven-plugin</artifactId>
85 </plugin>
86 <plugin>
87 <artifactId>maven-surefire-plugin</artifactId>
88 <configuration>
89 <!--
90 | Run core tests without SLF4J on the classpath
91 -->
92 <classpathDependencyExcludes>
93 <exclude>org.slf4j:slf4j-api</exclude>
94 </classpathDependencyExcludes>
95 <!--
96 | This test needs updating for use with Maven
97 -->
98 <excludes>
99 <exclude>**/OSGiContainerTest*</exclude>
100 </excludes>
101 </configuration>
102 </plugin>
103 <!--
104 | Add OSGi manifest
105 -->
106 <plugin>
107 <groupId>org.apache.felix</groupId>
108 <artifactId>maven-bundle-plugin</artifactId>
109 <configuration>
110 <instructions>
111 <Bundle-Name>
112 ${project.artifactId}$(if;$(classes;NAMED;*.Interceptor*);; (no_aop))
113 </Bundle-Name>
114 <Require-Bundle>org.sonatype.sisu.guava</Require-Bundle>
115 <DynamicImport-Package>org.slf4j</DynamicImport-Package>
116 <Eclipse-ExtensibleAPI>true</Eclipse-ExtensibleAPI>
117 </instructions>
118 </configuration>
119 </plugin>
120 <!--
121 | Remove duplicate jarjar'd LICENSE and NOTICE
122 -->
123 <plugin>
124 <artifactId>maven-jar-plugin</artifactId>
125 <configuration>
126 <excludes>
127 <exclude>LICENSE</exclude>
128 <exclude>NOTICE</exclude>
129 </excludes>
130 </configuration>
131 </plugin>
132 </plugins>
133 </build>
134
135 <profiles>
136 <profile>
137 <!--
138 | No-AOP profile: repeat the build lifecycle with munged no-AOP source
139 -->
140 <id>guice.with.no_aop</id>
141 <activation>
142 <property>
143 <name>guice.with.no_aop</name>
144 <value>!false</value>
145 </property>
146 </activation>
147 <build>
148 <plugins>
149 <plugin>
150 <groupId>org.sonatype.plugins</groupId>
151 <artifactId>munge-maven-plugin</artifactId>
152 <version>1.0</version>
153 <executions>
154 <execution>
155 <phase>prepare-package</phase>
156 <goals>
157 <goal>munge-fork</goal>
158 </goals>
159 <configuration>
160 <symbols>NO_AOP</symbols>
161 <excludes>
162 **/InterceptorBinding.java,
163 **/InterceptorBindingProcessor.java,
164 **/InterceptorStackCallback.java,
165 **/LineNumbers.java,
166 **/MethodAspect.java,
167 **/ProxyFactory.java,
168 **/BytecodeGenTest.java,
169 **/IntegrationTest.java,
170 **/MethodInterceptionTest.java,
171 **/ProxyFactoryTest.java
172 </excludes>
173 </configuration>
174 </execution>
175 </executions>
176 </plugin>
177 <!--
178 | Package the no-AOP build with its own OSGi manifest and attach using "no_aop" classifier
179 -->
180 <plugin>
181 <artifactId>maven-jar-plugin</artifactId>
182 <executions>
183 <execution>
184 <id>no_aop</id>
185 <phase>package</phase>
186 <goals>
187 <goal>jar</goal>
188 </goals>
189 <configuration>
190 <classesDirectory>${project.build.directory}/munged/classes</classesDirectory>
191 <classifier>no_aop</classifier>
192 <archive>
193 <manifestFile>${project.build.directory}/munged/classes/META-INF/MANIFEST.MF</manifestFile>
194 </archive>
195 </configuration>
196 </execution>
197 </executions>
198 </plugin>
199 </plugins>
200 </build>
201 </profile>
202 <profile>
203 <!--
204 | JarJar build profile: re-package ASM and CGLIB classes under the Guice namespace
205 -->
206 <id>guice.with.jarjar</id>
207 <activation>
208 <property>
209 <name>guice.with.jarjar</name>
210 <value>!false</value>
211 </property>
212 </activation>
213 <build>
214 <plugins>
215 <plugin>
216 <groupId>org.sonatype.plugins</groupId>
217 <artifactId>jarjar-maven-plugin</artifactId>
218 <version>1.5</version>
219 <configuration>
220 <overwrite>true</overwrite>
221 <includes>
222 <include>*:asm</include>
223 <include>*:cglib</include>
224 </includes>
225 <rules>
226 <rule>
227 <pattern>net.sf.cglib.*</pattern>
228 <result>com.google.inject.internal.cglib.$@1</result>
229 </rule>
230 <rule>
231 <pattern>net.sf.cglib.**.*</pattern>
232 <result>com.google.inject.internal.cglib.@1.$@2</result>
233 </rule>
234 <rule>
235 <pattern>org.objectweb.asm.*</pattern>
236 <result>com.google.inject.internal.asm.$@1</result>
237 </rule>
238 <rule>
239 <pattern>org.objectweb.asm.**.*</pattern>
240 <result>com.google.inject.internal.asm.@1.$@2</result>
241 </rule>
242 <keep>
243 <pattern>com.google.inject.**</pattern>
244 </keep>
245 <keep>
246 <pattern>com.googlecode.**</pattern>
247 </keep>
248 </rules>
249 </configuration>
250 <!--
251 | JarJar all classes before running tests
252 -->
253 <executions>
254 <execution>
255 <id>jarjar-classes</id>
256 <phase>process-test-classes</phase>
257 <goals>
258 <goal>jarjar</goal>
259 </goals>
260 <configuration>
261 <input>{classes}</input>
262 </configuration>
263 </execution>
264 <execution>
265 <id>jarjar-test-classes</id>
266 <phase>process-test-classes</phase>
267 <goals>
268 <goal>jarjar</goal>
269 </goals>
270 <configuration>
271 <input>{test-classes}</input>
272 </configuration>
273 </execution>
274 </executions>
275 </plugin>
276 </plugins>
277 </build>
278 </profile>
279 <profile>
280 <!--
281 | m2e profile - force use of JarJar inside Eclipse
282 -->
283 <id>m2e</id>
284 <activation>
285 <property>
286 <name>m2e.version</name>
287 </property>
288 </activation>
289 <build>
290 <pluginManagement>
291 <plugins>
292 <plugin>
293 <groupId>org.eclipse.m2e</groupId>
294 <artifactId>lifecycle-mapping</artifactId>
295 <version>1.0.0</version>
296 <configuration>
297 <lifecycleMappingMetadata>
298 <pluginExecutions>
299 <pluginExecution>
300 <pluginExecutionFilter>
301 <groupId>org.sonatype.plugins</groupId>
302 <artifactId>jarjar-maven-plugin</artifactId>
303 <versionRange>[1.4,)</versionRange>
304 <goals><goal>jarjar</goal></goals>
305 </pluginExecutionFilter>
306 <action><execute /></action>
307 </pluginExecution>
308 </pluginExecutions>
309 </lifecycleMappingMetadata>
310 </configuration>
311 </plugin>
312 </plugins>
313 </pluginManagement>
314 </build>
315 </profile>
316 </profiles>
317
318</project>