• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  <parent>
23    <groupId>org.sonatype.oss</groupId>
24    <artifactId>oss-parent</artifactId>
25    <version>7</version>
26  </parent>
27
28  <groupId>com.google.jimfs</groupId>
29  <artifactId>jimfs-parent</artifactId>
30  <packaging>pom</packaging>
31  <version>HEAD-SNAPSHOT</version>
32
33  <modules>
34    <module>jimfs</module>
35  </modules>
36
37  <name>Jimfs Parent</name>
38
39  <description>
40    Jimfs is an in-memory implementation of Java 7's java.nio.file abstract file system API.
41  </description>
42
43  <url>https://github.com/google/jimfs</url>
44
45  <inceptionYear>2013</inceptionYear>
46
47  <organization>
48    <name>Google Inc.</name>
49    <url>http://www.google.com/</url>
50  </organization>
51
52  <licenses>
53    <license>
54      <name>The Apache Software License, Version 2.0</name>
55      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
56      <distribution>repo</distribution>
57    </license>
58  </licenses>
59
60  <developers>
61    <developer>
62      <id>cgdecker</id>
63      <name>Colin Decker</name>
64      <email>cgdecker@google.com</email>
65      <organization>Google Inc.</organization>
66      <organizationUrl>http://www.google.com/</organizationUrl>
67      <roles>
68        <role>owner</role>
69        <role>developer</role>
70      </roles>
71      <timezone>-5</timezone>
72    </developer>
73  </developers>
74
75  <scm>
76    <url>http://github.com/google/jimfs/</url>
77    <connection>scm:git:git://github.com/google/jimfs.git</connection>
78    <developerConnection>scm:git:ssh://git@github.com/google/jimfs.git</developerConnection>
79    <tag>HEAD</tag>
80  </scm>
81
82  <issueManagement>
83    <system>GitHub Issues</system>
84    <url>http://github.com/google/jimfs/issues</url>
85  </issueManagement>
86
87  <properties>
88    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
89    <auto-service.version>1.0-rc6</auto-service.version>
90    <java.version>1.7</java.version>
91    <guava.version>27.0.1-android</guava.version>
92    <surefire.version>3.0.0-M3</surefire.version>
93    <!--
94      NOTE: When updating errorprone.version, also update javac.version to the
95      version used by the new error-prone version. You should be able to find
96      it in the properties section of
97      https://github.com/google/error-prone/blob/v${errorprone.version}/pom.xml
98      -->
99    <errorprone.version>2.3.3</errorprone.version>
100    <javac.version>9+181-r4173-1</javac.version>
101  </properties>
102
103  <dependencyManagement>
104    <dependencies>
105      <!-- Required runtime dependencies -->
106      <dependency>
107        <groupId>com.google.guava</groupId>
108        <artifactId>guava</artifactId>
109        <version>${guava.version}</version>
110      </dependency>
111
112      <!-- Optional runtime dependencies -->
113      <dependency>
114        <groupId>com.ibm.icu</groupId>
115        <artifactId>icu4j</artifactId>
116        <version>65.1</version>
117      </dependency>
118
119      <!-- Compile-time dependencies -->
120      <dependency>
121        <groupId>com.google.auto.service</groupId>
122        <artifactId>auto-service-annotations</artifactId>
123        <version>${auto-service.version}</version>
124      </dependency>
125      <dependency>
126        <groupId>com.google.code.findbugs</groupId>
127        <artifactId>jsr305</artifactId>
128        <version>3.0.2</version>
129      </dependency>
130      <dependency>
131        <groupId>org.checkerframework</groupId>
132        <artifactId>checker-compat-qual</artifactId>
133        <version>2.5.5</version>
134      </dependency>
135
136      <!-- Test dependencies -->
137      <dependency>
138        <groupId>junit</groupId>
139        <artifactId>junit</artifactId>
140        <version>4.12</version>
141        <scope>test</scope>
142      </dependency>
143      <dependency>
144        <groupId>com.google.guava</groupId>
145        <artifactId>guava-testlib</artifactId>
146        <version>${guava.version}</version>
147        <scope>test</scope>
148      </dependency>
149      <dependency>
150        <groupId>com.google.truth</groupId>
151        <artifactId>truth</artifactId>
152        <version>0.45</version>
153        <scope>test</scope>
154      </dependency>
155    </dependencies>
156  </dependencyManagement>
157
158  <build>
159    <pluginManagement>
160      <plugins>
161        <plugin>
162          <artifactId>maven-compiler-plugin</artifactId>
163          <version>3.8.1</version>
164        </plugin>
165        <plugin>
166          <artifactId>maven-source-plugin</artifactId>
167          <version>3.0.1</version>
168        </plugin>
169        <plugin>
170          <artifactId>maven-javadoc-plugin</artifactId>
171          <version>3.1.1</version>
172          <configuration>
173            <debug>true</debug>
174            <encoding>UTF-8</encoding>
175            <docencoding>UTF-8</docencoding>
176            <charset>UTF-8</charset>
177            <detectJavaApiLink>false</detectJavaApiLink>
178            <links>
179              <link>https://checkerframework.org/api/</link>
180              <link>https://guava.dev/releases/${guava.version}/api/docs/</link>
181              <link>https://unicode-org.github.io/icu-docs/apidoc/released/icu4j</link>
182              <!-- 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). -->
183              <link>https://docs.oracle.com/en/java/javase/11/docs/api/</link>
184            </links>
185          </configuration>
186        </plugin>
187        <plugin>
188          <artifactId>maven-gpg-plugin</artifactId>
189          <version>1.6</version>
190        </plugin>
191        <plugin>
192          <artifactId>maven-surefire-plugin</artifactId>
193          <version>${surefire.version}</version>
194          <!-- For some reason, we need this for our internal tests that run in offline mode: -->
195          <dependencies>
196            <dependency>
197              <groupId>org.apache.maven.surefire</groupId>
198              <artifactId>surefire-junit4</artifactId>
199              <version>${surefire.version}</version>
200            </dependency>
201          </dependencies>
202        </plugin>
203        <plugin>
204          <groupId>org.apache.felix</groupId>
205          <artifactId>maven-bundle-plugin</artifactId>
206          <version>3.5.0</version>
207        </plugin>
208      </plugins>
209    </pluginManagement>
210
211    <plugins>
212      <plugin>
213        <artifactId>maven-compiler-plugin</artifactId>
214        <configuration>
215          <source>${java.version}</source>
216          <target>${java.version}</target>
217          <compilerArgs>
218            <arg>-XDcompilePolicy=simple</arg>
219            <arg>-Xplugin:ErrorProne</arg>
220          </compilerArgs>
221          <annotationProcessorPaths>
222            <path>
223              <groupId>com.google.errorprone</groupId>
224              <artifactId>error_prone_core</artifactId>
225              <version>${errorprone.version}</version>
226            </path>
227            <path>
228              <groupId>com.google.guava</groupId>
229              <artifactId>guava-beta-checker</artifactId>
230              <version>1.0</version>
231            </path>
232            <path>
233              <groupId>com.google.auto.service</groupId>
234              <artifactId>auto-service</artifactId>
235              <version>${auto-service.version}</version>
236            </path>
237          </annotationProcessorPaths>
238        </configuration>
239        <executions>
240          <execution>
241            <id>default-testCompile</id>
242            <phase>test-compile</phase>
243            <goals>
244              <goal>testCompile</goal>
245            </goals>
246            <configuration>
247              <compilerArgs>
248                <arg>-XDcompilePolicy=simple</arg>
249                <arg>-Xplugin:ErrorProne -Xep:BetaApi:OFF</arg> <!-- Disable Beta Checker for tests -->
250              </compilerArgs>
251            </configuration>
252          </execution>
253        </executions>
254      </plugin>
255    </plugins>
256  </build>
257
258  <profiles>
259    <profile>
260      <id>jdk8plus</id>
261      <activation>
262        <jdk>[1.8,)</jdk>
263      </activation>
264      <!-- Disable HTML checking in doclint under JDK 8 and higher -->
265      <reporting>
266        <plugins>
267          <plugin>
268            <artifactId>maven-javadoc-plugin</artifactId>
269            <configuration>
270              <additionalOptions>
271                <additionalOption>-Xdoclint:none</additionalOption>
272              </additionalOptions>
273            </configuration>
274          </plugin>
275        </plugins>
276      </reporting>
277      <build>
278        <plugins>
279          <plugin>
280            <artifactId>maven-javadoc-plugin</artifactId>
281            <configuration>
282              <additionalOptions>
283                <additionalOption>-Xdoclint:none</additionalOption>
284              </additionalOptions>
285            </configuration>
286          </plugin>
287        </plugins>
288      </build>
289    </profile>
290
291    <!-- https://errorprone.info/docs/installation#maven -->
292    <!-- using github.com/google/error-prone-javac is required when running on JDK 8 -->
293    <profile>
294      <id>jdk8exactly</id>
295      <activation>
296        <jdk>1.8</jdk>
297      </activation>
298      <reporting>
299        <plugins>
300          <plugin>
301            <artifactId>maven-javadoc-plugin</artifactId>
302            <configuration>
303              <links>
304                <link>https://checkerframework.org/api/</link>
305                <link>https://guava.dev/releases/${guava.version}/api/docs/</link>
306                <link>https://unicode-org.github.io/icu-docs/apidoc/released/icu4j</link>
307                <link>https://docs.oracle.com/javase/9/docs/api/</link>
308              </links>
309            </configuration>
310          </plugin>
311        </plugins>
312      </reporting>
313      <build>
314        <plugins>
315          <!-- https://errorprone.info/docs/installation#maven -->
316          <!-- using github.com/google/error-prone-javac is required when running on JDK 8 -->
317          <plugin>
318            <groupId>org.apache.maven.plugins</groupId>
319            <artifactId>maven-compiler-plugin</artifactId>
320            <configuration>
321              <fork>true</fork>
322              <compilerArgs combine.children="append">
323                <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
324              </compilerArgs>
325            </configuration>
326          </plugin>
327
328          <plugin>
329            <artifactId>maven-javadoc-plugin</artifactId>
330            <configuration>
331              <links>
332                <link>https://checkerframework.org/api/</link>
333                <link>https://guava.dev/releases/${guava.version}/api/docs/</link>
334                <link>https://unicode-org.github.io/icu-docs/apidoc/released/icu4j</link>
335                <link>https://docs.oracle.com/javase/9/docs/api/</link>
336              </links>
337            </configuration>
338          </plugin>
339        </plugins>
340      </build>
341    </profile>
342  </profiles>
343
344</project>
345