• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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