| <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"> |
| <!--Including all elements specified at |
| https://docs.sonatype.org/display/Repository/Central+Sync+Requirements--> |
| <modelVersion>4.0.0</modelVersion> |
| <groupId>org.apache.mesos</groupId> |
| <artifactId>mesos</artifactId> |
| <name>mesos</name> |
| <version>@PACKAGE_VERSION@</version> |
| <description>The Apache Mesos Java API jar.</description> |
| <url>http://mesos.apache.org</url> |
| <scm> |
| <connection>scm:git:https://gitbox.apache.org/repos/asf/mesos.git</connection> |
| <url>https://gitbox.apache.org/repos/asf/mesos.git</url> |
| </scm> |
| <!-- We inherit from the apache parent pom to use its repositories |
| but since we don't use Maven as the primary build system for |
| Mesos, we don't use the -Papache-profile flag --> |
| <parent> |
| <groupId>org.apache</groupId> |
| <artifactId>apache</artifactId> |
| <version>11</version> |
| </parent> |
| <mailingLists> |
| <mailingList> |
| <name>Mesos Dev List</name> |
| <subscribe>dev-subscribe@mesos.apache.org</subscribe> |
| <unsubscribe>dev-unsubscribe@mesos.apache.org</unsubscribe> |
| <post>dev@mesos.apache.org</post> |
| <archive>http://mail-archives.apache.org/mod_mbox/mesos-dev</archive> |
| <otherArchives> |
| <otherArchive>http://mail-archives.apache.org/mod_mbox/mesos-dev</otherArchive> |
| </otherArchives> |
| </mailingList> |
| </mailingLists> |
| <dependencies> |
| <dependency> |
| <artifactId>protobuf-java</artifactId> |
| <groupId>com.google.protobuf</groupId> |
| <version>3.5.0</version> |
| </dependency> |
| </dependencies> |
| <build> |
| <sourceDirectory>@abs_top_srcdir@/src/java/src</sourceDirectory> |
| <resources> |
| <resource> |
| <directory>${basedir}/classes</directory> |
| </resource> |
| </resources> |
| <plugins> |
| <!-- Add generated sources --> |
| <plugin> |
| <groupId>org.codehaus.mojo</groupId> |
| <artifactId>build-helper-maven-plugin</artifactId> |
| <version>1.8</version> |
| <executions> |
| <execution> |
| <phase>generate-sources</phase> |
| <goals> |
| <goal>add-source</goal> |
| </goals> |
| <configuration> |
| <sources> |
| <source>@abs_top_builddir@/src/java/generated</source> |
| </sources> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <artifactId>maven-compiler-plugin</artifactId> |
| <configuration> |
| <source>1.6</source> |
| <target>1.6</target> |
| </configuration> |
| </plugin> |
| <!-- Skip tests entirely --> |
| <plugin> |
| <artifactId>maven-surefire-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <!-- Build and attach javadoc --> |
| <plugin> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <sourcepath>@abs_top_srcdir@/src/java/src:@abs_top_builddir@/src/java/generated</sourcepath> |
| <subpackages>org.apache.mesos</subpackages> |
| </configuration> |
| <executions> |
| <execution> |
| <id>build-and-attach-javadocs</id> |
| <phase>package</phase> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Package up the Java source --> |
| <plugin> |
| <artifactId>maven-source-plugin</artifactId> |
| <configuration> |
| <excludeResources>true</excludeResources> |
| </configuration> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- We want to sign the artifact, the POM, and all attached artifacts --> |
| <plugin> |
| <artifactId>maven-gpg-plugin</artifactId> |
| <configuration> |
| <passphrase>${gpg.passphrase}</passphrase> |
| <useAgent>${gpg.useagent}</useAgent> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>sign</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Shade protobuf dependency. --> |
| <plugin> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>2.2</version> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| <configuration> |
| <shadedArtifactAttached>true</shadedArtifactAttached> |
| <shadedClassifierName>shaded-protobuf</shadedClassifierName> |
| <artifactSet> |
| <includes> |
| <include>com.google.protobuf:protobuf-java</include> |
| </includes> |
| </artifactSet> |
| <filters> |
| <filter> |
| <!-- Remove the source to keep the result smaller. --> |
| <artifact>com.google.protobuf:protobuf-java</artifact> |
| <excludes> |
| <exclude>**/*.java</exclude> |
| </excludes> |
| </filter> |
| </filters> |
| <relocations> |
| <relocation> |
| <pattern>com.google.protobuf</pattern> |
| <shadedPattern>org.apache.mesos.protobuf</shadedPattern> |
| </relocation> |
| </relocations> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Copy dependencies to target so we can use them in tests --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-dependency-plugin</artifactId> |
| <version>2.8</version> |
| <executions> |
| <execution> |
| <id>copy-dependencies</id> |
| <phase>package</phase> |
| <goals> |
| <goal>copy-dependencies</goal> |
| </goals> |
| <configuration> |
| <outputDirectory>${project.build.directory}</outputDirectory> |
| <overWriteReleases>false</overWriteReleases> |
| <overWriteSnapshots>false</overWriteSnapshots> |
| <overWriteIfNewer>true</overWriteIfNewer> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| </plugins> |
| </build> |
| </project> |