1<?xml version="1.0" encoding="UTF-8"?> 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 5 6 <modelVersion>4.0.0</modelVersion> 7 <groupId>com.google.guava</groupId> 8 <artifactId>guava-parent</artifactId> 9 <version>31.0.1-android</version> 10 <packaging>pom</packaging> 11 <name>Guava Maven Parent</name> 12 <description>Parent for guava artifacts</description> 13 <url>https://github.com/google/guava</url> 14 <properties> 15 <!-- Override this with -Dtest.include="**/SomeTest.java" on the CLI --> 16 <test.include>%regex[.*.class]</test.include> 17 <truth.version>1.1.2</truth.version> 18 <checker-framework.version>3.12.0</checker-framework.version> 19 <animal.sniffer.version>1.20</animal.sniffer.version> 20 <maven-javadoc-plugin.version>3.1.0</maven-javadoc-plugin.version> 21 <maven-source-plugin.version>3.2.1</maven-source-plugin.version> 22 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 23 </properties> 24 <issueManagement> 25 <system>GitHub Issues</system> 26 <url>https://github.com/google/guava/issues</url> 27 </issueManagement> 28 <inceptionYear>2010</inceptionYear> 29 <licenses> 30 <license> 31 <name>Apache License, Version 2.0</name> 32 <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> 33 <distribution>repo</distribution> 34 </license> 35 </licenses> 36 <scm> 37 <connection>scm:git:https://github.com/google/guava.git</connection> 38 <developerConnection>scm:git:git@github.com:google/guava.git</developerConnection> 39 <url>https://github.com/google/guava</url> 40 </scm> 41 <developers> 42 <developer> 43 <id>kevinb9n</id> 44 <name>Kevin Bourrillion</name> 45 <email>kevinb@google.com</email> 46 <organization>Google</organization> 47 <organizationUrl>http://www.google.com</organizationUrl> 48 <roles> 49 <role>owner</role> 50 <role>developer</role> 51 </roles> 52 <timezone>-8</timezone> 53 </developer> 54 </developers> 55 <ciManagement> 56 <system>GitHub Actions</system> 57 <url>https://github.com/google/guava/actions</url> 58 </ciManagement> 59 <modules> 60 <module>guava</module> 61 <module>guava-bom</module> 62 <module>guava-testlib</module> 63 <module>guava-tests</module> 64 </modules> 65 <build> 66 <!-- Handle where Guava deviates from Maven defaults --> 67 <sourceDirectory>src</sourceDirectory> 68 <testSourceDirectory>test</testSourceDirectory> 69 <resources> 70 <resource> 71 <directory>src</directory> 72 <excludes> 73 <exclude>**/*.java</exclude> 74 <exclude>**/*.sw*</exclude> 75 </excludes> 76 </resource> 77 </resources> 78 <testResources> 79 <testResource> 80 <directory>test</directory> 81 <excludes> 82 <exclude>**/*.java</exclude> 83 </excludes> 84 </testResource> 85 </testResources> 86 <plugins> 87 <plugin> 88 <groupId>org.apache.maven.plugins</groupId> 89 <artifactId>maven-enforcer-plugin</artifactId> 90 <executions> 91 <execution> 92 <id>enforce-versions</id> 93 <goals> 94 <goal>enforce</goal> 95 </goals> 96 <configuration> 97 <rules> 98 <requireMavenVersion> 99 <version>3.0.5</version> 100 </requireMavenVersion> 101 <requireJavaVersion> 102 <version>1.8.0</version> 103 </requireJavaVersion> 104 </rules> 105 </configuration> 106 </execution> 107 </executions> 108 </plugin> 109 <plugin> 110 <artifactId>maven-javadoc-plugin</artifactId> 111 <version>${maven-javadoc-plugin.version}</version> 112 </plugin> 113 </plugins> 114 <pluginManagement> 115 <plugins> 116 <plugin> 117 <artifactId>maven-compiler-plugin</artifactId> 118 <version>3.8.1</version> 119 <configuration> 120 <source>1.8</source> 121 <target>1.8</target> 122 <compilerArgs> 123 <!-- 124 Make includes/excludes fully work: 125 https://issues.apache.org/jira/browse/MCOMPILER-174 126 127 (Compare what guava-gwt has to do for maven-javadoc-plugin.) 128 --> 129 <arg>-sourcepath</arg> 130 <arg>doesnotexist</arg> 131 </compilerArgs> 132 </configuration> 133 </plugin> 134 <plugin> 135 <artifactId>maven-jar-plugin</artifactId> 136 <version>3.2.0</version> 137 </plugin> 138 <plugin> 139 <artifactId>maven-source-plugin</artifactId> 140 <version>${maven-source-plugin.version}</version> 141 <executions> 142 <execution> 143 <id>attach-sources</id> 144 <phase>post-integration-test</phase> 145 <goals><goal>jar</goal></goals> 146 </execution> 147 </executions> 148 </plugin> 149 <plugin> 150 <groupId>org.codehaus.mojo</groupId> 151 <artifactId>animal-sniffer-maven-plugin</artifactId> 152 <version>${animal.sniffer.version}</version> 153 <configuration> 154 <checkTestClasses>true</checkTestClasses> 155 <signature> 156 <groupId>org.codehaus.mojo.signature</groupId> 157 <artifactId>java16-sun</artifactId> 158 <version>1.10</version> 159 </signature> 160 <ignores> 161 <!-- Unsafe isn't part of the documented Java 6 API, but it is available. 162 And in cases where it's not, we have fallbacks. --> 163 <ignore>sun.misc.Unsafe</ignore> 164 </ignores> 165 </configuration> 166 <executions> 167 <execution> 168 <id>check-java-version-compatibility</id> 169 <phase>test</phase> 170 <goals> 171 <goal>check</goal> 172 </goals> 173 </execution> 174 </executions> 175 </plugin> 176 <plugin> 177 <artifactId>maven-javadoc-plugin</artifactId> 178 <version>${maven-javadoc-plugin.version}</version> 179 <configuration> 180 <quiet>true</quiet> 181 <notimestamp>true</notimestamp> 182 <encoding>UTF-8</encoding> 183 <docencoding>UTF-8</docencoding> 184 <charset>UTF-8</charset> 185 <additionalOptions> 186 <additionalOption>-XDignore.symbol.file</additionalOption> 187 <additionalOption>-Xdoclint:-html</additionalOption> 188 </additionalOptions> 189 <linksource>true</linksource> 190 <source>8</source> 191 </configuration> 192 <executions> 193 <execution> 194 <id>attach-docs</id> 195 <phase>post-integration-test</phase> 196 <goals><goal>jar</goal></goals> 197 </execution> 198 </executions> 199 </plugin> 200 <plugin> 201 <artifactId>maven-dependency-plugin</artifactId> 202 <version>3.1.1</version> 203 </plugin> 204 <plugin> 205 <artifactId>maven-antrun-plugin</artifactId> 206 <version>1.6</version> 207 </plugin> 208 <plugin> 209 <artifactId>maven-surefire-plugin</artifactId> 210 <version>2.7.2</version> 211 <configuration> 212 <includes> 213 <include>${test.include}</include> 214 </includes> 215 <!-- By having our own entries here, we also override the default exclusion filter, which excludes all nested classes. --> 216 <excludes> 217 <!-- https://github.com/google/guava/issues/2840 --> 218 <exclude>%regex[.*PackageSanityTests.*.class]</exclude> 219 <!-- FeatureUtilTest.*ExampleDerivedInterfaceTester, com.google.common.io.*Tester, incidentally FeatureSpecificTestSuiteBuilderTest.MyAbstractTester (but we don't care either way because it's not meant to run on its own but works OK if it does)... but not NullPointerTesterTest, etc. --> 220 <exclude>%regex[.*Tester.class]</exclude> 221 <!-- Anonymous TestCase subclasses in GeneratedMonitorTest --> 222 <exclude>%regex[.*[$]\d+.class]</exclude> 223 </excludes> 224 <redirectTestOutputToFile>true</redirectTestOutputToFile> 225 <runOrder>alphabetical</runOrder> 226 <!-- Set max heap for tests. --> 227 <!-- Catch dependencies on the default locale by setting it to hi-IN. --> 228 <argLine>-Xmx1536M -Duser.language=hi -Duser.country=IN</argLine> 229 </configuration> 230 </plugin> 231 <plugin> 232 <groupId>org.apache.maven.plugins</groupId> 233 <artifactId>maven-enforcer-plugin</artifactId> 234 <version>3.0.0-M3</version> 235 </plugin> 236 </plugins> 237 </pluginManagement> 238 </build> 239 <distributionManagement> 240 <snapshotRepository> 241 <id>sonatype-nexus-snapshots</id> 242 <name>Sonatype Nexus Snapshots</name> 243 <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 244 </snapshotRepository> 245 <repository> 246 <id>sonatype-nexus-staging</id> 247 <name>Nexus Release Repository</name> 248 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 249 </repository> 250 <site> 251 <id>guava-site</id> 252 <name>Guava Documentation Site</name> 253 <url>scp://dummy.server/dontinstall/usestaging</url> 254 </site> 255 </distributionManagement> 256 <dependencyManagement> 257 <dependencies> 258 <dependency> 259 <groupId>com.google.code.findbugs</groupId> 260 <artifactId>jsr305</artifactId> 261 <version>3.0.2</version> 262 </dependency> 263 <dependency> 264 <groupId>org.checkerframework</groupId> 265 <artifactId>checker-qual</artifactId> 266 <version>${checker-framework.version}</version> 267 </dependency> 268 <dependency> 269 <groupId>org.checkerframework</groupId> 270 <artifactId>checker-qual</artifactId> 271 <version>${checker-framework.version}</version> 272 <classifier>sources</classifier> 273 </dependency> 274 <!-- TODO(cpovirk): Remove checker-compat-qual after we finish migrating to type annotations. --> 275 <dependency> 276 <groupId>org.checkerframework</groupId> 277 <artifactId>checker-compat-qual</artifactId> 278 <version>2.5.5</version> 279 </dependency> 280 <dependency> 281 <groupId>com.google.errorprone</groupId> 282 <artifactId>error_prone_annotations</artifactId> 283 <version>2.7.1</version> 284 </dependency> 285 <dependency> 286 <groupId>com.google.j2objc</groupId> 287 <artifactId>j2objc-annotations</artifactId> 288 <version>1.3</version> 289 </dependency> 290 <dependency> 291 <groupId>junit</groupId> 292 <artifactId>junit</artifactId> 293 <version>4.13.2</version> 294 <scope>test</scope> 295 </dependency> 296 <dependency> 297 <groupId>org.easymock</groupId> 298 <artifactId>easymock</artifactId> 299 <version>4.3</version> 300 <scope>test</scope> 301 </dependency> 302 <dependency> 303 <groupId>org.mockito</groupId> 304 <artifactId>mockito-core</artifactId> 305 <version>3.9.0</version> 306 <scope>test</scope> 307 </dependency> 308 <dependency> 309 <groupId>com.google.jimfs</groupId> 310 <artifactId>jimfs</artifactId> 311 <version>1.2</version> 312 <scope>test</scope> 313 </dependency> 314 <dependency> 315 <groupId>com.google.truth</groupId> 316 <artifactId>truth</artifactId> 317 <version>${truth.version}</version> 318 <scope>test</scope> 319 <exclusions> 320 <exclusion> 321 <!-- use the guava we're building. --> 322 <groupId>com.google.guava</groupId> 323 <artifactId>guava</artifactId> 324 </exclusion> 325 </exclusions> 326 </dependency> 327 <dependency> 328 <groupId>com.google.caliper</groupId> 329 <artifactId>caliper</artifactId> 330 <version>1.0-beta-2</version> 331 <scope>test</scope> 332 <exclusions> 333 <exclusion> 334 <!-- use the guava we're building. --> 335 <groupId>com.google.guava</groupId> 336 <artifactId>guava</artifactId> 337 </exclusion> 338 </exclusions> 339 </dependency> 340 </dependencies> 341 </dependencyManagement> 342 <profiles> 343 <profile> 344 <id>sonatype-oss-release</id> 345 <build> 346 <plugins> 347 <plugin> 348 <groupId>org.apache.maven.plugins</groupId> 349 <artifactId>maven-source-plugin</artifactId> 350 <version>${maven-source-plugin.version}</version> 351 <executions> 352 <execution> 353 <id>attach-sources</id> 354 <goals> 355 <goal>jar-no-fork</goal> 356 </goals> 357 </execution> 358 </executions> 359 </plugin> 360 <plugin> 361 <groupId>org.apache.maven.plugins</groupId> 362 <artifactId>maven-javadoc-plugin</artifactId> 363 <version>${maven-javadoc-plugin.version}</version> 364 <executions> 365 <execution> 366 <id>attach-javadocs</id> 367 <goals> 368 <goal>jar</goal> 369 </goals> 370 </execution> 371 </executions> 372 </plugin> 373 <plugin> 374 <groupId>org.apache.maven.plugins</groupId> 375 <artifactId>maven-gpg-plugin</artifactId> 376 <version>1.6</version> 377 <executions> 378 <execution> 379 <id>sign-artifacts</id> 380 <phase>verify</phase> 381 <goals> 382 <goal>sign</goal> 383 </goals> 384 </execution> 385 </executions> 386 </plugin> 387 </plugins> 388 </build> 389 </profile> 390 </profiles> 391</project> 392