cdap-runtime-ext-dataproc
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>io.cdap.cdap</groupId> <artifactId>cdap-runtime-ext-dataproc</artifactId> <version>6.8.0</version> </dependency>
<?xml version="1.0" encoding="UTF-8"?> <!-- ~ Copyright © 2018 Cask Data, 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"> <parent> <artifactId>cdap</artifactId> <groupId>io.cdap.cdap</groupId> <version>6.8.0</version> </parent> <modelVersion>4.0.0</modelVersion> <artifactId>cdap-runtime-ext-dataproc</artifactId> <name>CDAP Google Cloud Dataproc Runtime Extension</name> <packaging>jar</packaging> <properties> <google.api.client.version>1.34.0</google.api.client.version> <google.cloud.libraries.bom.version>25.1.0</google.cloud.libraries.bom.version> </properties> <dependencies> <dependency> <groupId>io.cdap.cdap</groupId> <artifactId>cdap-runtime-spi</artifactId> <version>${project.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-dataproc</artifactId> <version>1.4.3</version> </dependency> <!-- for some reason, seeing old proto versions getting pulled in instead of the correct ones --> <dependency> <groupId>com.google.api.grpc</groupId> <artifactId>proto-google-cloud-dataproc-v1beta2</artifactId> <version>0.92.3</version> </dependency> <dependency> <groupId>com.google.api.grpc</groupId> <artifactId>proto-google-cloud-dataproc-v1</artifactId> <version>1.4.3</version> </dependency> <dependency> <groupId>com.google.apis</groupId> <artifactId>google-api-services-compute</artifactId> <version>v1-rev214-1.25.0</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava-jdk5</artifactId> </exclusion> <exclusion> <groupId>com.google.api-client</groupId> <artifactId>com.google.api-client</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <!-- required by com.google.auth:google-auth-library-oauth2-http, but set to 0.13.0 by google-cloud-dataproc for some reason --> <version>20.0</version> </dependency> <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>${commons.cli.version}</version> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>google-cloud-storage</artifactId> </dependency> <!-- cloud storage requires google-api-client > 1.31.0, but set to 1.25.0 by google-api-services-compute--> <dependency> <groupId>com.google.api-client</groupId> <artifactId>google-api-client</artifactId> <version>${google.api.client.version}</version> <exclusions> <exclusion> <groupId>com.google.guava</groupId> <artifactId>guava-jdk5</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.cdap.twill</groupId> <artifactId>twill-yarn</artifactId> <exclusions> <!-- Exclude hadoop jars from twill yarn --> <exclusion> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> </exclusion> <exclusion> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-hdfs</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>io.cdap.twill</groupId> <artifactId>twill-core</artifactId> </dependency> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-yarn-api</artifactId> <scope>provided</scope> <exclusions> <exclusion> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </exclusion> </exclusions> </dependency> <!-- This is needed to create yarn configuration --> <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-common</artifactId> <scope>provided</scope> <exclusions> <exclusion> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-module-junit4</artifactId> </dependency> <dependency> <groupId>org.powermock</groupId> <artifactId>powermock-api-mockito</artifactId> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>com.google.cloud</groupId> <artifactId>libraries-bom</artifactId> <version>${google.cloud.libraries.bom.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <profiles> <!-- this profile is used to build a fat jar to use the DataprocTool utility class, primarily for manual testing purposes --> <profile> <id>tool</id> <!-- add provided scope dependencies as compile scope so that they get bundled in fat jar --> <dependencies> <dependency> <groupId>io.cdap.cdap</groupId> <artifactId>cdap-runtime-spi</artifactId> <version>${project.version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.3</version> <executions> <!-- Run shade goal on package phase --> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <keepDependenciesWithProvidedScope>true</keepDependenciesWithProvidedScope> <createDependencyReducedPom>false</createDependencyReducedPom> <transformers> <transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer"/> </transformers> <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> </plugins> </build> </profile> <profile> <id>dist</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.8</version> <executions> <execution> <id>copy-dependencies</id> <phase>prepare-package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration combine.self="override"> <outputDirectory>${project.build.directory}/libexec</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> <prependGroupId>true</prependGroupId> <silent>true</silent> <includeScope>runtime</includeScope> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <executions> <execution> <id>jar</id> <phase>prepare-package</phase> <configuration combine.self="override"> <outputDirectory>${project.build.directory}/libexec</outputDirectory> <finalName>${project.groupId}.${project.build.finalName}</finalName> </configuration> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.6</version> <executions> <execution> <id>copy-json</id> <phase>prepare-package</phase> <goals> <goal>copy-resources</goal> </goals> <configuration combine.self="override"> <outputDirectory>${project.build.directory}/libexec</outputDirectory> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <includes> <include>*.json</include> </includes> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>