1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 Copyright 2020 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 19 xmlns="http://maven.apache.org/POM/4.0.0" 20 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 21 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 22 <modelVersion>4.0.0</modelVersion> 23 24 <groupId>com.google.turbine</groupId> 25 <artifactId>turbine</artifactId> 26 <version>HEAD-SNAPSHOT</version> 27 28 <name>turbine</name> 29 <description>turbine is a header compiler for Java</description> 30 <url>https://github.com/google/turbine</url> 31 32 <properties> 33 <asm.version>9.2</asm.version> 34 <guava.version>31.0.1-jre</guava.version> 35 <errorprone.version>2.11.0</errorprone.version> 36 <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version> 37 <maven-source-plugin.version>3.2.1</maven-source-plugin.version> 38 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 39 <protobuf.version>3.19.2</protobuf.version> 40 <grpc.version>1.43.2</grpc.version> 41 </properties> 42 43 <organization> 44 <name>Google Inc.</name> 45 <url>http://www.google.com/</url> 46 </organization> 47 48 <developers> 49 <developer> 50 <name>Liam Miller-Cushon</name> 51 </developer> 52 </developers> 53 54 <dependencies> 55 <dependency> 56 <groupId>com.google.guava</groupId> 57 <artifactId>guava</artifactId> 58 <version>${guava.version}</version> 59 </dependency> 60 <dependency> 61 <groupId>com.google.errorprone</groupId> 62 <artifactId>error_prone_annotations</artifactId> 63 <version>${errorprone.version}</version> 64 </dependency> 65 <dependency> 66 <groupId>org.jspecify</groupId> 67 <artifactId>jspecify</artifactId> 68 <version>0.2.0</version> 69 <optional>true</optional> 70 </dependency> 71 <dependency> 72 <groupId>com.google.protobuf</groupId> 73 <artifactId>protobuf-java</artifactId> 74 <version>${protobuf.version}</version> 75 </dependency> 76 <dependency> 77 <groupId>org.ow2.asm</groupId> 78 <artifactId>asm</artifactId> 79 <version>${asm.version}</version> 80 <scope>test</scope> 81 </dependency> 82 <dependency> 83 <groupId>org.ow2.asm</groupId> 84 <artifactId>asm-tree</artifactId> 85 <version>${asm.version}</version> 86 <scope>test</scope> 87 </dependency> 88 <dependency> 89 <groupId>org.ow2.asm</groupId> 90 <artifactId>asm-util</artifactId> 91 <version>${asm.version}</version> 92 <scope>test</scope> 93 </dependency> 94 <dependency> 95 <groupId>junit</groupId> 96 <artifactId>junit</artifactId> 97 <version>4.13.2</version> 98 <scope>test</scope> 99 </dependency> 100 <dependency> 101 <groupId>com.google.truth</groupId> 102 <artifactId>truth</artifactId> 103 <version>1.1.3</version> 104 <scope>test</scope> 105 </dependency> 106 <dependency> 107 <groupId>com.google.truth.extensions</groupId> 108 <artifactId>truth-proto-extension</artifactId> 109 <version>1.1.3</version> 110 <scope>test</scope> 111 </dependency> 112 <dependency> 113 <groupId>com.google.truth.extensions</groupId> 114 <artifactId>truth-java8-extension</artifactId> 115 <version>1.1.3</version> 116 <scope>test</scope> 117 </dependency> 118 <dependency> 119 <groupId>com.google.jimfs</groupId> 120 <artifactId>jimfs</artifactId> 121 <version>1.2</version> 122 <scope>test</scope> 123 </dependency> 124 <dependency> 125 <groupId>com.google.guava</groupId> 126 <artifactId>guava-testlib</artifactId> 127 <version>${guava.version}</version> 128 <scope>test</scope> 129 </dependency> 130 <dependency> 131 <groupId>com.google.auto.value</groupId> 132 <artifactId>auto-value-annotations</artifactId> 133 <version>1.9</version> 134 <scope>provided</scope> 135 </dependency> 136 <dependency> 137 <groupId>com.google.auto</groupId> 138 <artifactId>auto-common</artifactId> 139 <version>1.2.1</version> 140 <scope>test</scope> 141 </dependency> 142 </dependencies> 143 144 <build> 145 <sourceDirectory>java</sourceDirectory> 146 <testSourceDirectory>javatests</testSourceDirectory> 147 <testResources> 148 <testResource> 149 <directory>javatests</directory> 150 <includes> 151 <include>**/testdata/**</include> 152 <include>**/moduletestdata/**</include> 153 </includes> 154 </testResource> 155 </testResources> 156 <extensions> 157 <extension> 158 <groupId>kr.motd.maven</groupId> 159 <artifactId>os-maven-plugin</artifactId> 160 <version>1.7.0</version> 161 </extension> 162 </extensions> 163 <plugins> 164 <plugin> 165 <groupId>org.apache.maven.plugins</groupId> 166 <artifactId>maven-compiler-plugin</artifactId> 167 <version>3.9.0</version> 168 <configuration> 169 <source>8</source> 170 <target>8</target> 171 <encoding>UTF-8</encoding> 172 <compilerArgs> 173 <arg>-parameters</arg> 174 <arg>-XDcompilePolicy=simple</arg> 175 <arg>-Xplugin:ErrorProne</arg> 176 </compilerArgs> 177 <annotationProcessorPaths> 178 <path> 179 <groupId>com.google.errorprone</groupId> 180 <artifactId>error_prone_core</artifactId> 181 <version>${errorprone.version}</version> 182 </path> 183 <path> 184 <groupId>com.google.auto.value</groupId> 185 <artifactId>auto-value</artifactId> 186 <version>1.7.4</version> 187 </path> 188 </annotationProcessorPaths> 189 </configuration> 190 </plugin> 191 <plugin> 192 <groupId>org.xolstice.maven.plugins</groupId> 193 <artifactId>protobuf-maven-plugin</artifactId> 194 <version>0.6.1</version> 195 <configuration> 196 <protoSourceRoot>proto</protoSourceRoot> 197 <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> 198 <pluginId>grpc-java</pluginId> 199 <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact> 200 </configuration> 201 <executions> 202 <execution> 203 <goals> 204 <goal>compile</goal> 205 <goal>compile-custom</goal> 206 </goals> 207 </execution> 208 </executions> 209 </plugin> 210 <plugin> 211 <groupId>org.apache.maven.plugins</groupId> 212 <artifactId>maven-surefire-plugin</artifactId> 213 <version>2.22.2</version> 214 <configuration> 215 <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 --> 216 <argLine> 217 -Xmx2g 218 --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED 219 --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED 220 --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED 221 --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED 222 --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED 223 --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED 224 --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED 225 --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED 226 --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED 227 --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED 228 </argLine> 229 </configuration> 230 </plugin> 231 <plugin> 232 <groupId>org.apache.maven.plugins</groupId> 233 <artifactId>maven-shade-plugin</artifactId> 234 <version>3.2.4</version> 235 <executions> 236 <execution> 237 <id>shade-all-deps</id> 238 <phase>package</phase> 239 <goals> 240 <goal>shade</goal> 241 </goals> 242 <configuration> 243 <shadedArtifactAttached>true</shadedArtifactAttached> 244 <shadedClassifierName>all-deps</shadedClassifierName> 245 <createDependencyReducedPom>false</createDependencyReducedPom> 246 <!-- http://stackoverflow.com/a/6743609 --> 247 <filters> 248 <filter> 249 <artifact>*:*</artifact> 250 <excludes> 251 <exclude>META-INF/*.SF</exclude> 252 <exclude>META-INF/*.DSA</exclude> 253 <exclude>META-INF/*.RSA</exclude> 254 </excludes> 255 </filter> 256 </filters> 257 </configuration> 258 </execution> 259 </executions> 260 </plugin> 261 <plugin> 262 <groupId>org.apache.maven.plugins</groupId> 263 <artifactId>maven-javadoc-plugin</artifactId> 264 <version>3.3.1</version> 265 <configuration> 266 <source>8</source> 267 <detectJavaApiLink>false</detectJavaApiLink> 268 <notimestamp>true</notimestamp> 269 <doctitle>turbine ${project.version} API</doctitle> 270 </configuration> 271 </plugin> 272 </plugins> 273 </build> 274 275 <distributionManagement> 276 <snapshotRepository> 277 <id>sonatype-nexus-snapshots</id> 278 <name>Sonatype Nexus Snapshots</name> 279 <url>https://oss.sonatype.org/content/repositories/snapshots/</url> 280 </snapshotRepository> 281 <repository> 282 <id>sonatype-nexus-staging</id> 283 <name>Nexus Release Repository</name> 284 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> 285 </repository> 286 </distributionManagement> 287 288 <profiles> 289 <profile> 290 <id>sonatype-oss-release</id> 291 <build> 292 <plugins> 293 <plugin> 294 <groupId>org.apache.maven.plugins</groupId> 295 <artifactId>maven-source-plugin</artifactId> 296 <version>${maven-source-plugin.version}</version> 297 <executions> 298 <execution> 299 <id>attach-sources</id> 300 <goals> 301 <goal>jar-no-fork</goal> 302 </goals> 303 </execution> 304 </executions> 305 </plugin> 306 <plugin> 307 <groupId>org.apache.maven.plugins</groupId> 308 <artifactId>maven-javadoc-plugin</artifactId> 309 <version>${maven-javadoc-plugin.version}</version> 310 <executions> 311 <execution> 312 <id>attach-javadocs</id> 313 <goals> 314 <goal>jar</goal> 315 </goals> 316 </execution> 317 </executions> 318 </plugin> 319 <plugin> 320 <groupId>org.apache.maven.plugins</groupId> 321 <artifactId>maven-gpg-plugin</artifactId> 322 <version>3.0.1</version> 323 <executions> 324 <execution> 325 <id>sign-artifacts</id> 326 <phase>verify</phase> 327 <goals> 328 <goal>sign</goal> 329 </goals> 330 </execution> 331 </executions> 332 </plugin> 333 </plugins> 334 </build> 335 </profile> 336 </profiles> 337</project> 338