blob: dae4b7018960acfa0f9c1ec737ed98a69c45ebdd [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>
29 <description>
30 turbine is a header compiler for Java
31 </description>
32
cushon42a8f882016-12-07 11:54:56 -080033 <properties>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070034 <asm.version>9.1</asm.version>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070035 <javac.version>9+181-r4173-1</javac.version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080036 <guava.version>30.0-jre</guava.version>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070037 <errorprone.version>2.7.1</errorprone.version>
Liam Miller-Cushon3d2be5e2021-06-21 17:16:23 -070038 <maven-javadoc-plugin.version>3.1.0</maven-javadoc-plugin.version>
39 <maven-source-plugin.version>3.2.1</maven-source-plugin.version>
Liam Miller-Cushon7a5c4162020-12-10 21:41:59 -080040 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
cushon42a8f882016-12-07 11:54:56 -080041 </properties>
42
cushonc5ee8762016-08-23 14:17:08 -070043 <dependencies>
44 <dependency>
45 <groupId>com.google.guava</groupId>
46 <artifactId>guava</artifactId>
cushon78670132018-10-21 15:10:51 -070047 <version>${guava.version}</version>
cushonc5ee8762016-08-23 14:17:08 -070048 </dependency>
49 <dependency>
cushonf0e97442016-09-14 10:48:35 -070050 <groupId>com.google.errorprone</groupId>
51 <artifactId>error_prone_annotations</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070052 <version>${errorprone.version}</version>
cushond0fcced2018-04-09 22:38:11 -070053 </dependency>
54 <dependency>
55 <groupId>org.checkerframework</groupId>
56 <artifactId>checker-qual</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080057 <version>3.9.1</version>
cushond0fcced2018-04-09 22:38:11 -070058 <optional>true</optional>
cushonf0e97442016-09-14 10:48:35 -070059 </dependency>
60 <dependency>
cushon667facf2016-10-20 14:07:39 -070061 <groupId>com.google.protobuf</groupId>
62 <artifactId>protobuf-java</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080063 <version>3.10.0</version>
cushon667facf2016-10-20 14:07:39 -070064 </dependency>
65 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070066 <groupId>org.ow2.asm</groupId>
cushon3d542b82017-11-29 22:26:07 -080067 <artifactId>asm</artifactId>
68 <version>${asm.version}</version>
69 <scope>test</scope>
70 </dependency>
71 <dependency>
72 <groupId>org.ow2.asm</groupId>
73 <artifactId>asm-tree</artifactId>
74 <version>${asm.version}</version>
75 <scope>test</scope>
76 </dependency>
77 <dependency>
78 <groupId>org.ow2.asm</groupId>
79 <artifactId>asm-util</artifactId>
80 <version>${asm.version}</version>
cushon783f80f2016-09-19 14:52:44 -070081 <scope>test</scope>
82 </dependency>
83 <dependency>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070084 <groupId>com.google.errorprone</groupId>
85 <artifactId>javac</artifactId>
86 <version>${javac.version}</version>
87 <scope>test</scope>
88 </dependency>
89 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070090 <groupId>junit</groupId>
91 <artifactId>junit</artifactId>
Liam Miller-Cushon7e581be2020-10-13 15:20:33 -070092 <version>4.13.1</version>
cushonc5ee8762016-08-23 14:17:08 -070093 <scope>test</scope>
94 </dependency>
95 <dependency>
96 <groupId>com.google.truth</groupId>
97 <artifactId>truth</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080098 <version>1.1</version>
cushon0db7a282019-08-12 10:37:45 -070099 <scope>test</scope>
100 </dependency>
101 <dependency>
102 <groupId>com.google.truth.extensions</groupId>
103 <artifactId>truth-proto-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800104 <version>1.1</version>
cushon8eab64c2018-08-24 09:56:22 -0700105 <scope>test</scope>
106 </dependency>
107 <dependency>
108 <groupId>com.google.truth.extensions</groupId>
109 <artifactId>truth-java8-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800110 <version>1.1</version>
cushonc5ee8762016-08-23 14:17:08 -0700111 <scope>test</scope>
112 </dependency>
113 <dependency>
114 <groupId>com.google.jimfs</groupId>
115 <artifactId>jimfs</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800116 <version>1.2</version>
cushonc5ee8762016-08-23 14:17:08 -0700117 <scope>test</scope>
118 </dependency>
cushon78670132018-10-21 15:10:51 -0700119 <dependency>
120 <groupId>com.google.guava</groupId>
121 <artifactId>guava-testlib</artifactId>
122 <version>${guava.version}</version>
123 <scope>test</scope>
124 </dependency>
cushon39454052018-10-23 13:45:50 -0700125 <dependency>
126 <groupId>com.google.auto.value</groupId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800127 <artifactId>auto-value-annotations</artifactId>
128 <version>1.7.4</version>
cushon39454052018-10-23 13:45:50 -0700129 <scope>provided</scope>
130 </dependency>
cushonc5ee8762016-08-23 14:17:08 -0700131 </dependencies>
132
133 <build>
134 <sourceDirectory>java</sourceDirectory>
135 <testSourceDirectory>javatests</testSourceDirectory>
136 <testResources>
137 <testResource>
138 <directory>javatests</directory>
139 <includes>
140 <include>**/testdata/**</include>
cushon97f83722018-08-02 10:19:44 -0700141 <include>**/moduletestdata/**</include>
cushonc5ee8762016-08-23 14:17:08 -0700142 </includes>
143 </testResource>
144 </testResources>
cushon667facf2016-10-20 14:07:39 -0700145 <extensions>
146 <extension>
147 <groupId>kr.motd.maven</groupId>
148 <artifactId>os-maven-plugin</artifactId>
cushone75cc322016-10-21 11:49:46 -0700149 <version>1.4.0.Final</version>
cushon667facf2016-10-20 14:07:39 -0700150 </extension>
151 </extensions>
cushonc5ee8762016-08-23 14:17:08 -0700152 <plugins>
153 <plugin>
154 <groupId>org.apache.maven.plugins</groupId>
155 <artifactId>maven-compiler-plugin</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800156 <version>3.8.0</version>
cushonc5ee8762016-08-23 14:17:08 -0700157 <configuration>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800158 <source>8</source>
159 <target>8</target>
cushonc5ee8762016-08-23 14:17:08 -0700160 <encoding>UTF-8</encoding>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800161 <fork>true</fork>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800162 <compilerArgs>
163 <arg>-parameters</arg>
164 <arg>-XDcompilePolicy=simple</arg>
165 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800166 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
167 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
168 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
169 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
170 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
171 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
172 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
173 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
174 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800175 </compilerArgs>
176 <annotationProcessorPaths>
177 <path>
178 <groupId>com.google.errorprone</groupId>
179 <artifactId>error_prone_core</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -0700180 <version>${errorprone.version}</version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800181 </path>
182 <path>
183 <groupId>com.google.auto.value</groupId>
184 <artifactId>auto-value</artifactId>
185 <version>1.7.4</version>
186 </path>
187 </annotationProcessorPaths>
cushonc5ee8762016-08-23 14:17:08 -0700188 </configuration>
189 </plugin>
cushon667facf2016-10-20 14:07:39 -0700190 <plugin>
191 <groupId>org.xolstice.maven.plugins</groupId>
192 <artifactId>protobuf-maven-plugin</artifactId>
193 <version>0.5.0</version>
194 <configuration>
195 <protoSourceRoot>proto</protoSourceRoot>
cushone75cc322016-10-21 11:49:46 -0700196 <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
cushon667facf2016-10-20 14:07:39 -0700197 <pluginId>grpc-java</pluginId>
198 <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
199 </configuration>
200 <executions>
201 <execution>
202 <goals>
203 <goal>compile</goal>
204 <goal>compile-custom</goal>
205 </goals>
206 </execution>
207 </executions>
208 </plugin>
cushon42a8f882016-12-07 11:54:56 -0800209 <plugin>
210 <groupId>org.apache.maven.plugins</groupId>
211 <artifactId>maven-surefire-plugin</artifactId>
212 <version>2.19.1</version>
213 <configuration>
Liam Miller-Cushon6067ffe2017-01-21 01:01:11 -0800214 <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
Liam Miller-Cushon5973e512021-06-15 18:02:41 -0700215 <argLine>
216 -Xmx2g
217 --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
218 --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
219 --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
220 --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
221 --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
222 --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
223 --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
224 --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
225 --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
226 --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
227 </argLine>
cushon42a8f882016-12-07 11:54:56 -0800228 </configuration>
229 </plugin>
Liam Miller-Cushone098b2a2018-09-09 17:14:19 -0700230 <plugin>
231 <groupId>org.apache.maven.plugins</groupId>
232 <artifactId>maven-shade-plugin</artifactId>
233 <version>2.4.3</version>
234 <executions>
235 <execution>
236 <id>shade-all-deps</id>
237 <phase>package</phase>
238 <goals>
239 <goal>shade</goal>
240 </goals>
241 <configuration>
242 <shadedArtifactAttached>true</shadedArtifactAttached>
243 <shadedClassifierName>all-deps</shadedClassifierName>
244 <createDependencyReducedPom>false</createDependencyReducedPom>
245 <!-- http://stackoverflow.com/a/6743609 -->
246 <filters>
247 <filter>
248 <artifact>*:*</artifact>
249 <excludes>
250 <exclude>META-INF/*.SF</exclude>
251 <exclude>META-INF/*.DSA</exclude>
252 <exclude>META-INF/*.RSA</exclude>
253 </excludes>
254 </filter>
255 </filters>
256 </configuration>
257 </execution>
258 </executions>
259 </plugin>
Liam Miller-Cushonf4d084a2021-06-15 19:16:54 -0700260 <plugin>
261 <groupId>org.apache.maven.plugins</groupId>
262 <artifactId>maven-javadoc-plugin</artifactId>
263 <version>3.1.1</version>
264 <configuration>
265 <source>8</source>
266 <detectJavaApiLink>false</detectJavaApiLink>
267 <notimestamp>true</notimestamp>
268 <doctitle>turbine ${project.version} API</doctitle>
269 </configuration>
270 </plugin>
cushonc5ee8762016-08-23 14:17:08 -0700271 </plugins>
272 </build>
Liam Miller-Cushon3d2be5e2021-06-21 17:16:23 -0700273
274 <distributionManagement>
275 <snapshotRepository>
276 <id>sonatype-nexus-snapshots</id>
277 <name>Sonatype Nexus Snapshots</name>
278 <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
279 </snapshotRepository>
280 <repository>
281 <id>sonatype-nexus-staging</id>
282 <name>Nexus Release Repository</name>
283 <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url>
284 </repository>
285 </distributionManagement>
286
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700287 <profiles>
288 <profile>
289 <id>java-8</id>
290 <activation>
291 <jdk>1.8</jdk>
292 </activation>
293 <build>
294 <plugins>
295 <plugin>
296 <groupId>org.apache.maven.plugins</groupId>
297 <artifactId>maven-surefire-plugin</artifactId>
298 <configuration>
299 <!-- put javac.jar on bootclasspath when executing tests -->
300 <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine>
301 </configuration>
302 </plugin>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800303 <plugin>
304 <groupId>org.apache.maven.plugins</groupId>
305 <artifactId>maven-compiler-plugin</artifactId>
306 <configuration>
307 <fork>true</fork>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800308 <compilerArgs>
309 <arg>-parameters</arg>
310 <arg>-XDcompilePolicy=simple</arg>
311 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800312 <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
313 </compilerArgs>
314 </configuration>
315 </plugin>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700316 </plugins>
317 </build>
318 </profile>
Liam Miller-Cushon3d2be5e2021-06-21 17:16:23 -0700319 <profile>
320 <id>sonatype-oss-release</id>
321 <build>
322 <plugins>
323 <plugin>
324 <groupId>org.apache.maven.plugins</groupId>
325 <artifactId>maven-source-plugin</artifactId>
326 <version>${maven-source-plugin.version}</version>
327 <executions>
328 <execution>
329 <id>attach-sources</id>
330 <goals>
331 <goal>jar-no-fork</goal>
332 </goals>
333 </execution>
334 </executions>
335 </plugin>
336 <plugin>
337 <groupId>org.apache.maven.plugins</groupId>
338 <artifactId>maven-javadoc-plugin</artifactId>
339 <version>${maven-javadoc-plugin.version}</version>
340 <executions>
341 <execution>
342 <id>attach-javadocs</id>
343 <goals>
344 <goal>jar</goal>
345 </goals>
346 </execution>
347 </executions>
348 </plugin>
349 <plugin>
350 <groupId>org.apache.maven.plugins</groupId>
351 <artifactId>maven-gpg-plugin</artifactId>
352 <version>1.6</version>
353 <executions>
354 <execution>
355 <id>sign-artifacts</id>
356 <phase>verify</phase>
357 <goals>
358 <goal>sign</goal>
359 </goals>
360 </execution>
361 </executions>
362 </plugin>
363 </plugins>
364 </build>
365 </profile>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700366 </profiles>
cushonc5ee8762016-08-23 14:17:08 -0700367</project>