Home | History | Annotate | Download | only in guice
      1 <?xml version="1.0" encoding="UTF-8"?>
      2 
      3 <!--
      4 Copyright (c) 2006 Google, Inc. All rights reserved.
      5 
      6 This program is licensed to you under the Apache License Version 2.0,
      7 and you may not use this file except in compliance with the Apache License Version 2.0.
      8 You may obtain a copy of the Apache License Version 2.0 at http://www.apache.org/licenses/LICENSE-2.0.
      9 
     10 Unless required by applicable law or agreed to in writing,
     11 software 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.
     13 See 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 (a] 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