blob: 9ffd24e7680366309f6e05d05989ffa4bad95b69 [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-Cushon7a5c4162020-12-10 21:41:59 -080038 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
cushon42a8f882016-12-07 11:54:56 -080039 </properties>
40
cushonc5ee8762016-08-23 14:17:08 -070041 <dependencies>
42 <dependency>
43 <groupId>com.google.guava</groupId>
44 <artifactId>guava</artifactId>
cushon78670132018-10-21 15:10:51 -070045 <version>${guava.version}</version>
cushonc5ee8762016-08-23 14:17:08 -070046 </dependency>
47 <dependency>
cushonf0e97442016-09-14 10:48:35 -070048 <groupId>com.google.errorprone</groupId>
49 <artifactId>error_prone_annotations</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -070050 <version>${errorprone.version}</version>
cushond0fcced2018-04-09 22:38:11 -070051 </dependency>
52 <dependency>
53 <groupId>org.checkerframework</groupId>
54 <artifactId>checker-qual</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080055 <version>3.9.1</version>
cushond0fcced2018-04-09 22:38:11 -070056 <optional>true</optional>
cushonf0e97442016-09-14 10:48:35 -070057 </dependency>
58 <dependency>
cushon667facf2016-10-20 14:07:39 -070059 <groupId>com.google.protobuf</groupId>
60 <artifactId>protobuf-java</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080061 <version>3.10.0</version>
cushon667facf2016-10-20 14:07:39 -070062 </dependency>
63 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070064 <groupId>org.ow2.asm</groupId>
cushon3d542b82017-11-29 22:26:07 -080065 <artifactId>asm</artifactId>
66 <version>${asm.version}</version>
67 <scope>test</scope>
68 </dependency>
69 <dependency>
70 <groupId>org.ow2.asm</groupId>
71 <artifactId>asm-tree</artifactId>
72 <version>${asm.version}</version>
73 <scope>test</scope>
74 </dependency>
75 <dependency>
76 <groupId>org.ow2.asm</groupId>
77 <artifactId>asm-util</artifactId>
78 <version>${asm.version}</version>
cushon783f80f2016-09-19 14:52:44 -070079 <scope>test</scope>
80 </dependency>
81 <dependency>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070082 <groupId>com.google.errorprone</groupId>
83 <artifactId>javac</artifactId>
84 <version>${javac.version}</version>
85 <scope>test</scope>
86 </dependency>
87 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070088 <groupId>junit</groupId>
89 <artifactId>junit</artifactId>
Liam Miller-Cushon7e581be2020-10-13 15:20:33 -070090 <version>4.13.1</version>
cushonc5ee8762016-08-23 14:17:08 -070091 <scope>test</scope>
92 </dependency>
93 <dependency>
94 <groupId>com.google.truth</groupId>
95 <artifactId>truth</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080096 <version>1.1</version>
cushon0db7a282019-08-12 10:37:45 -070097 <scope>test</scope>
98 </dependency>
99 <dependency>
100 <groupId>com.google.truth.extensions</groupId>
101 <artifactId>truth-proto-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800102 <version>1.1</version>
cushon8eab64c2018-08-24 09:56:22 -0700103 <scope>test</scope>
104 </dependency>
105 <dependency>
106 <groupId>com.google.truth.extensions</groupId>
107 <artifactId>truth-java8-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800108 <version>1.1</version>
cushonc5ee8762016-08-23 14:17:08 -0700109 <scope>test</scope>
110 </dependency>
111 <dependency>
112 <groupId>com.google.jimfs</groupId>
113 <artifactId>jimfs</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800114 <version>1.2</version>
cushonc5ee8762016-08-23 14:17:08 -0700115 <scope>test</scope>
116 </dependency>
cushon78670132018-10-21 15:10:51 -0700117 <dependency>
118 <groupId>com.google.guava</groupId>
119 <artifactId>guava-testlib</artifactId>
120 <version>${guava.version}</version>
121 <scope>test</scope>
122 </dependency>
cushon39454052018-10-23 13:45:50 -0700123 <dependency>
124 <groupId>com.google.auto.value</groupId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800125 <artifactId>auto-value-annotations</artifactId>
126 <version>1.7.4</version>
cushon39454052018-10-23 13:45:50 -0700127 <scope>provided</scope>
128 </dependency>
cushonc5ee8762016-08-23 14:17:08 -0700129 </dependencies>
130
131 <build>
132 <sourceDirectory>java</sourceDirectory>
133 <testSourceDirectory>javatests</testSourceDirectory>
134 <testResources>
135 <testResource>
136 <directory>javatests</directory>
137 <includes>
138 <include>**/testdata/**</include>
cushon97f83722018-08-02 10:19:44 -0700139 <include>**/moduletestdata/**</include>
cushonc5ee8762016-08-23 14:17:08 -0700140 </includes>
141 </testResource>
142 </testResources>
cushon667facf2016-10-20 14:07:39 -0700143 <extensions>
144 <extension>
145 <groupId>kr.motd.maven</groupId>
146 <artifactId>os-maven-plugin</artifactId>
cushone75cc322016-10-21 11:49:46 -0700147 <version>1.4.0.Final</version>
cushon667facf2016-10-20 14:07:39 -0700148 </extension>
149 </extensions>
cushonc5ee8762016-08-23 14:17:08 -0700150 <plugins>
151 <plugin>
152 <groupId>org.apache.maven.plugins</groupId>
153 <artifactId>maven-compiler-plugin</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800154 <version>3.8.0</version>
cushonc5ee8762016-08-23 14:17:08 -0700155 <configuration>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800156 <source>8</source>
157 <target>8</target>
cushonc5ee8762016-08-23 14:17:08 -0700158 <encoding>UTF-8</encoding>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800159 <fork>true</fork>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800160 <compilerArgs>
161 <arg>-parameters</arg>
162 <arg>-XDcompilePolicy=simple</arg>
163 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800164 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
165 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
166 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
167 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
168 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
169 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
170 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
171 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
172 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800173 </compilerArgs>
174 <annotationProcessorPaths>
175 <path>
176 <groupId>com.google.errorprone</groupId>
177 <artifactId>error_prone_core</artifactId>
Liam Miller-Cushona1dcaa62021-05-14 16:36:17 -0700178 <version>${errorprone.version}</version>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800179 </path>
180 <path>
181 <groupId>com.google.auto.value</groupId>
182 <artifactId>auto-value</artifactId>
183 <version>1.7.4</version>
184 </path>
185 </annotationProcessorPaths>
cushonc5ee8762016-08-23 14:17:08 -0700186 </configuration>
187 </plugin>
cushon667facf2016-10-20 14:07:39 -0700188 <plugin>
189 <groupId>org.xolstice.maven.plugins</groupId>
190 <artifactId>protobuf-maven-plugin</artifactId>
191 <version>0.5.0</version>
192 <configuration>
193 <protoSourceRoot>proto</protoSourceRoot>
cushone75cc322016-10-21 11:49:46 -0700194 <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
cushon667facf2016-10-20 14:07:39 -0700195 <pluginId>grpc-java</pluginId>
196 <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
197 </configuration>
198 <executions>
199 <execution>
200 <goals>
201 <goal>compile</goal>
202 <goal>compile-custom</goal>
203 </goals>
204 </execution>
205 </executions>
206 </plugin>
cushon42a8f882016-12-07 11:54:56 -0800207 <plugin>
208 <groupId>org.apache.maven.plugins</groupId>
209 <artifactId>maven-surefire-plugin</artifactId>
210 <version>2.19.1</version>
211 <configuration>
Liam Miller-Cushon6067ffe2017-01-21 01:01:11 -0800212 <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800213 <argLine>-Xmx2g --illegal-access=permit</argLine>
cushon42a8f882016-12-07 11:54:56 -0800214 </configuration>
215 </plugin>
Liam Miller-Cushone098b2a2018-09-09 17:14:19 -0700216 <plugin>
217 <groupId>org.apache.maven.plugins</groupId>
218 <artifactId>maven-shade-plugin</artifactId>
219 <version>2.4.3</version>
220 <executions>
221 <execution>
222 <id>shade-all-deps</id>
223 <phase>package</phase>
224 <goals>
225 <goal>shade</goal>
226 </goals>
227 <configuration>
228 <shadedArtifactAttached>true</shadedArtifactAttached>
229 <shadedClassifierName>all-deps</shadedClassifierName>
230 <createDependencyReducedPom>false</createDependencyReducedPom>
231 <!-- http://stackoverflow.com/a/6743609 -->
232 <filters>
233 <filter>
234 <artifact>*:*</artifact>
235 <excludes>
236 <exclude>META-INF/*.SF</exclude>
237 <exclude>META-INF/*.DSA</exclude>
238 <exclude>META-INF/*.RSA</exclude>
239 </excludes>
240 </filter>
241 </filters>
242 </configuration>
243 </execution>
244 </executions>
245 </plugin>
246
cushonc5ee8762016-08-23 14:17:08 -0700247 </plugins>
248 </build>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700249 <profiles>
250 <profile>
251 <id>java-8</id>
252 <activation>
253 <jdk>1.8</jdk>
254 </activation>
255 <build>
256 <plugins>
257 <plugin>
258 <groupId>org.apache.maven.plugins</groupId>
259 <artifactId>maven-surefire-plugin</artifactId>
260 <configuration>
261 <!-- put javac.jar on bootclasspath when executing tests -->
262 <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine>
263 </configuration>
264 </plugin>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800265 <plugin>
266 <groupId>org.apache.maven.plugins</groupId>
267 <artifactId>maven-compiler-plugin</artifactId>
268 <configuration>
269 <fork>true</fork>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800270 <compilerArgs>
271 <arg>-parameters</arg>
272 <arg>-XDcompilePolicy=simple</arg>
273 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800274 <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
275 </compilerArgs>
276 </configuration>
277 </plugin>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700278 </plugins>
279 </build>
280 </profile>
281 </profiles>
cushonc5ee8762016-08-23 14:17:08 -0700282</project>