blob: d9ac81dc505a2baab2c83ccc29e366e7a66fa175 [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-Cushon870707b2020-12-10 16:52:07 -080034 <asm.version>9.0</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-Cushon7a5c4162020-12-10 21:41:59 -080037 <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
cushon42a8f882016-12-07 11:54:56 -080038 </properties>
39
cushonc5ee8762016-08-23 14:17:08 -070040 <dependencies>
41 <dependency>
42 <groupId>com.google.guava</groupId>
43 <artifactId>guava</artifactId>
cushon78670132018-10-21 15:10:51 -070044 <version>${guava.version}</version>
cushonc5ee8762016-08-23 14:17:08 -070045 </dependency>
46 <dependency>
cushonf0e97442016-09-14 10:48:35 -070047 <groupId>com.google.errorprone</groupId>
48 <artifactId>error_prone_annotations</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080049 <version>2.5.1</version>
cushond0fcced2018-04-09 22:38:11 -070050 </dependency>
51 <dependency>
52 <groupId>org.checkerframework</groupId>
53 <artifactId>checker-qual</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080054 <version>3.9.1</version>
cushond0fcced2018-04-09 22:38:11 -070055 <optional>true</optional>
cushonf0e97442016-09-14 10:48:35 -070056 </dependency>
57 <dependency>
cushon667facf2016-10-20 14:07:39 -070058 <groupId>com.google.protobuf</groupId>
59 <artifactId>protobuf-java</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080060 <version>3.10.0</version>
cushon667facf2016-10-20 14:07:39 -070061 </dependency>
62 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070063 <groupId>org.ow2.asm</groupId>
cushon3d542b82017-11-29 22:26:07 -080064 <artifactId>asm</artifactId>
65 <version>${asm.version}</version>
66 <scope>test</scope>
67 </dependency>
68 <dependency>
69 <groupId>org.ow2.asm</groupId>
70 <artifactId>asm-tree</artifactId>
71 <version>${asm.version}</version>
72 <scope>test</scope>
73 </dependency>
74 <dependency>
75 <groupId>org.ow2.asm</groupId>
76 <artifactId>asm-util</artifactId>
77 <version>${asm.version}</version>
cushon783f80f2016-09-19 14:52:44 -070078 <scope>test</scope>
79 </dependency>
80 <dependency>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -070081 <groupId>com.google.errorprone</groupId>
82 <artifactId>javac</artifactId>
83 <version>${javac.version}</version>
84 <scope>test</scope>
85 </dependency>
86 <dependency>
cushonc5ee8762016-08-23 14:17:08 -070087 <groupId>junit</groupId>
88 <artifactId>junit</artifactId>
Liam Miller-Cushon7e581be2020-10-13 15:20:33 -070089 <version>4.13.1</version>
cushonc5ee8762016-08-23 14:17:08 -070090 <scope>test</scope>
91 </dependency>
92 <dependency>
93 <groupId>com.google.truth</groupId>
94 <artifactId>truth</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -080095 <version>1.1</version>
cushon0db7a282019-08-12 10:37:45 -070096 <scope>test</scope>
97 </dependency>
98 <dependency>
99 <groupId>com.google.truth.extensions</groupId>
100 <artifactId>truth-proto-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800101 <version>1.1</version>
cushon8eab64c2018-08-24 09:56:22 -0700102 <scope>test</scope>
103 </dependency>
104 <dependency>
105 <groupId>com.google.truth.extensions</groupId>
106 <artifactId>truth-java8-extension</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800107 <version>1.1</version>
cushonc5ee8762016-08-23 14:17:08 -0700108 <scope>test</scope>
109 </dependency>
110 <dependency>
111 <groupId>com.google.jimfs</groupId>
112 <artifactId>jimfs</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800113 <version>1.2</version>
cushonc5ee8762016-08-23 14:17:08 -0700114 <scope>test</scope>
115 </dependency>
cushon78670132018-10-21 15:10:51 -0700116 <dependency>
117 <groupId>com.google.guava</groupId>
118 <artifactId>guava-testlib</artifactId>
119 <version>${guava.version}</version>
120 <scope>test</scope>
121 </dependency>
cushon39454052018-10-23 13:45:50 -0700122 <dependency>
123 <groupId>com.google.auto.value</groupId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800124 <artifactId>auto-value-annotations</artifactId>
125 <version>1.7.4</version>
cushon39454052018-10-23 13:45:50 -0700126 <scope>provided</scope>
127 </dependency>
cushonc5ee8762016-08-23 14:17:08 -0700128 </dependencies>
129
130 <build>
131 <sourceDirectory>java</sourceDirectory>
132 <testSourceDirectory>javatests</testSourceDirectory>
133 <testResources>
134 <testResource>
135 <directory>javatests</directory>
136 <includes>
137 <include>**/testdata/**</include>
cushon97f83722018-08-02 10:19:44 -0700138 <include>**/moduletestdata/**</include>
cushonc5ee8762016-08-23 14:17:08 -0700139 </includes>
140 </testResource>
141 </testResources>
cushon667facf2016-10-20 14:07:39 -0700142 <extensions>
143 <extension>
144 <groupId>kr.motd.maven</groupId>
145 <artifactId>os-maven-plugin</artifactId>
cushone75cc322016-10-21 11:49:46 -0700146 <version>1.4.0.Final</version>
cushon667facf2016-10-20 14:07:39 -0700147 </extension>
148 </extensions>
cushonc5ee8762016-08-23 14:17:08 -0700149 <plugins>
150 <plugin>
151 <groupId>org.apache.maven.plugins</groupId>
152 <artifactId>maven-compiler-plugin</artifactId>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800153 <version>3.8.0</version>
cushonc5ee8762016-08-23 14:17:08 -0700154 <configuration>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800155 <source>8</source>
156 <target>8</target>
cushonc5ee8762016-08-23 14:17:08 -0700157 <encoding>UTF-8</encoding>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800158 <fork>true</fork>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800159 <compilerArgs>
160 <arg>-parameters</arg>
161 <arg>-XDcompilePolicy=simple</arg>
162 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800163 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg>
164 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg>
165 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg>
166 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg>
167 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg>
168 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg>
169 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg>
170 <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg>
171 <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800172 </compilerArgs>
173 <annotationProcessorPaths>
174 <path>
175 <groupId>com.google.errorprone</groupId>
176 <artifactId>error_prone_core</artifactId>
177 <version>2.5.1</version>
178 </path>
179 <path>
180 <groupId>com.google.auto.value</groupId>
181 <artifactId>auto-value</artifactId>
182 <version>1.7.4</version>
183 </path>
184 </annotationProcessorPaths>
cushonc5ee8762016-08-23 14:17:08 -0700185 </configuration>
186 </plugin>
cushon667facf2016-10-20 14:07:39 -0700187 <plugin>
188 <groupId>org.xolstice.maven.plugins</groupId>
189 <artifactId>protobuf-maven-plugin</artifactId>
190 <version>0.5.0</version>
191 <configuration>
192 <protoSourceRoot>proto</protoSourceRoot>
cushone75cc322016-10-21 11:49:46 -0700193 <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
cushon667facf2016-10-20 14:07:39 -0700194 <pluginId>grpc-java</pluginId>
195 <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
196 </configuration>
197 <executions>
198 <execution>
199 <goals>
200 <goal>compile</goal>
201 <goal>compile-custom</goal>
202 </goals>
203 </execution>
204 </executions>
205 </plugin>
cushon42a8f882016-12-07 11:54:56 -0800206 <plugin>
207 <groupId>org.apache.maven.plugins</groupId>
208 <artifactId>maven-surefire-plugin</artifactId>
209 <version>2.19.1</version>
210 <configuration>
Liam Miller-Cushon6067ffe2017-01-21 01:01:11 -0800211 <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800212 <argLine>-Xmx2g --illegal-access=permit</argLine>
cushon42a8f882016-12-07 11:54:56 -0800213 </configuration>
214 </plugin>
Liam Miller-Cushone098b2a2018-09-09 17:14:19 -0700215 <plugin>
216 <groupId>org.apache.maven.plugins</groupId>
217 <artifactId>maven-shade-plugin</artifactId>
218 <version>2.4.3</version>
219 <executions>
220 <execution>
221 <id>shade-all-deps</id>
222 <phase>package</phase>
223 <goals>
224 <goal>shade</goal>
225 </goals>
226 <configuration>
227 <shadedArtifactAttached>true</shadedArtifactAttached>
228 <shadedClassifierName>all-deps</shadedClassifierName>
229 <createDependencyReducedPom>false</createDependencyReducedPom>
230 <!-- http://stackoverflow.com/a/6743609 -->
231 <filters>
232 <filter>
233 <artifact>*:*</artifact>
234 <excludes>
235 <exclude>META-INF/*.SF</exclude>
236 <exclude>META-INF/*.DSA</exclude>
237 <exclude>META-INF/*.RSA</exclude>
238 </excludes>
239 </filter>
240 </filters>
241 </configuration>
242 </execution>
243 </executions>
244 </plugin>
245
cushonc5ee8762016-08-23 14:17:08 -0700246 </plugins>
247 </build>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700248 <profiles>
249 <profile>
250 <id>java-8</id>
251 <activation>
252 <jdk>1.8</jdk>
253 </activation>
254 <build>
255 <plugins>
256 <plugin>
257 <groupId>org.apache.maven.plugins</groupId>
258 <artifactId>maven-surefire-plugin</artifactId>
259 <configuration>
260 <!-- put javac.jar on bootclasspath when executing tests -->
261 <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine>
262 </configuration>
263 </plugin>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800264 <plugin>
265 <groupId>org.apache.maven.plugins</groupId>
266 <artifactId>maven-compiler-plugin</artifactId>
267 <configuration>
268 <fork>true</fork>
Liam Miller-Cushon622b5912021-01-22 13:10:38 -0800269 <compilerArgs>
270 <arg>-parameters</arg>
271 <arg>-XDcompilePolicy=simple</arg>
272 <arg>-Xplugin:ErrorProne</arg>
Liam Miller-Cushonb470d532021-01-15 17:19:20 -0800273 <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg>
274 </compilerArgs>
275 </configuration>
276 </plugin>
Liam Miller-Cushonb594e4b2018-09-09 16:56:59 -0700277 </plugins>
278 </build>
279 </profile>
280 </profiles>
cushonc5ee8762016-08-23 14:17:08 -0700281</project>