xref: /aosp_15_r20/external/jimfs/pom.xml (revision 0706980374fc98e4af7ec8a17362c33fb688fed8)
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3  ~ Copyright 2013 Google Inc.
4  ~
5  ~ Licensed under the Apache License, Version 2.0 (the "License");
6  ~ you may not use this file except in compliance with the License.
7  ~ You may obtain a copy of the License at
8  ~
9  ~     http://www.apache.org/licenses/LICENSE-2.0
10  ~
11  ~ Unless required by applicable law or agreed to in writing, software
12  ~ distributed under the License is distributed on an "AS IS" BASIS,
13  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  ~ See the License for the specific language governing permissions and
15  ~ limitations under the License.
16  -->
17
18<project xmlns="http://maven.apache.org/POM/4.0.0"
19         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
20         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
21  <modelVersion>4.0.0</modelVersion>
22
23  <groupId>com.google.jimfs</groupId>
24  <artifactId>jimfs-parent</artifactId>
25  <packaging>pom</packaging>
26  <version>HEAD-SNAPSHOT</version>
27
28  <modules>
29    <module>jimfs</module>
30  </modules>
31
32  <name>Jimfs Parent</name>
33
34  <description>
35    Jimfs is an in-memory implementation of Java 7's java.nio.file abstract file system API.
36  </description>
37
38  <url>https://github.com/google/jimfs</url>
39
40  <inceptionYear>2013</inceptionYear>
41
42  <organization>
43    <name>Google Inc.</name>
44    <url>http://www.google.com/</url>
45  </organization>
46
47  <licenses>
48    <license>
49      <name>The Apache Software License, Version 2.0</name>
50      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
51      <distribution>repo</distribution>
52    </license>
53  </licenses>
54
55  <developers>
56    <developer>
57      <id>cgdecker</id>
58      <name>Colin Decker</name>
59      <email>[email protected]</email>
60      <organization>Google Inc.</organization>
61      <organizationUrl>http://www.google.com/</organizationUrl>
62      <roles>
63        <role>owner</role>
64        <role>developer</role>
65      </roles>
66      <timezone>-5</timezone>
67    </developer>
68  </developers>
69
70  <scm>
71    <url>http://github.com/google/jimfs/</url>
72    <connection>scm:git:git://github.com/google/jimfs.git</connection>
73    <developerConnection>scm:git:ssh://[email protected]/google/jimfs.git</developerConnection>
74    <tag>HEAD</tag>
75  </scm>
76
77  <issueManagement>
78    <system>GitHub Issues</system>
79    <url>http://github.com/google/jimfs/issues</url>
80  </issueManagement>
81
82  <distributionManagement>
83    <snapshotRepository>
84      <id>sonatype-nexus-snapshots</id>
85      <name>Sonatype Nexus Snapshots</name>
86      <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
87    </snapshotRepository>
88    <repository>
89      <id>sonatype-nexus-staging</id>
90      <name>Nexus Release Repository</name>
91      <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
92    </repository>
93  </distributionManagement>
94
95  <properties>
96    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
97    <auto-service.version>1.0-rc7</auto-service.version>
98    <java.version>1.7</java.version>
99    <guava.version>30.1-android</guava.version>
100    <!--
101      NOTE: When updating errorprone.version, also update javac.version to the
102      version used by the new error-prone version. You should be able to find
103      it in the properties section of
104      https://github.com/google/error-prone/blob/v${errorprone.version}/pom.xml
105      -->
106    <errorprone.version>2.4.0</errorprone.version>
107    <javac.version>9+181-r4173-1</javac.version>
108  </properties>
109
110  <dependencyManagement>
111    <dependencies>
112      <!-- Required runtime dependencies -->
113      <dependency>
114        <groupId>com.google.guava</groupId>
115        <artifactId>guava</artifactId>
116        <version>${guava.version}</version>
117      </dependency>
118
119      <!-- Optional runtime dependencies -->
120      <dependency>
121        <groupId>com.ibm.icu</groupId>
122        <artifactId>icu4j</artifactId>
123        <version>68.2</version>
124      </dependency>
125
126      <!-- Compile-time dependencies -->
127      <dependency>
128        <groupId>com.google.auto.service</groupId>
129        <artifactId>auto-service-annotations</artifactId>
130        <version>${auto-service.version}</version>
131      </dependency>
132      <dependency>
133        <groupId>com.google.code.findbugs</groupId>
134        <artifactId>jsr305</artifactId>
135        <version>3.0.2</version>
136      </dependency>
137      <dependency>
138        <groupId>org.checkerframework</groupId>
139        <artifactId>checker-compat-qual</artifactId>
140        <version>2.5.5</version>
141      </dependency>
142
143      <!-- Test dependencies -->
144      <dependency>
145        <groupId>junit</groupId>
146        <artifactId>junit</artifactId>
147        <version>4.13.1</version>
148        <scope>test</scope>
149      </dependency>
150      <dependency>
151        <groupId>com.google.guava</groupId>
152        <artifactId>guava-testlib</artifactId>
153        <version>${guava.version}</version>
154        <scope>test</scope>
155      </dependency>
156      <dependency>
157        <groupId>com.google.truth</groupId>
158        <artifactId>truth</artifactId>
159        <version>1.1</version>
160        <scope>test</scope>
161      </dependency>
162    </dependencies>
163  </dependencyManagement>
164
165  <build>
166    <pluginManagement>
167      <plugins>
168        <plugin>
169          <artifactId>maven-compiler-plugin</artifactId>
170          <version>3.8.1</version>
171        </plugin>
172        <plugin>
173          <artifactId>maven-source-plugin</artifactId>
174          <version>3.2.1</version>
175        </plugin>
176        <plugin>
177          <artifactId>maven-javadoc-plugin</artifactId>
178          <version>3.2.0</version>
179          <configuration>
180            <debug>true</debug>
181            <encoding>UTF-8</encoding>
182            <docencoding>UTF-8</docencoding>
183            <charset>UTF-8</charset>
184            <detectJavaApiLink>false</detectJavaApiLink>
185            <links>
186              <link>https://checkerframework.org/api/</link>
187              <link>https://guava.dev/releases/${guava.version}/api/docs/</link>
188              <link>https://unicode-org.github.io/icu-docs/apidoc/released/icu4j</link>
189              <!-- When building against Java 8, the Java 11 link below is overridden to point to an older version (Java 9, the newest one that works). -->
190              <link>https://docs.oracle.com/en/java/javase/11/docs/api/</link>
191            </links>
192          </configuration>
193        </plugin>
194        <plugin>
195          <artifactId>maven-gpg-plugin</artifactId>
196          <version>1.6</version>
197        </plugin>
198        <plugin>
199          <artifactId>maven-surefire-plugin</artifactId>
200          <version>3.0.0-M5</version>
201        </plugin>
202        <plugin>
203          <groupId>org.apache.felix</groupId>
204          <artifactId>maven-bundle-plugin</artifactId>
205          <version>5.1.1</version>
206        </plugin>
207      </plugins>
208    </pluginManagement>
209
210    <plugins>
211      <plugin>
212        <artifactId>maven-compiler-plugin</artifactId>
213        <configuration>
214          <source>${java.version}</source>
215          <target>${java.version}</target>
216          <compilerArgs>
217            <arg>-XDcompilePolicy=simple</arg>
218            <arg>-Xplugin:ErrorProne</arg>
219          </compilerArgs>
220          <annotationProcessorPaths>
221            <path>
222              <groupId>com.google.errorprone</groupId>
223              <artifactId>error_prone_core</artifactId>
224              <version>${errorprone.version}</version>
225            </path>
226            <path>
227              <groupId>com.google.guava</groupId>
228              <artifactId>guava-beta-checker</artifactId>
229              <version>1.0</version>
230            </path>
231            <path>
232              <groupId>com.google.auto.service</groupId>
233              <artifactId>auto-service</artifactId>
234              <version>${auto-service.version}</version>
235            </path>
236          </annotationProcessorPaths>
237        </configuration>
238        <executions>
239          <execution>
240            <id>default-testCompile</id>
241            <phase>test-compile</phase>
242            <goals>
243              <goal>testCompile</goal>
244            </goals>
245            <configuration>
246              <compilerArgs>
247                <arg>-XDcompilePolicy=simple</arg>
248                <arg>-Xplugin:ErrorProne -Xep:BetaApi:OFF</arg> <!-- Disable Beta Checker for tests -->
249              </compilerArgs>
250            </configuration>
251          </execution>
252        </executions>
253      </plugin>
254    </plugins>
255  </build>
256
257  <profiles>
258    <profile>
259      <id>jdk8plus</id>
260      <activation>
261        <jdk>[1.8,)</jdk>
262      </activation>
263      <!-- Disable HTML checking in doclint under JDK 8 and higher -->
264      <reporting>
265        <plugins>
266          <plugin>
267            <artifactId>maven-javadoc-plugin</artifactId>
268            <configuration>
269              <additionalOptions>
270                <additionalOption>-Xdoclint:none</additionalOption>
271              </additionalOptions>
272            </configuration>
273          </plugin>
274        </plugins>
275      </reporting>
276      <build>
277        <plugins>
278          <plugin>
279            <artifactId>maven-javadoc-plugin</artifactId>
280            <configuration>
281              <additionalOptions>
282                <additionalOption>-Xdoclint:none</additionalOption>
283              </additionalOptions>
284            </configuration>
285          </plugin>
286        </plugins>
287      </build>
288    </profile>
289
290    <!-- https://errorprone.info/docs/installation#maven -->
291    <!-- using github.com/google/error-prone-javac is required when running on JDK 8 -->
292    <profile>
293      <id>jdk8exactly</id>
294      <activation>
295        <jdk>1.8</jdk>
296      </activation>
297      <reporting>
298        <plugins>
299          <plugin>
300            <artifactId>maven-javadoc-plugin</artifactId>
301            <configuration>
302              <links>
303                <link>https://checkerframework.org/api/</link>
304                <link>https://guava.dev/releases/${guava.version}/api/docs/</link>
305                <link>https://unicode-org.github.io/icu-docs/apidoc/released/icu4j</link>
306                <link>https://docs.oracle.com/javase/9/docs/api/</link>
307              </links>
308            </configuration>
309          </plugin>
310        </plugins>
311      </reporting>
312      <build>
313        <plugins>
314          <!-- https://errorprone.info/docs/installation#maven -->
315          <!-- using github.com/google/error-prone-javac is required when running on JDK 8 -->
316          <plugin>
317            <groupId>org.apache.maven.plugins</groupId>
318            <artifactId>maven-compiler-plugin</artifactId>
319            <configuration>
320              <fork>true</fork>
321              <compilerArgs combine.children="append">
322                <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
323              </compilerArgs>
324            </configuration>
325          </plugin>
326
327          <plugin>
328            <artifactId>maven-javadoc-plugin</artifactId>
329            <configuration>
330              <links>
331                <link>https://checkerframework.org/api/</link>
332                <link>https://guava.dev/releases/${guava.version}/api/docs/</link>
333                <link>https://unicode-org.github.io/icu-docs/apidoc/released/icu4j</link>
334                <link>https://docs.oracle.com/javase/9/docs/api/</link>
335              </links>
336            </configuration>
337          </plugin>
338        </plugins>
339      </build>
340    </profile>
341    <profile>
342      <id>sonatype-oss-release</id>
343      <build>
344        <plugins>
345          <plugin>
346            <groupId>org.apache.maven.plugins</groupId>
347            <artifactId>maven-source-plugin</artifactId>
348            <executions>
349              <execution>
350                <id>attach-sources</id>
351                <goals>
352                  <goal>jar-no-fork</goal>
353                </goals>
354              </execution>
355            </executions>
356          </plugin>
357          <plugin>
358            <groupId>org.apache.maven.plugins</groupId>
359            <artifactId>maven-javadoc-plugin</artifactId>
360            <executions>
361              <execution>
362                <id>attach-javadocs</id>
363                <goals>
364                  <goal>jar</goal>
365                </goals>
366              </execution>
367            </executions>
368          </plugin>
369          <plugin>
370            <groupId>org.apache.maven.plugins</groupId>
371            <artifactId>maven-gpg-plugin</artifactId>
372            <executions>
373              <execution>
374                <id>sign-artifacts</id>
375                <phase>verify</phase>
376                <goals>
377                  <goal>sign</goal>
378                </goals>
379              </execution>
380            </executions>
381          </plugin>
382        </plugins>
383      </build>
384    </profile>
385  </profiles>
386
387</project>
388