• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version="1.0" encoding="UTF-8"?>
2<project
3  xmlns="http://maven.apache.org/POM/4.0.0"
4  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
5  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
6  <modelVersion>4.0.0</modelVersion>
7
8  <groupId>com.google.turbine</groupId>
9  <artifactId>turbine</artifactId>
10  <version>0.1-SNAPSHOT</version>
11
12  <name>turbine</name>
13  <description>
14    turbine is a header compiler for Java
15  </description>
16
17  <properties>
18    <asm.version>7.0</asm.version>
19    <javac.version>9+181-r4173-1</javac.version>
20    <guava.version>27.0.1-jre</guava.version>
21  </properties>
22
23  <dependencies>
24    <dependency>
25      <groupId>com.google.guava</groupId>
26      <artifactId>guava</artifactId>
27      <version>${guava.version}</version>
28    </dependency>
29    <dependency>
30      <groupId>com.google.code.findbugs</groupId>
31      <artifactId>jsr305</artifactId>
32      <version>2.0.1</version>
33    </dependency>
34    <dependency>
35      <groupId>com.google.errorprone</groupId>
36      <artifactId>error_prone_annotations</artifactId>
37      <version>2.0.12</version>
38    </dependency>
39    <dependency>
40      <groupId>com.google.protobuf</groupId>
41      <artifactId>protobuf-java</artifactId>
42      <version>3.1.0</version>
43    </dependency>
44    <dependency>
45      <groupId>org.ow2.asm</groupId>
46      <artifactId>asm</artifactId>
47      <version>${asm.version}</version>
48      <scope>test</scope>
49    </dependency>
50    <dependency>
51      <groupId>org.ow2.asm</groupId>
52      <artifactId>asm-tree</artifactId>
53      <version>${asm.version}</version>
54      <scope>test</scope>
55    </dependency>
56    <dependency>
57      <groupId>org.ow2.asm</groupId>
58      <artifactId>asm-util</artifactId>
59      <version>${asm.version}</version>
60      <scope>test</scope>
61    </dependency>
62    <dependency>
63      <groupId>com.google.errorprone</groupId>
64      <artifactId>javac</artifactId>
65      <version>${javac.version}</version>
66      <scope>test</scope>
67    </dependency>
68    <dependency>
69      <groupId>junit</groupId>
70      <artifactId>junit</artifactId>
71      <version>4.12</version>
72      <scope>test</scope>
73    </dependency>
74    <dependency>
75      <groupId>com.google.truth</groupId>
76      <artifactId>truth</artifactId>
77      <version>0.42</version>
78      <scope>test</scope>
79    </dependency>
80    <dependency>
81      <groupId>com.google.truth.extensions</groupId>
82      <artifactId>truth-java8-extension</artifactId>
83      <version>0.42</version>
84      <scope>test</scope>
85    </dependency>
86    <dependency>
87      <groupId>com.google.jimfs</groupId>
88      <artifactId>jimfs</artifactId>
89      <version>1.0</version>
90      <scope>test</scope>
91    </dependency>
92    <dependency>
93      <groupId>com.google.guava</groupId>
94      <artifactId>guava-testlib</artifactId>
95      <version>${guava.version}</version>
96      <scope>test</scope>
97    </dependency>
98    <dependency>
99      <groupId>com.google.auto.value</groupId>
100      <artifactId>auto-value</artifactId>
101      <version>1.5.3</version>
102      <scope>provided</scope>
103    </dependency>
104  </dependencies>
105
106  <build>
107    <sourceDirectory>java</sourceDirectory>
108    <testSourceDirectory>javatests</testSourceDirectory>
109    <testResources>
110      <testResource>
111        <directory>javatests</directory>
112        <includes>
113          <include>**/testdata/**</include>
114          <include>**/moduletestdata/**</include>
115        </includes>
116      </testResource>
117    </testResources>
118    <extensions>
119      <extension>
120        <groupId>kr.motd.maven</groupId>
121        <artifactId>os-maven-plugin</artifactId>
122        <version>1.4.0.Final</version>
123      </extension>
124    </extensions>
125    <plugins>
126      <plugin>
127        <groupId>org.apache.maven.plugins</groupId>
128        <artifactId>maven-compiler-plugin</artifactId>
129        <version>3.6.2</version>
130        <configuration>
131          <fork>true</fork>
132          <source>1.8</source>
133          <target>1.8</target>
134          <encoding>UTF-8</encoding>
135          <compilerArgument>-parameters</compilerArgument>
136          <testCompilerArgument>-parameters</testCompilerArgument>
137        </configuration>
138      </plugin>
139      <plugin>
140        <groupId>org.xolstice.maven.plugins</groupId>
141        <artifactId>protobuf-maven-plugin</artifactId>
142        <version>0.5.0</version>
143        <configuration>
144          <protoSourceRoot>proto</protoSourceRoot>
145          <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact>
146          <pluginId>grpc-java</pluginId>
147          <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact>
148        </configuration>
149        <executions>
150          <execution>
151            <goals>
152              <goal>compile</goal>
153              <goal>compile-custom</goal>
154            </goals>
155          </execution>
156        </executions>
157      </plugin>
158      <plugin>
159        <groupId>org.apache.maven.plugins</groupId>
160        <artifactId>maven-surefire-plugin</artifactId>
161        <version>2.19.1</version>
162        <configuration>
163          <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 -->
164          <argLine>-Xmx2g</argLine>
165        </configuration>
166      </plugin>
167      <plugin>
168        <groupId>org.apache.maven.plugins</groupId>
169        <artifactId>maven-shade-plugin</artifactId>
170        <version>2.4.3</version>
171        <executions>
172          <execution>
173            <id>shade-all-deps</id>
174            <phase>package</phase>
175            <goals>
176              <goal>shade</goal>
177            </goals>
178            <configuration>
179              <shadedArtifactAttached>true</shadedArtifactAttached>
180              <shadedClassifierName>all-deps</shadedClassifierName>
181              <createDependencyReducedPom>false</createDependencyReducedPom>
182              <!-- http://stackoverflow.com/a/6743609 -->
183              <filters>
184                <filter>
185                  <artifact>*:*</artifact>
186                  <excludes>
187                    <exclude>META-INF/*.SF</exclude>
188                    <exclude>META-INF/*.DSA</exclude>
189                    <exclude>META-INF/*.RSA</exclude>
190                  </excludes>
191                </filter>
192              </filters>
193            </configuration>
194          </execution>
195        </executions>
196      </plugin>
197
198    </plugins>
199  </build>
200  <profiles>
201    <profile>
202      <id>java-8</id>
203      <activation>
204        <jdk>1.8</jdk>
205      </activation>
206      <build>
207        <plugins>
208          <plugin>
209            <groupId>org.apache.maven.plugins</groupId>
210            <artifactId>maven-surefire-plugin</artifactId>
211            <configuration>
212              <!-- put javac.jar on bootclasspath when executing tests -->
213              <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine>
214            </configuration>
215          </plugin>
216        </plugins>
217      </build>
218    </profile>
219  </profiles>
220</project>
221