| <?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.8.0</version> |
| </parent> |
| |
| <artifactId>kudu-backup${spark.version.label}_${scala.binary.version}</artifactId> |
| <name>Kudu Backup</name> |
| |
| <dependencies> |
| <dependency> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>kudu-client</artifactId> |
| <version>${project.version}</version> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>kudu-${spark.version.label}_${scala.binary.version}</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.protobuf</groupId> |
| <artifactId>protobuf-java-util</artifactId> |
| <version>${protobuf.version}</version> |
| <exclusions> |
| <exclusion> |
| <!-- Make sure wrong Guava version is not pulled in. --> |
| <groupId>com.google.guava</groupId> |
| <artifactId>guava</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <dependency> |
| <groupId>com.github.scopt</groupId> |
| <artifactId>scopt_${scala.binary.version}</artifactId> |
| <version>${scopt.version}</version> |
| <exclusions> |
| <exclusion> |
| <!-- Make sure wrong Scala version is not pulled in. --> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| </exclusion> |
| </exclusions> |
| </dependency> |
| <!-- TODO(KUDU-2500): Spark uses reflection which requires the annotations at runtime. --> |
| <dependency> |
| <groupId>org.apache.yetus</groupId> |
| <artifactId>audience-annotations</artifactId> |
| <version>${yetus.version}</version> |
| </dependency> |
| |
| <dependency> |
| <groupId>com.databricks</groupId> |
| <artifactId>spark-avro_${scala.binary.version}</artifactId> |
| <version>${sparkavro.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-core_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.spark</groupId> |
| <artifactId>spark-sql_${scala.binary.version}</artifactId> |
| <version>${spark.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scala-lang</groupId> |
| <artifactId>scala-library</artifactId> |
| <version>${scala.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-api</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>provided</scope> |
| </dependency> |
| |
| <dependency> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>kudu-${spark.version.label}_${scala.binary.version}</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.apache.kudu</groupId> |
| <artifactId>kudu-client</artifactId> |
| <version>${project.version}</version> |
| <type>test-jar</type> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>junit</groupId> |
| <artifactId>junit</artifactId> |
| <version>${junit.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>log4j</groupId> |
| <artifactId>log4j</artifactId> |
| <version>${log4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.scalatest</groupId> |
| <artifactId>scalatest_${scala.binary.version}</artifactId> |
| <version>${scalatest.version}</version> |
| <scope>test</scope> |
| </dependency> |
| <dependency> |
| <groupId>org.slf4j</groupId> |
| <artifactId>slf4j-log4j12</artifactId> |
| <version>${slf4j.version}</version> |
| <scope>test</scope> |
| </dependency> |
| </dependencies> |
| |
| <build> |
| <!-- set source dirs explicitly for the scalafmt plugin --> |
| <sourceDirectory>src/main/scala</sourceDirectory> |
| <testSourceDirectory>src/test/scala</testSourceDirectory> |
| <extensions> |
| <!-- Used in the protobuf plugin to find the right protoc artifact |
| with the property os.detected.classifier --> |
| <extension> |
| <groupId>kr.motd.maven</groupId> |
| <artifactId>os-maven-plugin</artifactId> |
| <version>${maven-os-plugin.version}</version> |
| </extension> |
| </extensions> |
| <plugins> |
| <plugin> |
| <groupId>org.xolstice.maven.plugins</groupId> |
| <artifactId>protobuf-maven-plugin</artifactId> |
| <version>${maven-protoc-plugin.version}</version> |
| <extensions>true</extensions> |
| <configuration> |
| <!-- Documented at: |
| https://www.xolstice.org/protobuf-maven-plugin/usage.html --> |
| <checkStaleness>true</checkStaleness> |
| <protoSourceRoot>src/main/protobuf</protoSourceRoot> |
| <protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact> |
| </configuration> |
| <executions> |
| <execution> |
| <goals> |
| <goal>compile</goal> |
| </goals> |
| <phase>generate-sources</phase> |
| </execution> |
| </executions> |
| </plugin> |
| <plugin> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-shade-plugin</artifactId> |
| <version>${maven-shade-plugin.version}</version> |
| <configuration> |
| <artifactSet> |
| <includes> |
| <include>com.google.guava:guava</include> |
| <include>com.google.gson:protobuf-gson</include> |
| <include>com.google.protobuf:protobuf-java</include> |
| <include>com.google.protobuf:protobuf-java</include> |
| </includes> |
| </artifactSet> |
| <relocations> |
| <relocation> |
| <pattern>com.google.common</pattern> |
| <shadedPattern>org.apache.kudu.shaded.com.google.common</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google.gson</pattern> |
| <shadedPattern>org.apache.kudu.shaded.com.google.gson</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google.protobuf</pattern> |
| <shadedPattern>org.apache.kudu.shaded.com.google.protobuf</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.google.thirdparty</pattern> |
| <shadedPattern>org.apache.kudu.shaded.com.google.thirdparty</shadedPattern> |
| </relocation> |
| <relocation> |
| <pattern>com.github.scopt</pattern> |
| <shadedPattern>org.apache.kudu.shaded.scopt</shadedPattern> |
| </relocation> |
| </relocations> |
| </configuration> |
| </plugin> |
| <plugin> |
| <groupId>net.alchim31.maven</groupId> |
| <artifactId>scala-maven-plugin</artifactId> |
| <version>${scala-maven-plugin.version}</version> |
| <configuration> |
| <charset>${project.build.sourceEncoding}</charset> |
| <scalaVersion>${scala.version}</scalaVersion> |
| <args> |
| <!-- Emit warning and location for usages of features that should be imported explicitly. --> |
| <arg>-feature</arg> |
| <!-- Emit various static analysis warnings. --> |
| <arg>-Xlint</arg> |
| </args> |
| </configuration> |
| <executions> |
| <execution> |
| <id>scala-compile-first</id> |
| <phase>process-resources</phase> |
| <goals> |
| <goal>add-source</goal> |
| <goal>compile</goal> |
| </goals> |
| </execution> |
| <execution> |
| <id>scala-test-compile</id> |
| <phase>process-test-resources</phase> |
| <goals> |
| <goal>testCompile</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-shade-plugin</artifactId> |
| <version>${maven-shade-plugin.version}</version> |
| </plugin> |
| <plugin> |
| <groupId>org.antipathy</groupId> |
| <artifactId>mvn-scalafmt</artifactId> |
| </plugin> |
| </plugins> |
| |
| |
| <pluginManagement> |
| <plugins> |
| <plugin> |
| <!-- kudu-backup has no public Javadoc. --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-javadoc-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <plugin> |
| <!-- Skip publishing kudu-backup until it's ready to be supported long-term. --> |
| <groupId>org.apache.maven.plugins</groupId> |
| <artifactId>maven-deploy-plugin</artifactId> |
| <configuration> |
| <skip>true</skip> |
| </configuration> |
| </plugin> |
| <!-- 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. --> |
| <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>org.xolstice.maven.plugins</groupId> |
| <artifactId>protobuf-maven-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> |
| </project> |