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.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>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