| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| Copyright 2020 Google Inc. |
| |
| Licensed under the Apache License, Version 2.0 (the "License"); |
| you may not use this file except in compliance with the License. |
| You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| |
| <project |
| xmlns="http://maven.apache.org/POM/4.0.0" |
| xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| |
| <parent> |
| <groupId>org.sonatype.oss</groupId> |
| <artifactId>oss-parent</artifactId> |
| <version>7</version> |
| </parent> |
| |
| <groupId>com.google.turbine</groupId> |
| <artifactId>turbine</artifactId> |
| <version>HEAD-SNAPSHOT</version> |
| |
| <name>turbine</name> |
| <description> |
| turbine is a header compiler for Java |
| </description> |
| |
| <properties> |
| <asm.version>9.1</asm.version> |
| <javac.version>9+181-r4173-1</javac.version> |
| <guava.version>30.0-jre</guava.version> |
| <errorprone.version>2.7.1</errorprone.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| </properties> |
| |
| <dependencies> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_annotations</artifactId> |
| <version>${errorprone.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.checkerframework</groupId> |
| <artifactId>checker-qual</artifactId> |
| <version>3.9.1</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>3.10.0</version> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm</artifactId> |
| <version>${asm.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-tree</artifactId> |
| <version>${asm.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.ow2.asm</groupId> |
| <artifactId>asm-util</artifactId> |
| <version>${asm.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>javac</artifactId> |
| <version>${javac.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.truth</groupId> |
| <artifactId>truth</artifactId> |
| <version>1.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.truth.extensions</groupId> |
| <artifactId>truth-proto-extension</artifactId> |
| <version>1.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.truth.extensions</groupId> |
| <artifactId>truth-java8-extension</artifactId> |
| <version>1.1</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.jimfs</groupId> |
| <artifactId>jimfs</artifactId> |
| <version>1.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava-testlib</artifactId> |
| <version>${guava.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.auto.value</groupId> |
| <artifactId>auto-value-annotations</artifactId> |
| <version>1.7.4</version> |
| <scope>provided</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <sourceDirectory>java</sourceDirectory> |
| <testSourceDirectory>javatests</testSourceDirectory> |
| <testResources> |
| <testResource> |
| <directory>javatests</directory> |
| <includes> |
| <include>**/testdata/**</include> |
| <include>**/moduletestdata/**</include> |
| </includes> |
| </testResource> |
| </testResources> |
| <extensions> |
| <extension> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>1.4.0.Final</version> |
| </extension> |
| </extensions> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.8.0</version> |
| <configuration> |
| <source>8</source> |
| <target>8</target> |
| <encoding>UTF-8</encoding> |
| <fork>true</fork> |
| <compilerArgs> |
| <arg>-parameters</arg> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED</arg> |
| <arg>-J--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED</arg> |
| <arg>-J--add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED</arg> |
| </compilerArgs> |
| <annotationProcessorPaths> |
| <path> |
| <groupId>com.google.errorprone</groupId> |
| <artifactId>error_prone_core</artifactId> |
| <version>${errorprone.version}</version> |
| </path> |
| <path> |
| <groupId>com.google.auto.value</groupId> |
| <artifactId>auto-value</artifactId> |
| <version>1.7.4</version> |
| </path> |
| </annotationProcessorPaths> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.xolstice.maven.plugins</groupId> |
| <artifactId>protobuf-maven-plugin</artifactId> |
| <version>0.5.0</version> |
| <configuration> |
| <protoSourceRoot>proto</protoSourceRoot> |
| <protocArtifact>com.google.protobuf:protoc:3.1.0:exe:${os.detected.classifier}</protocArtifact> |
| <pluginId>grpc-java</pluginId> |
| <pluginArtifact>io.grpc:protoc-gen-grpc-java:1.0.1:exe:${os.detected.classifier}</pluginArtifact> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compile</goal> |
| <goal>compile-custom</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <version>2.19.1</version> |
| <configuration> |
| <!-- set heap size to work around http://github.com/travis-ci/travis-ci/issues/3396 --> |
| <argLine> |
| -Xmx2g |
| --add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.main=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.processing=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED |
| --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED |
| --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED |
| --add-opens=jdk.compiler/com.sun.tools.javac.comp=ALL-UNNAMED |
| </argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>2.4.3</version> |
| <executions> |
| <execution> |
| <id>shade-all-deps</id> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <shadedArtifactAttached>true</shadedArtifactAttached> |
| <shadedClassifierName>all-deps</shadedClassifierName> |
| <createDependencyReducedPom>false</createDependencyReducedPom> |
| <!-- http://stackoverflow.com/a/6743609 --> |
| <filters> |
| <filter> |
| <artifact>*:*</artifact> |
| <excludes> |
| <exclude>META-INF/*.SF</exclude> |
| <exclude>META-INF/*.DSA</exclude> |
| <exclude>META-INF/*.RSA</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>3.1.1</version> |
| <configuration> |
| <source>8</source> |
| <detectJavaApiLink>false</detectJavaApiLink> |
| <notimestamp>true</notimestamp> |
| <doctitle>turbine ${project.version} API</doctitle> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| <profiles> |
| <profile> |
| <id>java-8</id> |
| <activation> |
| <jdk>1.8</jdk> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <!-- put javac.jar on bootclasspath when executing tests --> |
| <argLine>-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</argLine> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <fork>true</fork> |
| <compilerArgs> |
| <arg>-parameters</arg> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</arg> |
| <arg>-J-Xbootclasspath/p:${settings.localRepository}/com/google/errorprone/javac/${javac.version}/javac-${javac.version}.jar</arg> |
| </compilerArgs> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |