• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2
3<!--
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>
30  <version>4.2.0</version>
31
32  <name>Google Guice</name>
33
34  <description>
35    Guice is a lightweight dependency injection framework for Java 6 and above
36  </description>
37
38  <url>https://github.com/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:git:git://github.com/google/guice.git</connection>
65    <developerConnection>scm:git:ssh://git@github.com/google/guice.git</developerConnection>
66    <url>https://github.com/google/guice</url>
67  </scm>
68
69  <issueManagement>
70    <system>Github</system>
71    <url>https://github.com/google/guice/issues/</url>
72  </issueManagement>
73
74  <ciManagement>
75    <system>Travis</system>
76    <url>https://travis-ci.org/google/guice</url>
77  </ciManagement>
78
79  <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  <distributionManagement>
88    <!-- override the parent's directory to point to the canonical place, and use https. -->
89    <repository>
90      <id>google-releases</id>
91      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
92    </repository>
93    <snapshotRepository>
94      <id>google-snapshots</id>
95      <url>https://oss.sonatype.org/content/repositories/snapshots</url>
96    </snapshotRepository>
97  </distributionManagement>
98
99  <modules>
100    <module>bom</module>
101    <module>core</module>
102    <module>extensions</module>
103    <!-- jdk8-tests module activated only when running under JDK8, below -->
104  </modules>
105
106  <prerequisites>
107    <maven>3.0</maven>
108  </prerequisites>
109
110  <properties>
111    <!--
112     | The spec version of the public Guice API
113    -->
114    <guice.api.version>1.4</guice.api.version>
115    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
116    <!--
117     | Use "-Dguice.with.jarjar=false" to build without jarjar
118    -->
119    <guice.with.jarjar>true</guice.with.jarjar>
120    <!--
121     | Use "-Dguice.with.no_aop=false" to skip the no-AOP variant
122    -->
123    <guice.with.no_aop>true</guice.with.no_aop>
124    <gpg.skip>true</gpg.skip>
125  </properties>
126
127  <dependencyManagement>
128    <dependencies>
129      <dependency>
130        <groupId>javax.inject</groupId>
131        <artifactId>javax.inject</artifactId>
132        <version>1</version>
133      </dependency>
134      <dependency>
135        <groupId>javax.inject</groupId>
136        <artifactId>javax.inject-tck</artifactId>
137        <version>1</version>
138      </dependency>
139      <dependency>
140        <groupId>aopalliance</groupId>
141        <artifactId>aopalliance</artifactId>
142        <version>1.0</version>
143      </dependency>
144      <dependency>
145        <groupId>com.google.guava</groupId>
146        <artifactId>guava</artifactId>
147        <version>23.6-android</version>
148      </dependency>
149      <dependency>
150        <groupId>com.google.guava</groupId>
151        <artifactId>guava-testlib</artifactId>
152        <version>23.6-android</version>
153      </dependency>
154      <dependency>
155        <groupId>org.ow2.asm</groupId>
156        <artifactId>asm</artifactId>
157        <version>6.0</version>
158      </dependency>
159      <dependency>
160        <groupId>cglib</groupId>
161        <artifactId>cglib</artifactId>
162        <version>3.2.6</version>
163      </dependency>
164      <dependency>
165        <groupId>junit</groupId>
166        <artifactId>junit</artifactId>
167        <version>4.11</version>
168        <scope>test</scope>
169      </dependency>
170      <dependency>
171        <groupId>com.google.truth</groupId>
172        <artifactId>truth</artifactId>
173        <version>0.36</version>
174        <scope>test</scope>
175      </dependency>
176      <dependency>
177        <groupId>com.google.code.findbugs</groupId>
178        <artifactId>jsr305</artifactId>
179        <version>3.0.1</version>
180      </dependency>
181    </dependencies>
182  </dependencyManagement>
183
184  <dependencies>
185    <dependency>
186      <groupId>junit</groupId>
187      <artifactId>junit</artifactId>
188    </dependency>
189  </dependencies>
190
191  <build>
192    <!--
193     | Ant-style directories
194    -->
195    <sourceDirectory>${project.basedir}/src</sourceDirectory>
196    <resources>
197      <resource>
198        <filtering>false</filtering>
199        <directory>${project.basedir}/src</directory>
200        <excludes>
201          <exclude>**/*.java</exclude>
202        </excludes>
203      </resource>
204    </resources>
205    <testSourceDirectory>${project.basedir}/test</testSourceDirectory>
206    <testResources>
207      <testResource>
208        <filtering>false</filtering>
209        <directory>${project.basedir}/test</directory>
210        <excludes>
211          <exclude>**/*.java</exclude>
212        </excludes>
213      </testResource>
214    </testResources>
215    <pluginManagement>
216      <plugins>
217        <!--
218         | Use 'mvn license:format -N' at top of project to add missing headers
219        -->
220        <plugin>
221          <groupId>com.mycila</groupId>
222          <artifactId>license-maven-plugin</artifactId>
223          <version>2.6</version>
224          <configuration>
225            <encoding>UTF-8</encoding>
226            <header>${project.basedir}/lib/build/header.txt</header>
227            <headerDefinitions>
228              <headerDefinition>${project.basedir}/lib/build/header-definitions.xml</headerDefinition>
229            </headerDefinitions>
230            <skipExistingHeaders>true</skipExistingHeaders>
231            <aggregate>true</aggregate>
232            <includes>
233              <include>**/*.java</include>
234            </includes>
235            <excludes>
236              <!-- avoid touching munged/lib/test/example code -->
237              <exclude>**/build/**</exclude>
238              <exclude>**/target/**</exclude>
239              <exclude>**/lib/**</exclude>
240              <exclude>**/test/**</exclude>
241              <exclude>**/example*/**</exclude>
242            </excludes>
243            <mapping>
244              <java>JAVADOC_STYLE</java>
245            </mapping>
246          </configuration>
247        </plugin>
248        <!--
249         | Standard LICENSE and NOTICE files
250        -->
251        <plugin>
252          <artifactId>maven-remote-resources-plugin</artifactId>
253          <version>1.1</version>
254          <executions>
255            <execution>
256              <goals>
257                <goal>process</goal>
258              </goals>
259              <configuration>
260                <resourceBundles>
261                  <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
262                </resourceBundles>
263              </configuration>
264            </execution>
265          </executions>
266        </plugin>
267        <!--
268         | Make sure we only use Java7 methods
269        -->
270        <plugin>
271          <artifactId>maven-compiler-plugin</artifactId>
272          <version>2.3.2</version>
273          <configuration>
274            <source>1.7</source>
275            <target>1.7</target>
276          </configuration>
277        </plugin>
278        <plugin>
279          <groupId>org.codehaus.mojo</groupId>
280          <artifactId>animal-sniffer-maven-plugin</artifactId>
281          <version>1.16</version>
282          <configuration>
283            <signature>
284              <groupId>org.codehaus.mojo.signature</groupId>
285              <artifactId>java17</artifactId>
286              <version>1.0</version>
287            </signature>
288          </configuration>
289          <executions>
290            <execution>
291              <id>check-java-1.7-compat</id>
292              <phase>process-classes</phase>
293              <goals>
294                <goal>check</goal>
295              </goals>
296            </execution>
297          </executions>
298        </plugin>
299        <plugin>
300          <artifactId>maven-surefire-plugin</artifactId>
301          <version>2.5</version>
302          <configuration>
303            <redirectTestOutputToFile>true</redirectTestOutputToFile>
304            <!--<argLine>-Dguice_include_stack_traces=OFF</argLine>-->
305          </configuration>
306          <executions>
307            <execution>
308              <id>stack-traces-off</id>
309              <phase>test</phase>
310              <goals><goal>test</goal></goals>
311              <configuration>
312                <argLine>-Dguice_include_stack_traces=OFF</argLine>
313              </configuration>
314            </execution>
315            <execution>
316              <id>stack-traces-complete</id>
317              <phase>test</phase>
318              <goals><goal>test</goal></goals>
319              <configuration>
320                <argLine>-Dguice_include_stack_traces=COMPLETE</argLine>
321              </configuration>
322            </execution>
323            <execution>
324              <id>default-test</id>
325              <phase>test</phase>
326              <goals><goal>test</goal></goals>
327              <configuration>
328                <argLine>-Dguice_include_stack_traces=ONLY_FOR_DECLARING_SOURCE</argLine>
329              </configuration>
330            </execution>
331          </executions>
332        </plugin>
333        <!--
334         | Shared OSGi manifest configuration
335        -->
336        <plugin>
337          <groupId>org.apache.felix</groupId>
338          <artifactId>maven-bundle-plugin</artifactId>
339          <version>3.5.0</version>
340          <configuration>
341            <instructions>
342              <module>com.google.inject</module>
343              <_include>-${project.basedir}/build.properties</_include>
344              <Bundle-Copyright>Copyright (C) 2006 Google Inc.</Bundle-Copyright>
345              <Bundle-DocURL>https://github.com/google/guice</Bundle-DocURL>
346              <Bundle-Name>${project.artifactId}</Bundle-Name>
347              <Bundle-SymbolicName>$(module)</Bundle-SymbolicName>
348              <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
349              <Import-Package>!com.google.inject.*,*</Import-Package>
350              <_exportcontents>!*.internal.*,$(module).*;version=${guice.api.version}</_exportcontents>
351              <_versionpolicy>$(version;==;$(@))</_versionpolicy>
352              <_nouses>true</_nouses>
353              <_removeheaders>
354                Embed-Dependency,Embed-Transitive,
355                Built-By,Tool,Created-By,Build-Jdk,
356                Originally-Created-By,Archiver-Version,
357                Include-Resource,Private-Package,
358                Ignore-Package,Bnd-LastModified
359              </_removeheaders>
360            </instructions>
361          </configuration>
362          <executions>
363            <execution>
364              <phase>prepare-package</phase>
365              <goals>
366                <goal>manifest</goal>
367              </goals>
368            </execution>
369          </executions>
370        </plugin>
371        <!--
372         | Package OSGi manifest in final JAR, also create a JAR of the test classes
373        -->
374        <plugin>
375          <artifactId>maven-jar-plugin</artifactId>
376          <version>2.3.1</version>
377          <configuration>
378            <archive>
379              <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
380              <!--  Exclude to mirror ant build -->
381          <addMavenDescriptor>false</addMavenDescriptor>
382            </archive>
383          </configuration>
384          <executions>
385            <execution>
386              <phase>package</phase>
387              <goals>
388                <goal>test-jar</goal>
389              </goals>
390            </execution>
391          </executions>
392        </plugin>
393        <plugin>
394          <artifactId>maven-javadoc-plugin</artifactId>
395          <version>3.0.0</version>
396          <executions>
397            <execution>
398              <phase>package</phase>
399              <goals>
400                <goal>jar</goal>
401              </goals>
402            </execution>
403          </executions>
404        </plugin>
405        <plugin>
406          <artifactId>maven-source-plugin</artifactId>
407          <version>2.1.2</version>
408          <executions>
409            <execution>
410              <phase>package</phase>
411              <goals>
412                <goal>jar</goal>
413                <goal>test-jar</goal>
414              </goals>
415            </execution>
416          </executions>
417        </plugin>
418        <plugin>
419          <artifactId>maven-release-plugin</artifactId>
420          <version>2.1</version>
421          <configuration>
422            <autoVersionSubmodules>true</autoVersionSubmodules>
423          </configuration>
424        </plugin>
425        <plugin>
426          <artifactId>maven-deploy-plugin</artifactId>
427          <version>2.5</version>
428        </plugin>
429      </plugins>
430    </pluginManagement>
431    <plugins>
432      <!--
433       | Sign artifacts.
434      -->
435      <plugin>
436        <artifactId>maven-gpg-plugin</artifactId>
437        <version>1.4</version>
438        <executions>
439          <execution>
440            <id>sign-artifacts</id>
441            <phase>verify</phase>
442            <goals><goal>sign</goal></goals>
443          </execution>
444        </executions>
445      </plugin>
446    </plugins>
447  </build>
448
449  <profiles>
450    <profile>
451      <id>jdk8</id>
452      <activation>
453        <jdk>[1.8,)</jdk>
454      </activation>
455      <!-- Activate jdk8-tests module only under JDK 8 -->
456      <modules>
457        <module>jdk8-tests</module>
458      </modules>
459      <!-- Disable doclint under JDK 8 -->
460      <reporting>
461      <plugins>
462          <plugin>
463            <groupId>org.apache.maven.plugins</groupId>
464            <artifactId>maven-javadoc-plugin</artifactId>
465            <configuration>
466              <additionalOptions>
467                <additionalOption>-Xdoclint:none</additionalOption>
468              </additionalOptions>
469            </configuration>
470          </plugin>
471        </plugins>
472      </reporting>
473      <build>
474        <plugins>
475          <plugin>
476            <groupId>org.apache.maven.plugins</groupId>
477            <artifactId>maven-javadoc-plugin</artifactId>
478            <configuration>
479              <additionalOptions>
480                <additionalOption>-Xdoclint:none</additionalOption>
481              </additionalOptions>
482            </configuration>
483          </plugin>
484        </plugins>
485      </build>
486    </profile>
487  </profiles>
488  <!-- TODO(cgruber): Update the google parent pom or migrate to sonatype's -->
489</project>
490