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