blob: 6b2b1f8cbe05ebb8bcc19d5c3236556224c0c675 [file] [log] [blame]
cushonc5ee8762016-08-23 14:17:08 -07001<?xml version="1.0" encoding="UTF-8"?>
Eddie Aftandilian078b0d52020-07-13 17:43:46 -07002<!--
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
cushonc5ee8762016-08-23 14:17:08 -070018<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>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080026 <version>HEAD-SNAPSHOT</version>
cushonc5ee8762016-08-23 14:17:08 -070027
28 <name>turbine</name>
Liam Miller-Cushondd5dfec2021-07-21 19:11:11 -070029 <description>turbine is a header compiler for Java</description>
30 <url>https://github.com/google/turbine</url>
cushonc5ee8762016-08-23 14:17:08 -070031
cushon42a8f882016-12-07 11:54:56 -080032 <properties>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070033 <asm.version>9.1</asm.version>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070034 <javac.version>9+181-r4173-1</javac.version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080035 <guava.version>30.0-jre</guava.version>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070036 <errorprone.version>2.7.1</errorprone.version>
Liam Miller-Cushon3d2be5e2021-06-21 17:16:23 -070037 <maven-javadoc-plugin.version>3.1.0</maven-javadoc-plugin.version>
38 <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
Liam Miller-Cushon7a5c4162020-12-10 21:41:59 -080039 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
cushon42a8f882016-12-07 11:54:56 -080040 </properties>
41
Liam Miller-Cushondd5dfec2021-07-21 19:11:11 -070042 <organization>
43 <name>Google Inc.</name>
44 <url>http://www.google.com/</url>
45 </organization>
46
47 <developers>
48 <developer>
49 <name>Liam Miller-Cushon</name>
50 </developer>
51 </developers>
52
cushonc5ee8762016-08-23 14:17:08 -070053 <dependencies>
54 <dependency>
55 <groupId>com.google.guava</groupId>
56 <artifactId>guava</artifactId>
cushon78670132018-10-21 15:10:51 -070057 <version>${guava.version}</version>
cushonc5ee8762016-08-23 14:17:08 -070058 </dependency>
59 <dependency>
cushonf0e97442016-09-14 10:48:35 -070060 <groupId>com.google.errorprone</groupId>
61 <artifactId>error_prone_annotations</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070062 <version>${errorprone.version}</version>
cushond0fcced2018-04-09 22:38:11 -070063 </dependency>
64 <dependency>
Liam Miller-Cushon7903a852021-09-16 17:53:37 -070065 <groupId>org.jspecify</groupId>
66 <artifactId>jspecify</artifactId>
67 <version>0.2.0</version>
cushond0fcced2018-04-09 22:38:11 -070068 <optional>true</optional>
cushonf0e97442016-09-14 10:48:35 -070069 </dependency>
70 <dependency>
cushon667facf2016-10-20 14:07:39 -070071 <groupId>com.google.protobuf</groupId>
72 <artifactId>protobuf-java</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080073 <version>3.10.0</version>
cushon667facf2016-10-20 14:07:39 -070074 </dependency>
75 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070076 <groupId>org.ow2.asm</groupId>
cushon3d542b82017-11-29 22:26:07 -080077 <artifactId>asm</artifactId>
78 <version>${asm.version}</version>
79 <scope>test</scope>
80 </dependency>
81 <dependency>
82 <groupId>org.ow2.asm</groupId>
83 <artifactId>asm-tree</artifactId>
84 <version>${asm.version}</version>
85 <scope>test</scope>
86 </dependency>
87 <dependency>
88 <groupId>org.ow2.asm</groupId>
89 <artifactId>asm-util</artifactId>
90 <version>${asm.version}</version>
cushon783f80f2016-09-19 14:52:44 -070091 <scope>test</scope>
92 </dependency>
93 <dependency>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070094 <groupId>com.google.errorprone</groupId>
95 <artifactId>javac</artifactId>
96 <version>${javac.version}</version>
97 <scope>test</scope>
98 </dependency>
99 <dependency>
cushonc5ee8762016-08-23 14:17:08 -0700100 <groupId>junit</groupId>
101 <artifactId>junit</artifactId>
Liam Miller-Cushon7e581be2020-10-13 15:20:33 -0700102 <version>4.13.1</version>
cushonc5ee8762016-08-23 14:17:08 -0700103 <scope>test</scope>
104 </dependency>
105 <dependency>
106 <groupId>com.google.truth</groupId>
107 <artifactId>truth</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800108 <version>1.1</version>
cushon0db7a282019-08-12 10:37:45 -0700109 <scope>test</scope>
110 </dependency>
111 <dependency>
112 <groupId>com.google.truth.extensions</groupId>
113 <artifactId>truth-proto-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800114 <version>1.1</version>
cushon8eab64c2018-08-24 09:56:22 -0700115 <scope>test</scope>
116 </dependency>
117 <dependency>
118 <groupId>com.google.truth.extensions</groupId>
119 <artifactId>truth-java8-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800120 <version>1.1</version>
cushonc5ee8762016-08-23 14:17:08 -0700121 <scope>test</scope>
122 </dependency>
123 <dependency>
124 <groupId>com.google.jimfs</groupId>
125 <artifactId>jimfs</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800126 <version>1.2</version>
cushonc5ee8762016-08-23 14:17:08 -0700127 <scope>test</scope>
128 </dependency>
cushon78670132018-10-21 15:10:51 -0700129 <dependency>
130 <groupId>com.google.guava</groupId>
131 <artifactId>guava-testlib</artifactId>
132 <version>${guava.version}</version>
133 <scope>test</scope>
134 </dependency>
cushon39454052018-10-23 13:45:50 -0700135 <dependency>
136 <groupId>com.google.auto.value</groupId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800137 <artifactId>auto-value-annotations</artifactId>
138 <version>1.7.4</version>
cushon39454052018-10-23 13:45:50 -0700139 <scope>provided</scope>
140 </dependency>
Liam Miller-Cushonb02c9b72021-08-19 17:08:08 -0700141 <dependency>
142 <groupId>com.google.auto</groupId>
143 <artifactId>auto-common</artifactId>
144 <version>1.1.2</version>
145 <scope>test</scope>
146 </dependency>
cushonc5ee8762016-08-23 14:17:08 -0700147 </dependencies>
148
149 <build>
150 <sourceDirectory>java</sourceDirectory>
151 <testSourceDirectory>javatests</testSourceDirectory>
152 <testResources>
153 <testResource>
154 <directory>javatests</directory>
155 <includes>
156 <include>**/testdata/**</include>
cushon97f83722018-08-02 10:19:44 -0700157 <include>**/moduletestdata/**</include>
cushonc5ee8762016-08-23 14:17:08 -0700158 </includes>
159 </testResource>
160 </testResources>
cushon667facf2016-10-20 14:07:39 -0700161 <extensions>
162 <extension>
163 <groupId>kr.motd.maven</groupId>
164 <artifactId>os-maven-plugin</artifactId>
cushone75cc322016-10-21 11:49:46 -0700165 <version>1.4.0.Final</version>
cushon667facf2016-10-20 14:07:39 -0700166 </extension>
167 </extensions>
cushonc5ee8762016-08-23 14:17:08 -0700168 <plugins>
169 <plugin>
170 <groupId>org.apache.maven.plugins</groupId>
171 <artifactId>maven-compiler-plugin</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800172 <version>3.8.0</version>
cushonc5ee8762016-08-23 14:17:08 -0700173 <configuration>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800174 <source>8</source>
175 <target>8</target>
cushonc5ee8762016-08-23 14:17:08 -0700176 <encoding>UTF-8</encoding>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800177 <fork>true</fork>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800178 <compilerArgs>
179 <arg>-parameters</arg>
180 <arg>-XDcompilePolicy=simple</arg>
181 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800182 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
183 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
184 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
185 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
186 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
187 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
188 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
189 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
190 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800191 </compilerArgs>
192 <annotationProcessorPaths>
193 <path>
194 <groupId>com.google.errorprone</groupId>
195 <artifactId>error_prone_core</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -0700196 <version>${errorprone.version}</version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800197 </path>
198 <path>
199 <groupId>com.google.auto.value</groupId>
200 <artifactId>auto-value</artifactId>
201 <version>1.7.4</version>
202 </path>
203 </annotationProcessorPaths>
cushonc5ee8762016-08-23 14:17:08 -0700204 </configuration>
205 </plugin>
cushon667facf2016-10-20 14:07:39 -0700206 <plugin>
207 <groupId>org.xolstice.maven.plugins</groupId>
208 <artifactId>protobuf-maven-plugin</artifactId>
209 <version>0.5.0</version>
210 <configuration>
211 <protoSourceRoot>proto</protoSourceRoot>
cushone75cc322016-10-21 11:49:46 -0700212 <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
cushon667facf2016-10-20 14:07:39 -0700213 <pluginId>grpc-java</pluginId>
214 <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
215 </configuration>
216 <executions>
217 <execution>
218 <goals>
219 <goal>compile</goal>
220 <goal>compile-custom</goal>
221 </goals>
222 </execution>
223 </executions>
224 </plugin>
cushon42a8f882016-12-07 11:54:56 -0800225 <plugin>
226 <groupId>org.apache.maven.plugins</groupId>
227 <artifactId>maven-surefire-plugin</artifactId>
228 <version>2.19.1</version>
229 <configuration>
Liam Miller-Cushon6067ffe2017-01-21 01:01:11 -0800230 <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
Liam Miller-Cushon5973e512021-06-15 18:02:41 -0700231 <argLine>
232 -Xmx2g
233 --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
234 --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
235 --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
236 --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
237 --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
238 --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
239 --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
240 --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
241 --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
242 --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
243 </argLine>
cushon42a8f882016-12-07 11:54:56 -0800244 </configuration>
245 </plugin>
Liam Miller-Cushone098b2a2018-09-09 17:14:19 -0700246 <plugin>
247 <groupId>org.apache.maven.plugins</groupId>
248 <artifactId>maven-shade-plugin</artifactId>
249 <version>2.4.3</version>
250 <executions>
251 <execution>
252 <id>shade-all-deps</id>
253 <phase>package</phase>
254 <goals>
255 <goal>shade</goal>
256 </goals>
257 <configuration>
258 <shadedArtifactAttached>true</shadedArtifactAttached>
259 <shadedClassifierName>all-deps</shadedClassifierName>
260 <createDependencyReducedPom>false</createDependencyReducedPom>
261 <!-- http://stackoverflow.com/a/6743609 -->
262 <filters>
263 <filter>
264 <artifact>*:*</artifact>
265 <excludes>
266 <exclude>META-INF/*.SF</exclude>
267 <exclude>META-INF/*.DSA</exclude>
268 <exclude>META-INF/*.RSA</exclude>
269 </excludes>
270 </filter>
271 </filters>
272 </configuration>
273 </execution>
274 </executions>
275 </plugin>
Liam Miller-Cushonf4d084a2021-06-15 19:16:54 -0700276 <plugin>
277 <groupId>org.apache.maven.plugins</groupId>
278 <artifactId>maven-javadoc-plugin</artifactId>
279 <version>3.1.1</version>
280 <configuration>
281 <source>8</source>
282 <detectJavaApiLink>false</detectJavaApiLink>
283 <notimestamp>true</notimestamp>
284 <doctitle>turbine ${project.version} API</doctitle>
285 </configuration>
286 </plugin>
cushonc5ee8762016-08-23 14:17:08 -0700287 </plugins>
288 </build>
Liam Miller-Cushon3d2be5e2021-06-21 17:16:23 -0700289
290 <distributionManagement>
291 <snapshotRepository>
292 <id>sonatype-nexus-snapshots</id>
293 <name>Sonatype Nexus Snapshots</name>
294 <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
295 </snapshotRepository>
296 <repository>
297 <id>sonatype-nexus-staging</id>
298 <name>Nexus Release Repository</name>
299 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
300 </repository>
301 </distributionManagement>
302
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700303 <profiles>
304 <profile>
305 <id>java-8</id>
306 <activation>
307 <jdk>1.8</jdk>
308 </activation>
309 <build>
310 <plugins>
311 <plugin>
312 <groupId>org.apache.maven.plugins</groupId>
313 <artifactId>maven-surefire-plugin</artifactId>
314 <configuration>
315 <!-- put javac.jar on bootclasspath when executing tests -->
316 <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine>
317 </configuration>
318 </plugin>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800319 <plugin>
320 <groupId>org.apache.maven.plugins</groupId>
321 <artifactId>maven-compiler-plugin</artifactId>
322 <configuration>
323 <fork>true</fork>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800324 <compilerArgs>
325 <arg>-parameters</arg>
326 <arg>-XDcompilePolicy=simple</arg>
327 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800328 <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
329 </compilerArgs>
330 </configuration>
331 </plugin>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700332 </plugins>
333 </build>
334 </profile>
Liam Miller-Cushon3d2be5e2021-06-21 17:16:23 -0700335 <profile>
336 <id>sonatype-oss-release</id>
337 <build>
338 <plugins>
339 <plugin>
340 <groupId>org.apache.maven.plugins</groupId>
341 <artifactId>maven-source-plugin</artifactId>
342 <version>${maven-source-plugin.version}</version>
343 <executions>
344 <execution>
345 <id>attach-sources</id>
346 <goals>
347 <goal>jar-no-fork</goal>
348 </goals>
349 </execution>
350 </executions>
351 </plugin>
352 <plugin>
353 <groupId>org.apache.maven.plugins</groupId>
354 <artifactId>maven-javadoc-plugin</artifactId>
355 <version>${maven-javadoc-plugin.version}</version>
356 <executions>
357 <execution>
358 <id>attach-javadocs</id>
359 <goals>
360 <goal>jar</goal>
361 </goals>
362 </execution>
363 </executions>
364 </plugin>
365 <plugin>
366 <groupId>org.apache.maven.plugins</groupId>
367 <artifactId>maven-gpg-plugin</artifactId>
368 <version>1.6</version>
369 <executions>
370 <execution>
371 <id>sign-artifacts</id>
372 <phase>verify</phase>
373 <goals>
374 <goal>sign</goal>
375 </goals>
376 </execution>
377 </executions>
378 </plugin>
379 </plugins>
380 </build>
381 </profile>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700382 </profiles>
cushonc5ee8762016-08-23 14:17:08 -0700383</project>