blob: 48863a56fae463fb90527a7fce357e6dbadd6e91 [file] [log] [blame]
mccullsbc7e1502010-10-21 23:36:09 +00001<?xml version="1.0" encoding="UTF-8"?>
sberlinb0852382010-08-01 19:55:08 +00002
mccullsbc7e1502010-10-21 23:36:09 +00003<!--
4Copyright (c) 2006 Google, Inc. All rights reserved.
5
6This program is licensed to you under the Apache License Version 2.0,
7and you may not use this file except in compliance with the Apache License Version 2.0.
8You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
9
10Unless required by applicable law or agreed to in writing,
11software distributed under the Apache License Version 2.0 is distributed on an
12"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
14-->
15
16<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">
17
18 <modelVersion>4.0.0</modelVersion>
19
20 <parent>
21 <groupId>com.google</groupId>
22 <artifactId>google</artifactId>
23 <version>5</version>
24 </parent>
25
26 <packaging>pom</packaging>
27
28 <groupId>com.google.inject</groupId>
29 <artifactId>guice-parent</artifactId>
Christian Edward Grubera0e73442013-07-31 18:53:09 -070030 <version>4.0-SNAPSHOT</version>
mccullsbc7e1502010-10-21 23:36:09 +000031
32 <name>Google Guice</name>
33
34 <description>
35 Guice is a lightweight dependency injection framework for Java 5 and above
36 </description>
37
38 <url>http://code.google.com/p/google-guice/</url>
39 <inceptionYear>2006</inceptionYear>
40
41 <organization>
42 <name>Google, Inc.</name>
43 <url>http://www.google.com</url>
44 </organization>
45
46 <mailingLists>
47 <mailingList>
48 <name>Guice Users List</name>
49 <archive>http://groups.google.com/group/google-guice/topics</archive>
50 <subscribe>http://groups.google.com/group/google-guice/subscribe</subscribe>
51 <unsubscribe>http://groups.google.com/group/google-guice/subscribe</unsubscribe>
52 <post>http://groups.google.com/group/google-guice/post</post>
53 </mailingList>
54 <mailingList>
55 <name>Guice Developers List</name>
56 <archive>http://groups.google.com/group/google-guice-dev/topics</archive>
57 <subscribe>http://groups.google.com/group/google-guice-dev/subscribe</subscribe>
58 <unsubscribe>http://groups.google.com/group/google-guice-dev/subscribe</unsubscribe>
59 <post>http://groups.google.com/group/google-guice-dev/post</post>
60 </mailingList>
61 </mailingLists>
62
63 <scm>
64 <connection>scm:svn:http://google-guice.googlecode.com/svn/trunk</connection>
65 <developerConnection>scm:svn:https://google-guice.googlecode.com/svn/trunk</developerConnection>
66 <url>http://code.google.com/p/google-guice/source/browse</url>
67 </scm>
68
69 <issueManagement>
70 <system>Google Code</system>
71 <url>http://code.google.com/p/google-guice/issues/</url>
72 </issueManagement>
73
mcculls00090052010-10-22 00:12:40 +000074 <ciManagement>
75 <system>Hudson</system>
76 <url>https://grid.sonatype.org/ci/job/Google-Guice/</url>
77 </ciManagement>
78
mccullsbc7e1502010-10-21 23:36:09 +000079 <licenses>
80 <license>
81 <name>The Apache Software License, Version 2.0</name>
82 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
83 <distribution>repo</distribution>
84 </license>
85 </licenses>
86
87 <modules>
88 <module>core</module>
89 <module>extensions</module>
90 </modules>
91
mcculls4d4e1602010-11-24 21:16:07 +000092 <prerequisites>
93 <maven>3.0</maven>
94 </prerequisites>
95
mccullsbc7e1502010-10-21 23:36:09 +000096 <properties>
mccullsaacb4842010-11-04 22:51:25 +000097 <!--
98 | The spec version of the public Guice API
99 -->
Christian Edward Gruber359c5c32013-07-31 15:56:55 -0700100 <guice.api.version>1.4</guice.api.version>
mcculls8846db32010-11-04 02:22:00 +0000101 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
mccullsaacb4842010-11-04 22:51:25 +0000102 <!--
103 | Use "-Dguice.with.jarjar=false" to build without jarjar
104 -->
mcculls8846db32010-11-04 02:22:00 +0000105 <guice.with.jarjar>true</guice.with.jarjar>
mccullsaacb4842010-11-04 22:51:25 +0000106 <!--
mcculls692ca952010-12-10 15:05:01 +0000107 | Use "-Dguice.with.no_aop=false" to skip the no-AOP variant
mccullsaacb4842010-11-04 22:51:25 +0000108 -->
mcculls692ca952010-12-10 15:05:01 +0000109 <guice.with.no_aop>true</guice.with.no_aop>
Christian Edward Gruber359c5c32013-07-31 15:56:55 -0700110 <gpg.skip>true</gpg.skip>
mccullsbc7e1502010-10-21 23:36:09 +0000111 </properties>
112
113 <dependencies>
mccullsaacb4842010-11-04 22:51:25 +0000114 <!--
mccullsaacb4842010-11-04 22:51:25 +0000115 | Run tests with TestNG
116 -->
mcculls8846db32010-11-04 02:22:00 +0000117 <dependency>
mcculls47575202010-11-04 15:02:41 +0000118 <groupId>org.testng</groupId>
119 <artifactId>testng</artifactId>
120 <version>5.11</version>
121 <classifier>jdk15</classifier>
mccullsbc7e1502010-10-21 23:36:09 +0000122 <scope>test</scope>
sberlinb0852382010-08-01 19:55:08 +0000123 </dependency>
crazybobleeac266a22007-02-26 00:07:01 +0000124 </dependencies>
mccullsbc7e1502010-10-21 23:36:09 +0000125
mccullsbc7e1502010-10-21 23:36:09 +0000126 <build>
mccullsaacb4842010-11-04 22:51:25 +0000127 <!--
128 | Ant-style directories
129 -->
mccullsbc7e1502010-10-21 23:36:09 +0000130 <sourceDirectory>${project.basedir}/src</sourceDirectory>
131 <resources>
132 <resource>
133 <filtering>false</filtering>
134 <directory>${project.basedir}/src</directory>
135 <excludes>
136 <exclude>**/*.java</exclude>
137 </excludes>
138 </resource>
139 </resources>
140 <testSourceDirectory>${project.basedir}/test</testSourceDirectory>
141 <testResources>
142 <testResource>
143 <filtering>false</filtering>
144 <directory>${project.basedir}/test</directory>
145 <excludes>
146 <exclude>**/*.java</exclude>
147 </excludes>
148 </testResource>
149 </testResources>
150 <pluginManagement>
151 <plugins>
mcculls33018c32011-01-04 15:16:27 +0000152 <!--
153 | Standard LICENSE and NOTICE files
154 -->
mccullsbc7e1502010-10-21 23:36:09 +0000155 <plugin>
mcculls33018c32011-01-04 15:16:27 +0000156 <artifactId>maven-remote-resources-plugin</artifactId>
157 <version>1.1</version>
158 <executions>
159 <execution>
160 <goals>
161 <goal>process</goal>
162 </goals>
163 <configuration>
164 <resourceBundles>
165 <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
166 </resourceBundles>
167 </configuration>
168 </execution>
169 </executions>
mccullsbc7e1502010-10-21 23:36:09 +0000170 </plugin>
mccullsaacb4842010-11-04 22:51:25 +0000171 <!--
172 | Make sure we only use Java5 methods
173 -->
mccullsbc7e1502010-10-21 23:36:09 +0000174 <plugin>
mcculls33018c32011-01-04 15:16:27 +0000175 <artifactId>maven-compiler-plugin</artifactId>
176 <version>2.3.2</version>
177 </plugin>
178 <plugin>
mccullsbc7e1502010-10-21 23:36:09 +0000179 <groupId>org.codehaus.mojo</groupId>
180 <artifactId>animal-sniffer-maven-plugin</artifactId>
181 <version>1.6</version>
182 <configuration>
183 <signature>
184 <groupId>org.codehaus.mojo.signature</groupId>
185 <artifactId>java15</artifactId>
186 <version>1.0</version>
187 </signature>
188 </configuration>
189 <executions>
190 <execution>
191 <id>check-java-1.5-compat</id>
192 <phase>process-classes</phase>
193 <goals>
194 <goal>check</goal>
195 </goals>
196 </execution>
197 </executions>
198 </plugin>
mccullsaacb4842010-11-04 22:51:25 +0000199 <!--
200 | Shared JarJar configuration
201 -->
mccullsbc7e1502010-10-21 23:36:09 +0000202 <plugin>
mcculls8846db32010-11-04 02:22:00 +0000203 <groupId>org.sonatype.plugins</groupId>
204 <artifactId>jarjar-maven-plugin</artifactId>
mccullsca183a62011-04-20 22:28:09 +0000205 <version>1.4</version>
mcculls8846db32010-11-04 02:22:00 +0000206 <configuration>
207 <rules>
208 <rule>
209 <pattern>net.sf.cglib.*</pattern>
210 <result>com.google.inject.internal.cglib.$@1</result>
211 </rule>
212 <rule>
213 <pattern>net.sf.cglib.**.*</pattern>
214 <result>com.google.inject.internal.cglib.@1.$@2</result>
215 </rule>
216 <rule>
217 <pattern>org.objectweb.asm.*</pattern>
218 <result>com.google.inject.internal.asm.$@1</result>
219 </rule>
220 <rule>
221 <pattern>org.objectweb.asm.**.*</pattern>
222 <result>com.google.inject.internal.asm.@1.$@2</result>
223 </rule>
224 <rule>
sberlind9c913a2011-06-26 21:02:54 +0000225 <pattern>com.google.common.*</pattern>
226 <result>com.google.inject.internal.guava.$@1</result>
mcculls8846db32010-11-04 02:22:00 +0000227 </rule>
228 <rule>
sberlind9c913a2011-06-26 21:02:54 +0000229 <pattern>com.google.common.**.*</pattern>
230 <result>com.google.inject.internal.guava.@1.$@2</result>
mcculls8846db32010-11-04 02:22:00 +0000231 </rule>
232 <keep>
233 <pattern>com.google.inject.**</pattern>
234 </keep>
mcculls188875a2010-11-04 02:49:55 +0000235 <keep>
236 <pattern>com.googlecode.**</pattern>
237 </keep>
Sam Berlin45ef0172012-01-13 18:22:35 -0500238 <keep>
239 <!-- the servlet extension uses this but core doesn't,
240 so we explicitly instruct the build to keep it. -->
241 <pattern>com.google.common.base.Throwables</pattern>
242 </keep>
mcculls8846db32010-11-04 02:22:00 +0000243 </rules>
244 </configuration>
mccullsaacb4842010-11-04 22:51:25 +0000245 <!--
246 | JarJar all classes before running tests
247 -->
mcculls8846db32010-11-04 02:22:00 +0000248 <executions>
249 <execution>
250 <id>jarjar-classes</id>
251 <phase>process-test-classes</phase>
252 <goals>
253 <goal>jarjar</goal>
254 </goals>
255 <configuration>
256 <input>{classes}</input>
257 </configuration>
258 </execution>
259 <execution>
260 <id>jarjar-test-classes</id>
261 <phase>process-test-classes</phase>
262 <goals>
263 <goal>jarjar</goal>
264 </goals>
265 <configuration>
266 <input>{test-classes}</input>
267 </configuration>
268 </execution>
269 </executions>
270 </plugin>
271 <plugin>
mccullsbc7e1502010-10-21 23:36:09 +0000272 <artifactId>maven-surefire-plugin</artifactId>
mcculls8846db32010-11-04 02:22:00 +0000273 <version>2.5</version>
mccullsbc7e1502010-10-21 23:36:09 +0000274 <configuration>
275 <redirectTestOutputToFile>true</redirectTestOutputToFile>
Christian Edward Gruberba5acdf2013-10-05 14:05:39 -0700276 <!--<argLine>-Dguice_include_stack_traces=OFF</argLine>-->
mccullsbc7e1502010-10-21 23:36:09 +0000277 </configuration>
278 </plugin>
mccullsaacb4842010-11-04 22:51:25 +0000279 <!--
280 | Shared OSGi manifest configuration
281 -->
mccullsbc7e1502010-10-21 23:36:09 +0000282 <plugin>
283 <groupId>org.apache.felix</groupId>
284 <artifactId>maven-bundle-plugin</artifactId>
285 <version>2.1.0</version>
286 <configuration>
287 <instructions>
mcculls8846db32010-11-04 02:22:00 +0000288 <module>com.google.inject</module>
289 <_include>-${project.basedir}/build.properties</_include>
mccullsbc7e1502010-10-21 23:36:09 +0000290 <Bundle-Copyright>Copyright (C) 2006 Google Inc.</Bundle-Copyright>
291 <Bundle-DocURL>http://code.google.com/p/google-guice/</Bundle-DocURL>
mcculls8846db32010-11-04 02:22:00 +0000292 <Bundle-Name>${project.artifactId}</Bundle-Name>
293 <Bundle-SymbolicName>$(module)</Bundle-SymbolicName>
mccullsbc7e1502010-10-21 23:36:09 +0000294 <Bundle-RequiredExecutionEnvironment>
295 J2SE-1.5,JavaSE-1.6
296 </Bundle-RequiredExecutionEnvironment>
297 <Import-Package>!com.google.inject.*,*</Import-Package>
mcculls8846db32010-11-04 02:22:00 +0000298 <_exportcontents>!*.internal.*,$(module).*;version=${guice.api.version}</_exportcontents>
mccullsbc7e1502010-10-21 23:36:09 +0000299 <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
300 <_nouses>true</_nouses>
301 <_removeheaders>
302 Embed-Dependency,Embed-Transitive,
303 Built-By,Tool,Created-By,Build-Jdk,
304 Originally-Created-By,Archiver-Version,
305 Include-Resource,Private-Package,
306 Ignore-Package,Bnd-LastModified
307 </_removeheaders>
308 </instructions>
309 </configuration>
310 <executions>
311 <execution>
312 <phase>prepare-package</phase>
313 <goals>
314 <goal>manifest</goal>
315 </goals>
316 </execution>
317 </executions>
318 </plugin>
mccullsaacb4842010-11-04 22:51:25 +0000319 <!--
320 | Package OSGi manifest in final JAR, also create a JAR of the test classes
321 -->
mccullsbc7e1502010-10-21 23:36:09 +0000322 <plugin>
323 <artifactId>maven-jar-plugin</artifactId>
324 <version>2.3.1</version>
325 <configuration>
326 <archive>
327 <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
sberlind5fcf7c2011-01-09 16:10:11 +0000328 <!-- Exclude to mirror ant build -->
Sam Berlin45ef0172012-01-13 18:22:35 -0500329 <addMavenDescriptor>false</addMavenDescriptor>
mccullsbc7e1502010-10-21 23:36:09 +0000330 </archive>
331 </configuration>
332 <executions>
333 <execution>
334 <phase>package</phase>
335 <goals>
336 <goal>test-jar</goal>
337 </goals>
338 </execution>
339 </executions>
340 </plugin>
341 <plugin>
342 <artifactId>maven-javadoc-plugin</artifactId>
343 <version>2.7</version>
Christian Edward Gruber359c5c32013-07-31 15:56:55 -0700344 <executions>
345 <execution>
346 <phase>package</phase>
347 <goals>
348 <goal>jar</goal>
349 </goals>
350 </execution>
351 </executions>
mccullsbc7e1502010-10-21 23:36:09 +0000352 </plugin>
353 <plugin>
354 <artifactId>maven-source-plugin</artifactId>
355 <version>2.1.2</version>
Christian Edward Gruber359c5c32013-07-31 15:56:55 -0700356 <executions>
357 <execution>
358 <phase>package</phase>
359 <goals>
360 <goal>jar</goal>
361 <goal>test-jar</goal>
362 </goals>
363 </execution>
364 </executions>
mccullsbc7e1502010-10-21 23:36:09 +0000365 </plugin>
366 <plugin>
367 <artifactId>maven-release-plugin</artifactId>
368 <version>2.1</version>
369 <configuration>
370 <autoVersionSubmodules>true</autoVersionSubmodules>
371 </configuration>
372 </plugin>
mccullsc2420fb2010-12-10 15:52:38 +0000373 <plugin>
374 <artifactId>maven-deploy-plugin</artifactId>
375 <version>2.5</version>
376 </plugin>
mccullsbc7e1502010-10-21 23:36:09 +0000377 </plugins>
378 </pluginManagement>
Christian Edward Gruber359c5c32013-07-31 15:56:55 -0700379 <plugins>
380 <!--
381 | Sign artifacts.
382 -->
383 <plugin>
384 <artifactId>maven-gpg-plugin</artifactId>
385 <version>1.4</version>
386 <executions>
387 <execution>
388 <id>sign-artifacts</id>
389 <phase>verify</phase>
390 <goals><goal>sign</goal></goals>
391 </execution>
392 </executions>
393 </plugin>
394 </plugins>
mccullsbc7e1502010-10-21 23:36:09 +0000395 </build>
396
mcculls88153582010-10-22 00:01:07 +0000397 <profiles>
398 <profile>
mccullsaacb4842010-11-04 22:51:25 +0000399 <!--
400 | Deployment profile for the Sonatype Grid
401 -->
mcculls88153582010-10-22 00:01:07 +0000402 <id>sonatype-grid</id>
mccullsec491882010-10-22 00:10:06 +0000403 <properties>
404 <forgeReleaseId>forge-releases</forgeReleaseId>
405 <forgeReleaseUrl>http://repository.sonatype.org:8081/service/local/staging/deploy/maven2</forgeReleaseUrl>
406 <forgeSnapshotId>forge-snapshots</forgeSnapshotId>
407 <forgeSnapshotUrl>http://repository.sonatype.org/content/repositories/snapshots</forgeSnapshotUrl>
408 </properties>
mcculls88153582010-10-22 00:01:07 +0000409 <distributionManagement>
410 <repository>
mccullsec491882010-10-22 00:10:06 +0000411 <id>${forgeReleaseId}</id>
412 <url>${forgeReleaseUrl}</url>
mcculls88153582010-10-22 00:01:07 +0000413 </repository>
414 <snapshotRepository>
mccullsec491882010-10-22 00:10:06 +0000415 <id>${forgeSnapshotId}</id>
416 <url>${forgeSnapshotUrl}</url>
mcculls88153582010-10-22 00:01:07 +0000417 </snapshotRepository>
418 </distributionManagement>
419 </profile>
420 </profiles>
421
crazybobleeac266a22007-02-26 00:07:01 +0000422</project>