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