blob: 670175c227f2b0ba9a3e10be319dca8ade9bbdec [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
Liam Miller-Cushon5973e512021-06-15 18:02:41 -070024 <parent>
25 <groupId>org.sonatype.oss</groupId>
26 <artifactId>oss-parent</artifactId>
27 <version>7</version>
28 </parent>
29
cushonc5ee8762016-08-23 14:17:08 -070030 <groupId>com.google.turbine</groupId>
31 <artifactId>turbine</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080032 <version>HEAD-SNAPSHOT</version>
cushonc5ee8762016-08-23 14:17:08 -070033
34 <name>turbine</name>
35 <description>
36 turbine is a header compiler for Java
37 </description>
38
cushon42a8f882016-12-07 11:54:56 -080039 <properties>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070040 <asm.version>9.1</asm.version>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070041 <javac.version>9+181-r4173-1</javac.version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080042 <guava.version>30.0-jre</guava.version>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070043 <errorprone.version>2.7.1</errorprone.version>
Liam Miller-Cushon7a5c4162020-12-10 21:41:59 -080044 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
cushon42a8f882016-12-07 11:54:56 -080045 </properties>
46
cushonc5ee8762016-08-23 14:17:08 -070047 <dependencies>
48 <dependency>
49 <groupId>com.google.guava</groupId>
50 <artifactId>guava</artifactId>
cushon78670132018-10-21 15:10:51 -070051 <version>${guava.version}</version>
cushonc5ee8762016-08-23 14:17:08 -070052 </dependency>
53 <dependency>
cushonf0e97442016-09-14 10:48:35 -070054 <groupId>com.google.errorprone</groupId>
55 <artifactId>error_prone_annotations</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070056 <version>${errorprone.version}</version>
cushond0fcced2018-04-09 22:38:11 -070057 </dependency>
58 <dependency>
59 <groupId>org.checkerframework</groupId>
60 <artifactId>checker-qual</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080061 <version>3.9.1</version>
cushond0fcced2018-04-09 22:38:11 -070062 <optional>true</optional>
cushonf0e97442016-09-14 10:48:35 -070063 </dependency>
64 <dependency>
cushon667facf2016-10-20 14:07:39 -070065 <groupId>com.google.protobuf</groupId>
66 <artifactId>protobuf-java</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080067 <version>3.10.0</version>
cushon667facf2016-10-20 14:07:39 -070068 </dependency>
69 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070070 <groupId>org.ow2.asm</groupId>
cushon3d542b82017-11-29 22:26:07 -080071 <artifactId>asm</artifactId>
72 <version>${asm.version}</version>
73 <scope>test</scope>
74 </dependency>
75 <dependency>
76 <groupId>org.ow2.asm</groupId>
77 <artifactId>asm-tree</artifactId>
78 <version>${asm.version}</version>
79 <scope>test</scope>
80 </dependency>
81 <dependency>
82 <groupId>org.ow2.asm</groupId>
83 <artifactId>asm-util</artifactId>
84 <version>${asm.version}</version>
cushon783f80f2016-09-19 14:52:44 -070085 <scope>test</scope>
86 </dependency>
87 <dependency>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070088 <groupId>com.google.errorprone</groupId>
89 <artifactId>javac</artifactId>
90 <version>${javac.version}</version>
91 <scope>test</scope>
92 </dependency>
93 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070094 <groupId>junit</groupId>
95 <artifactId>junit</artifactId>
Liam Miller-Cushon7e581be2020-10-13 15:20:33 -070096 <version>4.13.1</version>
cushonc5ee8762016-08-23 14:17:08 -070097 <scope>test</scope>
98 </dependency>
99 <dependency>
100 <groupId>com.google.truth</groupId>
101 <artifactId>truth</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800102 <version>1.1</version>
cushon0db7a282019-08-12 10:37:45 -0700103 <scope>test</scope>
104 </dependency>
105 <dependency>
106 <groupId>com.google.truth.extensions</groupId>
107 <artifactId>truth-proto-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800108 <version>1.1</version>
cushon8eab64c2018-08-24 09:56:22 -0700109 <scope>test</scope>
110 </dependency>
111 <dependency>
112 <groupId>com.google.truth.extensions</groupId>
113 <artifactId>truth-java8-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800114 <version>1.1</version>
cushonc5ee8762016-08-23 14:17:08 -0700115 <scope>test</scope>
116 </dependency>
117 <dependency>
118 <groupId>com.google.jimfs</groupId>
119 <artifactId>jimfs</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800120 <version>1.2</version>
cushonc5ee8762016-08-23 14:17:08 -0700121 <scope>test</scope>
122 </dependency>
cushon78670132018-10-21 15:10:51 -0700123 <dependency>
124 <groupId>com.google.guava</groupId>
125 <artifactId>guava-testlib</artifactId>
126 <version>${guava.version}</version>
127 <scope>test</scope>
128 </dependency>
cushon39454052018-10-23 13:45:50 -0700129 <dependency>
130 <groupId>com.google.auto.value</groupId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800131 <artifactId>auto-value-annotations</artifactId>
132 <version>1.7.4</version>
cushon39454052018-10-23 13:45:50 -0700133 <scope>provided</scope>
134 </dependency>
cushonc5ee8762016-08-23 14:17:08 -0700135 </dependencies>
136
137 <build>
138 <sourceDirectory>java</sourceDirectory>
139 <testSourceDirectory>javatests</testSourceDirectory>
140 <testResources>
141 <testResource>
142 <directory>javatests</directory>
143 <includes>
144 <include>**/testdata/**</include>
cushon97f83722018-08-02 10:19:44 -0700145 <include>**/moduletestdata/**</include>
cushonc5ee8762016-08-23 14:17:08 -0700146 </includes>
147 </testResource>
148 </testResources>
cushon667facf2016-10-20 14:07:39 -0700149 <extensions>
150 <extension>
151 <groupId>kr.motd.maven</groupId>
152 <artifactId>os-maven-plugin</artifactId>
cushone75cc322016-10-21 11:49:46 -0700153 <version>1.4.0.Final</version>
cushon667facf2016-10-20 14:07:39 -0700154 </extension>
155 </extensions>
cushonc5ee8762016-08-23 14:17:08 -0700156 <plugins>
157 <plugin>
158 <groupId>org.apache.maven.plugins</groupId>
159 <artifactId>maven-compiler-plugin</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800160 <version>3.8.0</version>
cushonc5ee8762016-08-23 14:17:08 -0700161 <configuration>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800162 <source>8</source>
163 <target>8</target>
cushonc5ee8762016-08-23 14:17:08 -0700164 <encoding>UTF-8</encoding>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800165 <fork>true</fork>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800166 <compilerArgs>
167 <arg>-parameters</arg>
168 <arg>-XDcompilePolicy=simple</arg>
169 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800170 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
171 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
172 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
173 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
174 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
175 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
176 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
177 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
178 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800179 </compilerArgs>
180 <annotationProcessorPaths>
181 <path>
182 <groupId>com.google.errorprone</groupId>
183 <artifactId>error_prone_core</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -0700184 <version>${errorprone.version}</version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800185 </path>
186 <path>
187 <groupId>com.google.auto.value</groupId>
188 <artifactId>auto-value</artifactId>
189 <version>1.7.4</version>
190 </path>
191 </annotationProcessorPaths>
cushonc5ee8762016-08-23 14:17:08 -0700192 </configuration>
193 </plugin>
cushon667facf2016-10-20 14:07:39 -0700194 <plugin>
195 <groupId>org.xolstice.maven.plugins</groupId>
196 <artifactId>protobuf-maven-plugin</artifactId>
197 <version>0.5.0</version>
198 <configuration>
199 <protoSourceRoot>proto</protoSourceRoot>
cushone75cc322016-10-21 11:49:46 -0700200 <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
cushon667facf2016-10-20 14:07:39 -0700201 <pluginId>grpc-java</pluginId>
202 <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
203 </configuration>
204 <executions>
205 <execution>
206 <goals>
207 <goal>compile</goal>
208 <goal>compile-custom</goal>
209 </goals>
210 </execution>
211 </executions>
212 </plugin>
cushon42a8f882016-12-07 11:54:56 -0800213 <plugin>
214 <groupId>org.apache.maven.plugins</groupId>
215 <artifactId>maven-surefire-plugin</artifactId>
216 <version>2.19.1</version>
217 <configuration>
Liam Miller-Cushon6067ffe2017-01-21 01:01:11 -0800218 <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
Liam Miller-Cushon5973e512021-06-15 18:02:41 -0700219 <argLine>
220 -Xmx2g
221 --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
222 --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
223 --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED
224 --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED
225 --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
226 --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED
227 --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
228 --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
229 --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
230 --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED
231 </argLine>
cushon42a8f882016-12-07 11:54:56 -0800232 </configuration>
233 </plugin>
Liam Miller-Cushone098b2a2018-09-09 17:14:19 -0700234 <plugin>
235 <groupId>org.apache.maven.plugins</groupId>
236 <artifactId>maven-shade-plugin</artifactId>
237 <version>2.4.3</version>
238 <executions>
239 <execution>
240 <id>shade-all-deps</id>
241 <phase>package</phase>
242 <goals>
243 <goal>shade</goal>
244 </goals>
245 <configuration>
246 <shadedArtifactAttached>true</shadedArtifactAttached>
247 <shadedClassifierName>all-deps</shadedClassifierName>
248 <createDependencyReducedPom>false</createDependencyReducedPom>
249 <!-- http://stackoverflow.com/a/6743609 -->
250 <filters>
251 <filter>
252 <artifact>*:*</artifact>
253 <excludes>
254 <exclude>META-INF/*.SF</exclude>
255 <exclude>META-INF/*.DSA</exclude>
256 <exclude>META-INF/*.RSA</exclude>
257 </excludes>
258 </filter>
259 </filters>
260 </configuration>
261 </execution>
262 </executions>
263 </plugin>
Liam Miller-Cushonf4d084a2021-06-15 19:16:54 -0700264 <plugin>
265 <groupId>org.apache.maven.plugins</groupId>
266 <artifactId>maven-javadoc-plugin</artifactId>
267 <version>3.1.1</version>
268 <configuration>
269 <source>8</source>
270 <detectJavaApiLink>false</detectJavaApiLink>
271 <notimestamp>true</notimestamp>
272 <doctitle>turbine ${project.version} API</doctitle>
273 </configuration>
274 </plugin>
cushonc5ee8762016-08-23 14:17:08 -0700275 </plugins>
276 </build>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700277 <profiles>
278 <profile>
279 <id>java-8</id>
280 <activation>
281 <jdk>1.8</jdk>
282 </activation>
283 <build>
284 <plugins>
285 <plugin>
286 <groupId>org.apache.maven.plugins</groupId>
287 <artifactId>maven-surefire-plugin</artifactId>
288 <configuration>
289 <!-- put javac.jar on bootclasspath when executing tests -->
290 <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine>
291 </configuration>
292 </plugin>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800293 <plugin>
294 <groupId>org.apache.maven.plugins</groupId>
295 <artifactId>maven-compiler-plugin</artifactId>
296 <configuration>
297 <fork>true</fork>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800298 <compilerArgs>
299 <arg>-parameters</arg>
300 <arg>-XDcompilePolicy=simple</arg>
301 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800302 <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
303 </compilerArgs>
304 </configuration>
305 </plugin>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700306 </plugins>
307 </build>
308 </profile>
309 </profiles>
cushonc5ee8762016-08-23 14:17:08 -0700310</project>