You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

490 lines
16 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2006 Google, Inc. All rights reserved.
This program is licensed to you under the Apache License Version 2.0,
and you may not use this file except in compliance with the Apache License Version 2.0.
You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing,
software distributed under the Apache License Version 2.0 is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the Apache License Version 2.0 for the specific language governing permissions and limitations there under.
-->
<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</groupId>
<artifactId>google</artifactId>
<version>5</version>
</parent>
<packaging>pom</packaging>
<groupId>com.google.inject</groupId>
<artifactId>guice-parent</artifactId>
<version>4.2.0</version>
<name>Google Guice</name>
<description>
Guice is a lightweight dependency injection framework for Java 6 and above
</description>
<url>https://github.com/google/guice</url>
<inceptionYear>2006</inceptionYear>
<organization>
<name>Google, Inc.</name>
<url>http://www.google.com</url>
</organization>
<mailingLists>
<mailingList>
<name>Guice Users List</name>
<archive>http://groups.google.com/group/google-guice/topics</archive>
<subscribe>http://groups.google.com/group/google-guice/subscribe</subscribe>
<unsubscribe>http://groups.google.com/group/google-guice/subscribe</unsubscribe>
<post>http://groups.google.com/group/google-guice/post</post>
</mailingList>
<mailingList>
<name>Guice Developers List</name>
<archive>http://groups.google.com/group/google-guice-dev/topics</archive>
<subscribe>http://groups.google.com/group/google-guice-dev/subscribe</subscribe>
<unsubscribe>http://groups.google.com/group/google-guice-dev/subscribe</unsubscribe>
<post>http://groups.google.com/group/google-guice-dev/post</post>
</mailingList>
</mailingLists>
<scm>
<connection>scm:git:git://github.com/google/guice.git</connection>
<developerConnection>scm:git:ssh://git@github.com/google/guice.git</developerConnection>
<url>https://github.com/google/guice</url>
</scm>
<issueManagement>
<system>Github</system>
<url>https://github.com/google/guice/issues/</url>
</issueManagement>
<ciManagement>
<system>Travis</system>
<url>https://travis-ci.org/google/guice</url>
</ciManagement>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<distributionManagement>
<!-- override the parent's directory to point to the canonical place, and use https. -->
<repository>
<id>google-releases</id>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
</repository>
<snapshotRepository>
<id>google-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
<modules>
<module>bom</module>
<module>core</module>
<module>extensions</module>
<!-- jdk8-tests module activated only when running under JDK8, below -->
</modules>
<prerequisites>
<maven>3.0</maven>
</prerequisites>
<properties>
<!--
| The spec version of the public Guice API
-->
<guice.api.version>1.4</guice.api.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!--
| Use "-Dguice.with.jarjar=false" to build without jarjar
-->
<guice.with.jarjar>true</guice.with.jarjar>
<!--
| Use "-Dguice.with.no_aop=false" to skip the no-AOP variant
-->
<guice.with.no_aop>true</guice.with.no_aop>
<gpg.skip>true</gpg.skip>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject-tck</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>23.6-android</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava-testlib</artifactId>
<version>23.6-android</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
<version>6.0</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>0.36</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>3.0.1</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
</dependency>
</dependencies>
<build>
<!--
| Ant-style directories
-->
<sourceDirectory>${project.basedir}/src</sourceDirectory>
<resources>
<resource>
<filtering>false</filtering>
<directory>${project.basedir}/src</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
<testSourceDirectory>${project.basedir}/test</testSourceDirectory>
<testResources>
<testResource>
<filtering>false</filtering>
<directory>${project.basedir}/test</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</testResource>
</testResources>
<pluginManagement>
<plugins>
<!--
| Use 'mvn license:format -N' at top of project to add missing headers
-->
<plugin>
<groupId>com.mycila</groupId>
<artifactId>license-maven-plugin</artifactId>
<version>2.6</version>
<configuration>
<encoding>UTF-8</encoding>
<header>${project.basedir}/lib/build/header.txt</header>
<headerDefinitions>
<headerDefinition>${project.basedir}/lib/build/header-definitions.xml</headerDefinition>
</headerDefinitions>
<skipExistingHeaders>true</skipExistingHeaders>
<aggregate>true</aggregate>
<includes>
<include>**/*.java</include>
</includes>
<excludes>
<!-- avoid touching munged/lib/test/example code -->
<exclude>**/build/**</exclude>
<exclude>**/target/**</exclude>
<exclude>**/lib/**</exclude>
<exclude>**/test/**</exclude>
<exclude>**/example*/**</exclude>
</excludes>
<mapping>
<java>JAVADOC_STYLE</java>
</mapping>
</configuration>
</plugin>
<!--
| Standard LICENSE and NOTICE files
-->
<plugin>
<artifactId>maven-remote-resources-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<goals>
<goal>process</goal>
</goals>
<configuration>
<resourceBundles>
<resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
</resourceBundles>
</configuration>
</execution>
</executions>
</plugin>
<!--
| Make sure we only use Java7 methods
-->
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>animal-sniffer-maven-plugin</artifactId>
<version>1.16</version>
<configuration>
<signature>
<groupId>org.codehaus.mojo.signature</groupId>
<artifactId>java17</artifactId>
<version>1.0</version>
</signature>
</configuration>
<executions>
<execution>
<id>check-java-1.7-compat</id>
<phase>process-classes</phase>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.5</version>
<configuration>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<!--<argLine>-Dguice_include_stack_traces=OFF</argLine>-->
</configuration>
<executions>
<execution>
<id>stack-traces-off</id>
<phase>test</phase>
<goals><goal>test</goal></goals>
<configuration>
<argLine>-Dguice_include_stack_traces=OFF</argLine>
</configuration>
</execution>
<execution>
<id>stack-traces-complete</id>
<phase>test</phase>
<goals><goal>test</goal></goals>
<configuration>
<argLine>-Dguice_include_stack_traces=COMPLETE</argLine>
</configuration>
</execution>
<execution>
<id>default-test</id>
<phase>test</phase>
<goals><goal>test</goal></goals>
<configuration>
<argLine>-Dguice_include_stack_traces=ONLY_FOR_DECLARING_SOURCE</argLine>
</configuration>
</execution>
</executions>
</plugin>
<!--
| Shared OSGi manifest configuration
-->
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<instructions>
<module>com.google.inject</module>
<_include>-${project.basedir}/build.properties</_include>
<Bundle-Copyright>Copyright (C) 2006 Google Inc.</Bundle-Copyright>
<Bundle-DocURL>https://github.com/google/guice</Bundle-DocURL>
<Bundle-Name>${project.artifactId}</Bundle-Name>
<Bundle-SymbolicName>$(module)</Bundle-SymbolicName>
<Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
<Import-Package>!com.google.inject.*,*</Import-Package>
<_exportcontents>!*.internal.*,$(module).*;version=${guice.api.version}</_exportcontents>
<_versionpolicy>$(version;==;$(@))</_versionpolicy>
<_nouses>true</_nouses>
<_removeheaders>
Embed-Dependency,Embed-Transitive,
Built-By,Tool,Created-By,Build-Jdk,
Originally-Created-By,Archiver-Version,
Include-Resource,Private-Package,
Ignore-Package,Bnd-LastModified
</_removeheaders>
</instructions>
</configuration>
<executions>
<execution>
<phase>prepare-package</phase>
<goals>
<goal>manifest</goal>
</goals>
</execution>
</executions>
</plugin>
<!--
| Package OSGi manifest in final JAR, also create a JAR of the test classes
-->
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
<!-- Exclude to mirror ant build -->
<addMavenDescriptor>false</addMavenDescriptor>
</archive>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>2.1.2</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.1</version>
<configuration>
<autoVersionSubmodules>true</autoVersionSubmodules>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<!--
| Sign artifacts.
-->
<plugin>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals><goal>sign</goal></goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>jdk8</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<!-- Activate jdk8-tests module only under JDK 8 -->
<modules>
<module>jdk8-tests</module>
</modules>
<!-- Disable doclint under JDK 8 -->
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalOptions>
<additionalOption>-Xdoclint:none</additionalOption>
</additionalOptions>
</configuration>
</plugin>
</plugins>
</reporting>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<additionalOptions>
<additionalOption>-Xdoclint:none</additionalOption>
</additionalOptions>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- TODO(cgruber): Update the google parent pom or migrate to sonatype's -->
</project>