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