| <?xml version="1.0" encoding="UTF-8"?> |
| <!-- |
| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you 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/maven-v4_0_0.xsd"> |
| <modelVersion>4.0.0</modelVersion> |
| <parent> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>kudu-parent</artifactId> |
| <version>1.0.1</version> |
| </parent> |
| |
| <artifactId>kudu-client</artifactId> |
| <name>Kudu Java Client</name> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>interface-annotations</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.protobuf</groupId> |
| <artifactId>protobuf-java</artifactId> |
| <version>${protobuf.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| <version>${guava.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.google.code.findbugs</groupId> |
| <artifactId>jsr305</artifactId> |
| <version>${jsr305.version}</version> |
| <optional>true</optional> |
| </dependency> |
| <dependency> |
| <groupId>io.netty</groupId> |
| <artifactId>netty</artifactId> |
| <version>${netty.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>${log4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.mockito</groupId> |
| <artifactId>mockito-all</artifactId> |
| <version>${mockito-all.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <!-- Not shaded or included in the client JAR because it's part |
| of the public API. --> |
| <groupId>com.stumbleupon</groupId> |
| <artifactId>async</artifactId> |
| <version>${async.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>com.sangupta</groupId> |
| <artifactId>murmur</artifactId> |
| <version>${murmur.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>commons-io</groupId> |
| <artifactId>commons-io</artifactId> |
| <version>${commons-io.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.google.protobuf.tools</groupId> |
| <artifactId>maven-protoc-plugin</artifactId> |
| <version>${maven-protoc-plugin.version}</version> |
| <configuration> |
| <!-- Documented at: |
| http://sergei-ivanov.github.io/maven-protoc-plugin/compile-mojo.html --> |
| <checkStaleness>true</checkStaleness> |
| <protoSourceRoot>${project.basedir}/../../src</protoSourceRoot> |
| <protocExecutable> |
| ${project.basedir}/../../thirdparty/installed-deps/bin/protoc |
| </protocExecutable> |
| <!-- Where we'll look for built-in .proto files such as |
| google/protobuf/descriptor.proto. --> |
| <additionalProtoPathElements> |
| <additionalProtoPathElement> |
| ${project.basedir}/../../thirdparty/installed-deps/include |
| </additionalProtoPathElement> |
| </additionalProtoPathElements> |
| <excludes> |
| <exclude>**/*test*.proto</exclude> |
| </excludes> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-clean-plugin</artifactId> |
| <version>2.5</version> |
| <executions> |
| <execution> |
| <id>delete-test-protos</id> |
| <!-- maven-protoc-plugin copies proto files as part of the |
| default-resources execution in the process-resources |
| phase. --> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>clean</goal> |
| </goals> |
| <configuration> |
| <excludeDefaultDirectories>true</excludeDefaultDirectories> |
| <filesets> |
| <fileset> |
| <directory>${project.build.directory}/classes</directory> |
| <includes> |
| <include>**/*test*.proto</include> |
| </includes> |
| </fileset> |
| </filesets> |
| </configuration> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>2.3</version> |
| <configuration> |
| <artifactSet> |
| <includes> |
| <include>com.google.guava:guava</include> |
| <include>com.google.protobuf:protobuf-java</include> |
| <include>com.sangupta:murmur</include> |
| <include>io.netty:netty</include> |
| </includes> |
| </artifactSet> |
| <relocations> |
| <relocation> |
| <pattern>com.google.common</pattern> |
| <shadedPattern>org.apache.kudu.client.shaded.com.google.common</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google.protobuf</pattern> |
| <shadedPattern>org.apache.kudu.client.shaded.com.google.protobuf</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.sangupta</pattern> |
| <shadedPattern>org.apache.kudu.client.shaded.com.sangupta</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>org.jboss.netty</pattern> |
| <shadedPattern>org.apache.kudu.client.shaded.org.jboss.netty</shadedPattern> |
| </relocation> |
| </relocations> |
| <shadeTestJar>true</shadeTestJar> |
| </configuration> |
| <executions> |
| <execution> |
| <phase>package</phase> |
| <goals> |
| <goal>shade</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <!-- Attach source and javadoc to packaged jar --> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-source-plugin</artifactId> |
| <version>2.4</version> |
| <executions> |
| <execution> |
| <id>attach-sources</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>attach-test-sources</id> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <version>2.10.3</version> |
| <executions> |
| <execution> |
| <id>attach-javadocs</id> |
| <goals> |
| <goal>jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-jar-plugin</artifactId> |
| <version>2.6</version> |
| <executions> |
| <execution> |
| <goals> |
| <goal>test-jar</goal> |
| </goals> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-surefire-plugin</artifactId> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-failsafe-plugin</artifactId> |
| </plugin> |
| </plugins> |
| |
| <!-- This big ol' block of nonsense tells the m2e Eclipse plugin what |
| to do with maven plugins that don't have m2e "extensions" available. |
| |
| It doesn't affect the Maven build at all. --> |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <groupId>org.eclipse.m2e</groupId> |
| <artifactId>lifecycle-mapping</artifactId> |
| <version>1.0.0</version> |
| <configuration> |
| <lifecycleMappingMetadata> |
| <pluginExecutions> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-antrun-plugin</artifactId> |
| <versionRange>[${maven-antrun-plugin.version},)</versionRange> |
| <goals> |
| <goal>run</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <execute> |
| <runOnIncremental>false</runOnIncremental> |
| </execute> |
| </action> |
| </pluginExecution> |
| <pluginExecution> |
| <pluginExecutionFilter> |
| <groupId>com.google.protobuf.tools</groupId> |
| <artifactId>maven-protoc-plugin</artifactId> |
| <versionRange>[${maven-protoc-plugin.version},)</versionRange> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| </pluginExecutionFilter> |
| <action> |
| <execute> |
| <runOnIncremental>false</runOnIncremental> |
| </execute> |
| </action> |
| </pluginExecution> |
| </pluginExecutions> |
| </lifecycleMappingMetadata> |
| </configuration> |
| </plugin> |
| </plugins> |
| </pluginManagement> |
| </build> |
| |
| <profiles> |
| <!-- If thirdparty's protoc can't be found, this profile will activate and |
| use the system's protoc during the build. --> |
| <profile> |
| <id>protoc-system</id> |
| <activation> |
| <file> |
| <missing>${basedir}/../../thirdparty/installed-deps/bin/protoc</missing> |
| </file> |
| </activation> |
| <build> |
| <plugins> |
| <plugin> |
| <groupId>com.google.protobuf.tools</groupId> |
| <artifactId>maven-protoc-plugin</artifactId> |
| <version>${maven-protoc-plugin.version}</version> |
| <configuration> |
| <protocExecutable>protoc</protocExecutable> |
| <additionalProtoPathElements> |
| <additionalProtoPathElement>/usr/include</additionalProtoPathElement> |
| <additionalProtoPathElement>/usr/local/include</additionalProtoPathElement> |
| </additionalProtoPathElements> |
| </configuration> |
| </plugin> |
| </plugins> |
| </build> |
| </profile> |
| </profiles> |
| </project> |