| <?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> |
| |
| <groupId>com.google.turbine</groupId> |
| <artifactId>turbine</artifactId> |
| <version>HEAD-SNAPSHOT</version> |
| |
| <name>turbine</name> |
| <description>turbine is a header compiler for Java</description> |
| <url>https://github.com/google/turbine</url> |
| |
| <properties> |
| <asm.version>9.5</asm.version> |
| <guava.version>32.1.1-jre</guava.version> |
| <errorprone.version>2.16</errorprone.version> |
| <maven-javadoc-plugin.version>3.3.1</maven-javadoc-plugin.version> |
| <maven-source-plugin.version>3.2.1</maven-source-plugin.version> |
| <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> |
| <protobuf.version>3.19.6</protobuf.version> |
| <grpc.version>1.43.2</grpc.version> |
| <native.maven.plugin.version>0.9.23</native.maven.plugin.version> |
| </properties> |
| |
| <organization> |
| <name>Google Inc.</name> |
| <url>http://www.google.com/</url> |
| </organization> |
| |
| <developers> |
| <developer> |
| <name>Liam Miller-Cushon</name> |
| </developer> |
| </developers> |
| |
| <scm> |
| <connection>scm:git:https://github.com/google/turbine.git</connection> |
| <developerConnection>scm:git:git@github.com:google/turbine.git</developerConnection> |
| <url>https://github.com/google/turbine</url> |
| </scm> |
| |
| <licenses> |
| <license> |
| <name>Apache 2.0</name> |
| <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> |
| </license> |
| </licenses> |
| |
| <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.jspecify</groupId> |
| <artifactId>jspecify</artifactId> |
| <version>0.2.0</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</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>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>4.13.2</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.truth</groupId> |
| <artifactId>truth</artifactId> |
| <version>1.1.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.truth.extensions</groupId> |
| <artifactId>truth-proto-extension</artifactId> |
| <version>1.1.3</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.truth.extensions</groupId> |
| <artifactId>truth-java8-extension</artifactId> |
| <version>1.1.3</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.9</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>com.google.auto</groupId> |
| <artifactId>auto-common</artifactId> |
| <version>1.2.1</version> |
| <scope>test</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.7.0</version> |
| </extension> |
| </extensions> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <version>3.9.0</version> |
| <configuration> |
| <source>8</source> |
| <target>8</target> |
| <encoding>UTF-8</encoding> |
| <compilerArgs> |
| <arg>-parameters</arg> |
| <arg>-XDcompilePolicy=simple</arg> |
| <arg>-Xplugin:ErrorProne</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.6.1</version> |
| <configuration> |
| <protoSourceRoot>proto</protoSourceRoot> |
| <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> |
| <pluginId>grpc-java</pluginId> |
| <pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}: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.22.2</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>3.2.4</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.3.1</version> |
| <configuration> |
| <source>8</source> |
| <detectJavaApiLink>false</detectJavaApiLink> |
| <notimestamp>true</notimestamp> |
| <doctitle>turbine ${project.version} API</doctitle> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| |
| <distributionManagement> |
| <snapshotRepository> |
| <id>sonatype-nexus-snapshots</id> |
| <name>Sonatype Nexus Snapshots</name> |
| <url>https://oss.sonatype.org/content/repositories/snapshots/</url> |
| </snapshotRepository> |
| <repository> |
| <id>sonatype-nexus-staging</id> |
| <name>Nexus Release Repository</name> |
| <url>https://oss.sonatype.org/service/local/staging/deploy/maven2/</url> |
| </repository> |
| </distributionManagement> |
| |
| <profiles> |
| <profile> |
| <id>sonatype-oss-release</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>${maven-source-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <goals> |
| <goal>jar-no-fork</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>${maven-javadoc-plugin.version}</version> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <version>3.0.1</version> |
| <executions> |
| <execution> |
| <id>sign-artifacts</id> |
| <phase>verify</phase> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| <profile> |
| <id>native</id> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>org.graalvm.buildtools</groupId> |
| <artifactId>native-maven-plugin</artifactId> |
| <version>${native.maven.plugin.version}</version> |
| <extensions>true</extensions> |
| <executions> |
| <execution> |
| <id>build-native</id> |
| <goals> |
| <goal>build</goal> |
| </goals> |
| <phase>package</phase> |
| </execution> |
| <execution> |
| <id>test-native</id> |
| <goals> |
| <goal>test</goal> |
| </goals> |
| <phase>test</phase> |
| </execution> |
| </executions> |
| <configuration> |
| <imageName>turbine</imageName> |
| <mainClass>com.google.turbine.main.Main</mainClass> |
| <classpath> |
| <param>${project.build.directory}/${project.artifactId}-${project.version}-all-deps.jar</param> |
| </classpath> |
| <buildArgs> |
| <buildArg>--no-fallback</buildArg> |
| </buildArgs> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |