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.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>Google Code</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>16.0.1</version>
    148       </dependency>
    149       <dependency>
    150         <groupId>com.google.guava</groupId>
    151         <artifactId>guava-testlib</artifactId>
    152         <version>16.0.1</version>
    153       </dependency>
    154       <dependency>
    155         <groupId>org.ow2.asm</groupId>
    156         <artifactId>asm</artifactId>
    157         <version>5.0.3</version>
    158       </dependency>
    159       <dependency>
    160         <groupId>cglib</groupId>
    161         <artifactId>cglib</artifactId>
    162         <version>3.1</version>
    163       </dependency>
    164     </dependencies>
    165   </dependencyManagement>
    166 
    167   <dependencies>
    168     <dependency>
    169       <groupId>junit</groupId>
    170       <artifactId>junit</artifactId>
    171       <version>4.11</version>
    172       <scope>test</scope>
    173     </dependency>
    174   </dependencies>
    175 
    176   <build>
    177     <!--
    178      | Ant-style directories
    179     -->
    180     <sourceDirectory>${project.basedir}/src</sourceDirectory>
    181     <resources>
    182       <resource>
    183         <filtering>false</filtering>
    184         <directory>${project.basedir}/src</directory>
    185         <excludes>
    186           <exclude>**/*.java</exclude>
    187         </excludes>
    188       </resource>
    189     </resources>
    190     <testSourceDirectory>${project.basedir}/test</testSourceDirectory>
    191     <testResources>
    192       <testResource>
    193         <filtering>false</filtering>
    194         <directory>${project.basedir}/test</directory>
    195         <excludes>
    196           <exclude>**/*.java</exclude>
    197         </excludes>
    198       </testResource>
    199     </testResources>
    200     <pluginManagement>
    201       <plugins>
    202         <!--
    203          | Use 'mvn license:format -N' at top of project to add missing headers
    204         -->
    205         <plugin>
    206           <groupId>com.mycila</groupId>
    207           <artifactId>license-maven-plugin</artifactId>
    208           <version>2.6</version>
    209           <configuration>
    210             <encoding>UTF-8</encoding>
    211             <header>${project.basedir}/lib/build/header.txt</header>
    212             <headerDefinitions>
    213               <headerDefinition>${project.basedir}/lib/build/header-definitions.xml</headerDefinition>
    214             </headerDefinitions>
    215             <skipExistingHeaders>true</skipExistingHeaders>
    216             <aggregate>true</aggregate>
    217             <includes>
    218               <include>**/*.java</include>
    219             </includes>
    220             <excludes>
    221               <!-- avoid touching munged/lib/test/example code -->
    222               <exclude>**/build/**</exclude>
    223               <exclude>**/target/**</exclude>
    224               <exclude>**/lib/**</exclude>
    225               <exclude>**/test/**</exclude>
    226               <exclude>**/example*/**</exclude>
    227             </excludes>
    228             <mapping>
    229               <java>JAVADOC_STYLE</java>
    230             </mapping>
    231           </configuration>
    232         </plugin>
    233         <!--
    234          | Standard LICENSE and NOTICE files
    235         -->
    236         <plugin>
    237           <artifactId>maven-remote-resources-plugin</artifactId>
    238           <version>1.1</version>
    239           <executions>
    240             <execution>
    241               <goals>
    242                 <goal>process</goal>
    243               </goals>
    244               <configuration>
    245                 <resourceBundles>
    246                   <resourceBundle>org.apache:apache-jar-resource-bundle:1.4</resourceBundle>
    247                 </resourceBundles>
    248               </configuration>
    249             </execution>
    250           </executions>
    251         </plugin>
    252         <!--
    253          | Make sure we only use Java6 methods
    254         -->
    255         <plugin>
    256           <artifactId>maven-compiler-plugin</artifactId>
    257           <version>2.3.2</version>
    258           <configuration>
    259             <source>1.6</source>
    260             <target>1.6</target>
    261           </configuration>
    262         </plugin>
    263         <plugin>
    264           <groupId>org.codehaus.mojo</groupId>
    265           <artifactId>animal-sniffer-maven-plugin</artifactId>
    266           <version>1.10</version>
    267           <configuration>
    268             <signature>
    269               <groupId>org.codehaus.mojo.signature</groupId>
    270               <artifactId>java16</artifactId>
    271               <version>1.0</version>
    272             </signature>
    273           </configuration>
    274           <executions>
    275             <execution>
    276               <id>check-java-1.6-compat</id>
    277               <phase>process-classes</phase>
    278               <goals>
    279                 <goal>check</goal>
    280               </goals>
    281             </execution>
    282           </executions>
    283         </plugin>
    284         <plugin>
    285           <artifactId>maven-surefire-plugin</artifactId>
    286           <version>2.5</version>
    287           <configuration>
    288             <redirectTestOutputToFile>true</redirectTestOutputToFile>
    289             <!--<argLine>-Dguice_include_stack_traces=OFF</argLine>-->
    290           </configuration>
    291           <executions>
    292             <execution>
    293               <id>stack-traces-off</id>
    294               <phase>test</phase>
    295               <goals><goal>test</goal></goals>
    296               <configuration>
    297                 <argLine>-Dguice_include_stack_traces=OFF</argLine>
    298               </configuration>
    299             </execution>
    300             <execution>
    301               <id>stack-traces-complete</id>
    302               <phase>test</phase>
    303               <goals><goal>test</goal></goals>
    304               <configuration>
    305                 <argLine>-Dguice_include_stack_traces=COMPLETE</argLine>
    306               </configuration>
    307             </execution>
    308             <execution>
    309               <id>default-test</id>
    310               <phase>test</phase>
    311               <goals><goal>test</goal></goals>
    312               <configuration>
    313                 <argLine>-Dguice_include_stack_traces=ONLY_FOR_DECLARING_SOURCE</argLine>
    314               </configuration>
    315             </execution>
    316           </executions>
    317         </plugin>
    318         <!--
    319          | Shared OSGi manifest configuration
    320         -->
    321         <plugin>
    322           <groupId>org.apache.felix</groupId>
    323           <artifactId>maven-bundle-plugin</artifactId>
    324           <version>2.1.0</version>
    325           <configuration>
    326             <instructions>
    327               <module>com.google.inject</module>
    328               <_include>-${project.basedir}/build.properties</_include>
    329               <Bundle-Copyright>Copyright (C) 2006 Google Inc.</Bundle-Copyright>
    330               <Bundle-DocURL>https://github.com/google/guice</Bundle-DocURL>
    331               <Bundle-Name>${project.artifactId}</Bundle-Name>
    332               <Bundle-SymbolicName>$(module)</Bundle-SymbolicName>
    333               <Bundle-RequiredExecutionEnvironment>JavaSE-1.6</Bundle-RequiredExecutionEnvironment>
    334               <Import-Package>!com.google.inject.*,*</Import-Package>
    335               <_exportcontents>!*.internal.*,$(module).*;version=${guice.api.version}</_exportcontents>
    336               <_versionpolicy>$(version;==;$(@))</_versionpolicy>
    337               <_nouses>true</_nouses>
    338               <_removeheaders>
    339                 Embed-Dependency,Embed-Transitive,
    340                 Built-By,Tool,Created-By,Build-Jdk,
    341                 Originally-Created-By,Archiver-Version,
    342                 Include-Resource,Private-Package,
    343                 Ignore-Package,Bnd-LastModified
    344               </_removeheaders>
    345             </instructions>
    346           </configuration>
    347           <executions>
    348             <execution>
    349               <phase>prepare-package</phase>
    350               <goals>
    351                 <goal>manifest</goal>
    352               </goals>
    353             </execution>
    354           </executions>
    355         </plugin>
    356         <!--
    357          | Package OSGi manifest in final JAR, also create a JAR of the test classes
    358         -->
    359         <plugin>
    360           <artifactId>maven-jar-plugin</artifactId>
    361           <version>2.3.1</version>
    362           <configuration>
    363             <archive>
    364               <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
    365               <!--  Exclude to mirror ant build -->
    366           <addMavenDescriptor>false</addMavenDescriptor>
    367             </archive>
    368           </configuration>
    369           <executions>
    370             <execution>
    371               <phase>package</phase>
    372               <goals>
    373                 <goal>test-jar</goal>
    374               </goals>
    375             </execution>
    376           </executions>
    377         </plugin>
    378         <plugin>
    379           <artifactId>maven-javadoc-plugin</artifactId>
    380           <version>2.7</version>
    381           <executions>
    382             <execution>
    383               <phase>package</phase>
    384               <goals>
    385                 <goal>jar</goal>
    386               </goals>
    387             </execution>
    388           </executions>
    389         </plugin>
    390         <plugin>
    391           <artifactId>maven-source-plugin</artifactId>
    392           <version>2.1.2</version>
    393           <executions>
    394             <execution>
    395               <phase>package</phase>
    396               <goals>
    397                 <goal>jar</goal>
    398                 <goal>test-jar</goal>
    399               </goals>
    400             </execution>
    401           </executions>
    402         </plugin>
    403         <plugin>
    404           <artifactId>maven-release-plugin</artifactId>
    405           <version>2.1</version>
    406           <configuration>
    407             <autoVersionSubmodules>true</autoVersionSubmodules>
    408           </configuration>
    409         </plugin>
    410         <plugin>
    411           <artifactId>maven-deploy-plugin</artifactId>
    412           <version>2.5</version>
    413         </plugin>
    414       </plugins>
    415     </pluginManagement>
    416     <plugins>
    417       <!--
    418        | Sign artifacts.
    419       -->
    420       <plugin>
    421         <artifactId>maven-gpg-plugin</artifactId>
    422         <version>1.4</version>
    423         <executions>
    424           <execution>
    425             <id>sign-artifacts</id>
    426             <phase>verify</phase>
    427             <goals><goal>sign</goal></goals>
    428           </execution>
    429         </executions>
    430       </plugin>
    431     </plugins>
    432   </build>
    433 
    434   <profiles>
    435     <profile>
    436       <id>jdk8</id>
    437       <activation>
    438         <jdk>[1.8,)</jdk>
    439       </activation>
    440       <!-- Activate jdk8-tests module only under JDK 8 -->
    441       <modules>
    442         <module>jdk8-tests</module>
    443       </modules>
    444       <!-- Disable doclint under JDK 8 -->
    445       <reporting>
    446       <plugins>
    447           <plugin>
    448             <groupId>org.apache.maven.plugins</groupId>
    449             <artifactId>maven-javadoc-plugin</artifactId>
    450             <configuration>
    451               <additionalparam>-Xdoclint:none</additionalparam>
    452             </configuration>
    453           </plugin>
    454         </plugins>
    455       </reporting>
    456       <build>
    457         <plugins>
    458           <plugin>
    459             <groupId>org.apache.maven.plugins</groupId>
    460             <artifactId>maven-javadoc-plugin</artifactId>
    461             <configuration>
    462               <additionalparam>-Xdoclint:none</additionalparam>
    463             </configuration>
    464           </plugin>
    465         </plugins>
    466       </build>
    467     </profile>
    468   </profiles>
    469   <!-- TODO(cgruber): Update the google parent pom or migrate to sonatype's -->
    470 </project>
    471