cdap
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>io.cdap.cdap</groupId>
<artifactId>cdap</artifactId>
<version>6.11.1</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright © 2014-2021 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">
<modelVersion>4.0.0</modelVersion>
<groupId>io.cdap.cdap</groupId>
<artifactId>cdap</artifactId>
<version>6.11.1</version>
<packaging>pom</packaging>
<name>Cask Data Application Platform (CDAP)</name>
<description>Data Application Platform for Hadoop</description>
<url>https://github.com/caskdata/cdap</url>
<organization>
<name>CDAP</name>
<url>http://cdap.io</url>
</organization>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
</license>
</licenses>
<developers>
<developer>
<name>Cask Data</name>
<email>cask-dev@googlegroups.com</email>
<organization>Cask Data, Inc.</organization>
<organizationUrl>http://www.cdap.io</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:https://github.com/cdapio/cdap.git</connection>
<developerConnection>scm:git:git@github.com:cdapio/cdap.git</developerConnection>
<url>https://github.com/cdapio/cdap.git</url>
<tag>HEAD</tag>
</scm>
<repositories>
<repository>
<id>apache</id>
<url>https://repository.apache.org/content/repositories/public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>daily</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
<repository>
<id>sonatype</id>
<url>https://central.sonatype.com/repository/maven-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
<repository>
<id>snapshot</id>
<url>https://repository.apache.org/content/repositories/snapshots/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
<checksumPolicy>fail</checksumPolicy>
</snapshots>
</repository>
</repositories>
<properties>
<jee.version>7</jee.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<surefire.redirectTestOutputToFile>true</surefire.redirectTestOutputToFile>
<etl.batch.plugin.name>ETLBatch</etl.batch.plugin.name>
<etl.realtime.plugin.name>ETLRealtime</etl.realtime.plugin.name>
<apache.jdbm1.version>2.0.0-M2</apache.jdbm1.version>
<asm.version>7.1</asm.version>
<async.http.version>1.9.40</async.http.version>
<avro.version>1.11.4</avro.version>
<bouncycastle.version>1.70</bouncycastle.version>
<cdap.common.version>0.13.1</cdap.common.version>
<cdap.client.version>1.4.0</cdap.client.version>
<commons.cli.version>1.2</commons.cli.version>
<commons.collections.version>3.2.2</commons.collections.version>
<commons.compress.version>1.22</commons.compress.version>
<commons.lang3.version>3.12.0</commons.lang3.version>
<dropwizard.version>3.1.2</dropwizard.version>
<fastutil.version>6.5.6</fastutil.version>
<findbugs.jsr305.version>2.0.1</findbugs.jsr305.version>
<geronimo.version>2.0.0</geronimo.version>
<grok.version>0.1.0</grok.version>
<gson.version>2.3.1</gson.version>
<guava.version>13.0.1</guava.version>
<guice.version>4.0</guice.version>
<hadoop.version>3.3.6</hadoop.version>
<hsql.version>2.2.4</hsql.version>
<jackson.version>2.15.1</jackson.version>
<jsch.version>0.1.54</jsch.version>
<jetty9.version>9.4.51.v20230217</jetty9.version>
<jline.version>2.12</jline.version>
<junit.version>4.11</junit.version>
<hamcrest.version>2.2</hamcrest.version>
<log4j2.slf4j.version>2.20.0</log4j2.slf4j.version>
<pragmatists.version>1.0.5</pragmatists.version>
<kafka.version>0.10.2.2</kafka.version>
<leveldb.version>0.12</leveldb.version>
<logback.version>1.2.11</logback.version>
<mockftp.version>2.6</mockftp.version>
<mockito.version>3.9.0</mockito.version>
<mysql.version>5.1.21</mysql.version>
<netty.http.version>1.7.0</netty.http.version>
<netty.version>4.1.75.Final</netty.version>
<powermock.version>2.0.9</powermock.version>
<quartz.version>2.2.0</quartz.version>
<resteasy.version>3.0.8.Final</resteasy.version>
<rs-api.version>2.0</rs-api.version>
<!-- Please keep consistent with the one in Spark 3 -->
<scala2.12.version>2.12.15</scala2.12.version>
<servlet.api.version>3.1.0</servlet.api.version>
<slf4j.version>1.7.15</slf4j.version>
<snappy.version>1.1.1.7</snappy.version>
<spark3.artifacts.dir>spark3_2.12</spark3.artifacts.dir>
<spark3.version>3.3.2</spark3.version>
<sshd.version>1.7.0</sshd.version>
<tephra.version>0.15.0-incubating</tephra.version>
<tez.version>0.8.4</tez.version>
<thrift.version>0.9.3</thrift.version>
<twill.version>1.4.0</twill.version>
<unboundid.version>2.3.6</unboundid.version>
<zookeeper.version>3.4.5</zookeeper.version>
<embedded-postgres.version>1.3.1</embedded-postgres.version>
<dbcp.version>2.9.0</dbcp.version>
<jacoco.version>0.8.6</jacoco.version>
<!-- Overwrite Apache Ivy version to 2.5.1 for remediating CVE-2022-37866-->
<ivy.version>2.5.1</ivy.version>
<jgit.version>5.9.0.202009080501-r</jgit.version>
<cask.packages.snapshot.repo>http://cask.invalid.snapshot.repo.co</cask.packages.snapshot.repo>
<cask.packages.release.repo>http://cask.invalid.release.repo.co</cask.packages.release.repo>
<release.iteration>1</release.iteration>
<sonar.organization>cdap</sonar.organization>
<sonar.projectKey>cdapio_${project.artifactId}</sonar.projectKey>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<sonar.coverage.jacoco.xmlReportPaths>${maven.multiModuleProjectDirectory}/cdap-coverage/target/site/jacoco-aggregate/jacoco.xml</sonar.coverage.jacoco.xmlReportPaths>
<!-- We need next line to ensure generated classes are analyzed -->
<sonar.scm.exclusions.disabled>true</sonar.scm.exclusions.disabled>
<!-- Need default value when coverage is not collected -->
<argLine/>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${log4j2.slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.common</groupId>
<artifactId>common-cli</artifactId>
<version>${cdap.common.version}</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${rs-api.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-api</artifactId>
<version>${twill.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.http</groupId>
<artifactId>netty-http</artifactId>
<version>${netty.http.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<!--
Excludes all transitive dependencies on netty, as we'll have dependency on netty-all directly
to override transitive dependency on netty 4.0 from Spark.
-->
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
</exclusion>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
</exclusion>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15on</artifactId>
<version>${bouncycastle.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tephra</groupId>
<artifactId>tephra-api</artifactId>
<version>${tephra.version}</version>
</dependency>
<dependency>
<groupId>org.apache.tephra</groupId>
<artifactId>tephra-core</artifactId>
<version>${tephra.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.twill</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-assistedinject</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-multibindings</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-servlet-initializer</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-guice</artifactId>
<version>${resteasy.version}</version>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>${snappy.version}</version>
</dependency>
<dependency>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
<version>${jline.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
<version>${findbugs.jsr305.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>${jsch.version}</version>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
<version>${avro.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
<!-- The one from spark should be used -->
<exclusion>
<groupId>com.thoughtworks.paranamer</groupId>
<artifactId>paranamer</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro-mapred</artifactId>
<version>${avro.version}</version>
<exclusions>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-log4j12</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>log4j</artifactId>
<groupId>log4j</groupId>
</exclusion>
<exclusion>
<artifactId>junit</artifactId>
<groupId>junit</groupId>
</exclusion>
<exclusion>
<groupId>org.jboss.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
<exclusion>
<groupId>jline</groupId>
<artifactId>jline</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
<version>${netty.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
<version>${asm.version}</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.12</artifactId>
<version>${kafka.version}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>${scala2.12.version}</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>${kafka.version}</version>
</dependency>
<dependency>
<groupId>org.iq80.leveldb</groupId>
<artifactId>leveldb</artifactId>
<version>${leveldb.version}</version>
<!-- leveldb 0.12 has conflicting guava 20 as a dependency. The uber jar shades guava -->
<classifier>uber</classifier>
</dependency>
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>${commons.cli.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-common</artifactId>
<version>${twill.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-core</artifactId>
<version>${twill.version}</version>
<exclusions>
<exclusion>
<groupId>net.jpountz.lz4</groupId>
<artifactId>lz4</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>log4j-over-slf4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-discovery-api</artifactId>
<version>${twill.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-discovery-core</artifactId>
<version>${twill.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-yarn</artifactId>
<version>${twill.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-guice</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-client</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-common</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.cdap.twill</groupId>
<artifactId>twill-zookeeper</artifactId>
<version>${twill.version}</version>
<exclusions>
<exclusion>
<groupId>jdk.toools</groupId>
<artifactId>jdk.tools</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>${thrift.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.avro</groupId>
<artifactId>avro</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
<exclusion>
<artifactId>guava</artifactId>
<groupId>com.google.guava</groupId>
</exclusion>
<exclusion>
<artifactId>jersey-core</artifactId>
<groupId>com.sun.jersey</groupId>
</exclusion>
<exclusion>
<artifactId>jersey-json</artifactId>
<groupId>com.sun.jersey</groupId>
</exclusion>
<exclusion>
<artifactId>jersey-server</artifactId>
<groupId>com.sun.jersey</groupId>
</exclusion>
<exclusion>
<artifactId>servlet-api</artifactId>
<groupId>javax.servlet</groupId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
<exclusion>
<artifactId>jasper-compiler</artifactId>
<groupId>tomcat</groupId>
</exclusion>
<exclusion>
<artifactId>jasper-runtime</artifactId>
<groupId>tomcat</groupId>
</exclusion>
<exclusion>
<artifactId>jsp-api</artifactId>
<groupId>javax.servlet.jsp</groupId>
</exclusion>
<exclusion>
<artifactId>slf4j-api</artifactId>
<groupId>org.slf4j</groupId>
</exclusion>
<exclusion>
<artifactId>jdk.tools</artifactId>
<groupId>jdk.tools</groupId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-auth</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-api</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-client</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-util</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-common</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-guice</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-app</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-server-web-proxy</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-shuffle</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-core</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-server</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-json</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey.contribs</groupId>
<artifactId>jersey-guice</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
</exclusion>
<exclusion>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-common</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-annotations</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.thekraken</groupId>
<artifactId>grok</artifactId>
<version>${grok.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${mysql.version}</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>${quartz.version}</version>
<exclusions>
<exclusion>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>${quartz.version}</version>
<exclusions>
<exclusion>
<groupId>c3p0</groupId>
<artifactId>c3p0</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.ning</groupId>
<artifactId>async-http-client</artifactId>
<version>${async.http.version}</version>
<exclusions>
<exclusion>
<groupId>io.netty</groupId>
<artifactId>netty</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty9.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
<version>${jetty9.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
<version>${jetty9.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jaspi</artifactId>
<version>${jetty9.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-plus</artifactId>
<version>${jetty9.version}</version>
</dependency>
<dependency>
<groupId>org.apache.geronimo.components</groupId>
<artifactId>geronimo-jaspi</artifactId>
<version>${geronimo.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>${servlet.api.version}</version>
</dependency>
<dependency>
<groupId>it.unimi.dsi</groupId>
<artifactId>fastutil</artifactId>
<version>${fastutil.version}</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-core</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>pl.pragmatists</groupId>
<artifactId>JUnitParams</artifactId>
<version>${pragmatists.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-module-junit4</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.powermock</groupId>
<artifactId>powermock-api-mockito2</artifactId>
<version>${powermock.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.tephra</groupId>
<artifactId>tephra-core</artifactId>
<version>${tephra.version}</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
<!-- Manage dropwizard to version compatible with tephra -->
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jvm</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-json</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-graphite</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jms</artifactId>
<version>${dropwizard.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-minicluster</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jersey</groupId>
<artifactId>jersey-core</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-minikdc</artifactId>
<version>${hadoop.version}</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.directory.jdbm</groupId>
<artifactId>apacheds-jdbm1</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.directory.jdbm</groupId>
<artifactId>apacheds-jdbm1</artifactId>
<version>${apache.jdbm1.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>${hsql.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.unboundid</groupId>
<artifactId>unboundid-ldapsdk</artifactId>
<version>${unboundid.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>${spark3.version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
</exclusion>
<exclusion>
<groupId>com.esotericsoftware.reflectasm</groupId>
<artifactId>reflectasm</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</exclusion>
<!-- excludes scala-compiler and scala-reflect to avoid conflicting with the one from spark-repl -->
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
</exclusion>
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-reflect</artifactId>
</exclusion>
<exclusion>
<groupId>org.eclipse.jetty.orbit</groupId>
<artifactId>javax.servlet</artifactId>
</exclusion>
<!--
Need to exclude this since Spark brings in an older version that makes
S3 not work in local sandbox. This doesn't affect distributed mode.
-->
<exclusion>
<groupId>net.java.dev.jets3t</groupId>
<artifactId>jets3t</artifactId>
</exclusion>
<exclusion>
<groupId>asm</groupId>
<artifactId>asm</artifactId>
</exclusion>
<!--
We still use hadoop2,
so excluding hadoop3 dependencies from spark
-->
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client-runtime</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>${spark3.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>org.scala-lang</groupId>
<artifactId>scala-compiler</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-streaming_2.12</artifactId>
<version>${spark3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-mllib_2.12</artifactId>
<version>${spark3.version}</version>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-repl_2.12</artifactId>
<version>${spark3.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.cdap</groupId>
<artifactId>cdap-authentication-client</artifactId>
<version>${cdap.client.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.common</groupId>
<artifactId>common-http</artifactId>
<version>${cdap.common.version}</version>
</dependency>
<dependency>
<groupId>io.cdap.common</groupId>
<artifactId>common-io</artifactId>
<version>${cdap.common.version}</version>
<exclusions>
<exclusion>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-all</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-jobclient</artifactId>
<version>${hadoop.version}</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-mapreduce-client-shuffle</artifactId>
</exclusion>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-reload4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons.compress.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons.lang3.version}</version>
</dependency>
<dependency>
<groupId>org.mockftpserver</groupId>
<artifactId>MockFtpServer</artifactId>
<version>${mockftp.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-core</artifactId>
<version>${sshd.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.zonky.test</groupId>
<artifactId>embedded-postgres</artifactId>
<version>${embedded-postgres.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-dbcp2</artifactId>
<version>${dbcp.version}</version>
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-cbor</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-scala_2.12</artifactId>
<version>${jackson.version}</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>${commons.collections.version}</version>
</dependency>
<dependency>
<!-- Overwrite Apache Ivy version to 2.5.1 for remediating CVE-2022-37866-->
<groupId>org.apache.ivy</groupId>
<artifactId>ivy</artifactId>
<version>${ivy.version}</version>
</dependency>
<!-- Git dependencies for Source Control Management start -->
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit</artifactId>
<version>${jgit.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jgit</groupId>
<artifactId>org.eclipse.jgit.http.server</artifactId>
<version>${jgit.version}</version>
<scope>test</scope>
</dependency>
<!-- Git dependencies for Source Control Management end -->
</dependencies>
</dependencyManagement>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.7.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M6</version>
<configuration>
<argLine>@{argLine} -Xmx3500m -Djava.awt.headless=true -XX:+UseG1GC -XX:OnOutOfMemoryError="kill -9 %p" -XX:+HeapDumpOnOutOfMemoryError</argLine>
<redirectTestOutputToFile>${surefire.redirectTestOutputToFile}</redirectTestOutputToFile>
<reuseForks>false</reuseForks>
<forkCount>3</forkCount>
<forkedProcessTimeoutInSeconds>1800</forkedProcessTimeoutInSeconds>
<reportFormat>plain</reportFormat>
<trimStackTrace>false</trimStackTrace>
<systemPropertyVariables>
<java.io.tmpdir>${project.build.directory}</java.io.tmpdir>
</systemPropertyVariables>
<includes>
<include>**/*TestsSuite.java</include>
<include>**/*TestSuite.java</include>
<include>**/Test*.java</include>
<include>**/*Test.java</include>
<include>**/*TestCase.java</include>
</includes>
<excludes>
<exclude>**/*TestRun.java</exclude>
<exclude>**/*TestBase.java</exclude>
</excludes>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.surefire</groupId>
<artifactId>surefire-junit47</artifactId>
<version>3.0.0-M6</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<version>0.13</version>
<dependencies>
<dependency>
<groupId>org.apache.maven.doxia</groupId>
<artifactId>doxia-core</artifactId>
<version>1.6</version>
<exclusions>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<executions>
<execution>
<id>rat-check</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<excludes>
<exclude>travis_wait*.log</exclude>
<exclude>build-number.txt</exclude>
<exclude>LICENSE*.txt</exclude>
<exclude>*.rst</exclude>
<exclude>*.md</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.md</exclude>
<exclude>logs/**</exclude>
<exclude>cdap-docs/**</exclude>
<exclude>**/grok/patterns/**</exclude>
<exclude>conf/**</exclude>
<exclude>data/**</exclude>
<exclude>plugins/**</exclude>
<exclude>**/LICENSES/**</exclude>
<exclude>**/VERSION</exclude>
<exlcude>**/*.patch</exlcude>
<exclude>**/logrotate.d/**</exclude>
<exclude>**/limits.d/**</exclude>
<!-- Excludes AVRO schema files -->
<exclude>**/*.avsc</exclude>
<!-- Excludes examples by default, include it in the examples profile -->
<exclude>cdap-examples/**</exclude>
<!-- Excludes app-templates by default, include it in the templates profile -->
<exclude>cdap-app-templates/**</exclude>
<exclude>**/*.json</exclude>
<exclude>**/resources/**/*.properties</exclude>
<exclude>**/*.json.template</exclude>
<exclude>**/MANIFEST.MF</exclude>
<exclude>**/.rubocop*.yml</exclude>
<exclude>third-party-licenses/**</exclude>
<exclude>.gitpod.yml</exclude>
<exclude>.gitpod.Dockerfile</exclude>
</excludes>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<executions>
<execution>
<id>validate</id>
<phase>process-test-classes</phase>
<configuration>
<configLocation>checkstyle.xml</configLocation>
<suppressionsLocation>suppressions.xml</suppressionsLocation>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
<failsOnError>true</failsOnError>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
</configuration>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>com.puppycrawl.tools</groupId>
<artifactId>checkstyle</artifactId>
<version>8.45.1</version>
</dependency>
</dependencies>
</plugin>
<!-- Scala code compilation -->
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<version>3.3.1</version>
<configuration>
<args>
<arg>-target:jvm-1.8</arg>
<arg>-nobootcp</arg>
</args>
</configuration>
<executions>
<execution>
<id>scala-add-source</id>
<goals>
<goal>add-source</goal>
</goals>
</execution>
<execution>
<id>scala-compile</id>
<!-- Needs to be before the compile phase -->
<phase>process-resources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
<execution>
<id>scala-test-compile</id>
<!-- Needs to be before the test-compile phase -->
<phase>process-test-resources</phase>
<goals>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- GPG signature -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
<configuration>
<passphrase>${gpg.passphrase}</passphrase>
<useAgent>${gpg.useagent}</useAgent>
</configuration>
<executions>
<execution>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>0.8.0</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>sonatype.release</publishingServerId>
<autoPublish>false</autoPublish>
<ignorePublishedComponents>true</ignorePublishedComponents>
</configuration>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<publishingServerId>sonatype.release</publishingServerId>
<autoPublish>false</autoPublish>
<ignorePublishedComponents>true</ignorePublishedComponents>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<!-- Special profile for running tests in MacOS. It needs a higher embedded postgreSQL version -->
<profile>
<id>postgres11</id>
<activation>
<os>
<family>mac</family>
</os>
</activation>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.zonky.test.postgres</groupId>
<artifactId>embedded-postgres-binaries-bom</artifactId>
<version>11.14.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</profile>
<!-- Profile to turn on inclusion of all cdap-app-templates -->
<profile>
<id>templates</id>
<activation>
<property><name>cloudBuild</name></property>
</activation>
<modules>
<module>cdap-app-templates</module>
</modules>
</profile>
<!-- Profile to run fast tests only -->
<profile>
<id>test-fast</id>
<properties>
<testcase.groups>!io.cdap.cdap.test.SlowTests</testcase.groups>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M6</version>
<configuration>
<groups>${testcase.groups}</groups>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- Profile to run fast and slow tests, but not xslow -->
<profile>
<id>test-slow</id>
<properties>
<testcase.groups>!io.cdap.cdap.test.XSlowTests</testcase.groups>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
<configuration>
<groups>${testcase.groups}</groups>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- Profile for release. Includes building of source and javadoc jars. -->
<profile>
<id>release</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<configuration>
<excludeResources>true</excludeResources>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<phase>package</phase>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<stylesheetfile>cdap-distributions/src/javadoc/stylesheet.css</stylesheetfile>
<bottom>
<![CDATA[Copyright © {currentYear} <a href="http://cask.co" target="_blank">Cask Data, Inc.</a> Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License, Version 2.0</a>.]]>
</bottom>
<doctitle>${project.name} ${project.version}</doctitle>
<links>
<link>https://cdapio.github.io/docs-site/hosted-javadocs/jsr305-${findbugs.jsr305.version}-javadoc/</link>
<link>http://avro.apache.org/docs/${avro.version}/api/java/</link>
<link>http://docs.oracle.com/javaee/${jee.version}/api/</link>
<link>http://hadoop.apache.org/docs/r${hadoop.version}/api/</link>
<link>http://twill.incubator.apache.org/apidocs-${twill.version}/</link>
</links>
<quiet>true</quiet>
</configuration>
<executions>
<execution>
<id>attach-javadoc</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>1.5</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
</plugin>
</plugins>
</build>
</profile>
<!-- Profile for dist -->
<profile>
<id>dist</id>
<properties>
<!--
Service name before removing cdap- prefix.
It's needed so that children pom can override it.
The value is then get transformed into service.name by regex using the build-helper plugin
-->
<original.service.name>${project.artifactId}</original.service.name>
<stage.dir>${project.build.directory}/stage-packaging</stage.dir>
<stage.opt.dir>${stage.dir}/opt/cdap/${package.name}</stage.opt.dir>
<stage.lib.dir>${stage.opt.dir}/lib</stage.lib.dir>
<stage.third.party.dir>${stage.opt.dir}/third_party</stage.third.party.dir>
<stage.plugins.dir>${stage.opt.dir}/plugins</stage.plugins.dir>
<stage.coprocessor.dir>${stage.opt.dir}/coprocessor</stage.coprocessor.dir>
<package.deb.depends>--depends cdap</package.deb.depends>
<package.rpm.depends>--depends cdap</package.rpm.depends>
<package.deb.arch>all</package.deb.arch>
<package.rpm.arch>all</package.rpm.arch>
<package.dirs>opt etc</package.dirs>
<package.config.dirs>--config-files etc/cdap --config-files etc/logrotate.d --config-files etc/security</package.config.dirs>
<dependency.groupId.exclusions>org.apache.hadoop,\
org.datanucleus,asm,org.apache.spark,slf4j-log4j12,commons-logging</dependency.groupId.exclusions>
</properties>
<build>
<pluginManagement>
<plugins>
<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>
<outputDirectory>${stage.lib.dir}</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-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<!-- Copy runtime dependencies -->
<execution>
<id>copy-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${stage.lib.dir}</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
<excludeGroupIds>${dependency.groupId.exclusions}</excludeGroupIds>
<excludeArtifactIds>jackson-core-asl,jackson-mapper-asl</excludeArtifactIds>
<prependGroupId>true</prependGroupId>
<silent>true</silent>
<includeScope>runtime</includeScope>
</configuration>
</execution>
<!-- Copy source dependencies for licenses requirement -->
<execution>
<id>src-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${stage.third.party.dir}</outputDirectory>
<classifier>sources</classifier>
<includeArtifactIds>jersey-client,jersey-core,jersey-server,activation,jsr250-api,servlet-api,jsp-api,jta,rs-api,jaxb-api,stax-api,jaxb-impl,jcip-annotations,jboss-annotations-api</includeArtifactIds>
<failOnMissingClassifierArtifact>true</failOnMissingClassifierArtifact>
<useSubDirectoryPerArtifact>true</useSubDirectoryPerArtifact>
<silent>true</silent>
<excludeScope>provided</excludeScope>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-third-party-licenses</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${stage.third.party.dir}/licenses</outputDirectory>
<resources>
<resource>
<directory>${project.parent.basedir}/cdap-distributions/src/third-party-licenses</directory>
<includes>
<include>*.license</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-opt</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${stage.opt.dir}</outputDirectory>
<useDefaultDelimiters>false</useDefaultDelimiters>
<delimiters>
<delimiter>@@</delimiter>
</delimiters>
<resources>
<resource>
<directory>${project.parent.basedir}/cdap-distributions</directory>
<includes>
<include>VERSION</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>${project.parent.basedir}/cdap-distributions/src</directory>
<includes>
<include>LICENSE-2.0.txt</include>
</includes>
</resource>
<resource>
<directory>${project.parent.basedir}/cdap-standalone/src/dist/LICENSES</directory>
<targetPath>LICENSES</targetPath>
</resource>
<resource>
<directory>${project.parent.basedir}/cdap-common/bin</directory>
<targetPath>bin</targetPath>
<filtering>true</filtering>
</resource>
<resource>
<directory>bin</directory>
<targetPath>bin</targetPath>
<excludes>
<exclude>node</exclude>
</excludes>
</resource>
<resource>
<directory>conf</directory>
<targetPath>conf</targetPath>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<!--This is for workaround a bug in resource-plugin that it doesn't preserve file permission-->
<!--http://jira.codehaus.org/browse/MRESOURCES-132-->
<execution>
<id>bin-permission</id>
<phase>prepare-package</phase>
<configuration>
<failOnError>false</failOnError>
<target>
<chmod file="${stage.opt.dir}/bin/**" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<!-- Generate the package version. If it has -SNAPSHOT, replace it with build time. -->
<plugins>
<!-- Generate a timestamp property -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>create-timestamp</id>
<phase>validate</phase>
<goals>
<goal>create-timestamp</goal>
</goals>
<configuration>
<timestampPropertyName>package.build.timestamp</timestampPropertyName>
</configuration>
</execution>
<execution>
<id>create-year</id>
<phase>validate</phase>
<goals>
<goal>create-timestamp</goal>
</goals>
<configuration>
<timestampPropertyName>package.build.year</timestampPropertyName>
<timestampFormat>yyyy</timestampFormat>
</configuration>
</execution>
</executions>
</plugin>
<!-- Generate the package.version property -->
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.9</version>
<executions>
<execution>
<id>regex-properties</id>
<phase>validate</phase>
<goals>
<goal>regex-properties</goal>
</goals>
<configuration>
<regexPropertySettings>
<regexPropertySetting>
<name>package.name</name>
<value>${project.artifactId}</value>
<regex>cdap-</regex>
<replacement></replacement>
<failIfNoMatch>false</failIfNoMatch>
</regexPropertySetting>
<regexPropertySetting>
<name>service.name</name>
<value>${original.service.name}</value>
<regex>cdap-</regex>
<replacement></replacement>
<failIfNoMatch>false</failIfNoMatch>
</regexPropertySetting>
<regexPropertySetting>
<name>package.version</name>
<value>${project.version}</value>
<regex>-SNAPSHOT</regex>
<replacement>.${package.build.timestamp}</replacement>
<failIfNoMatch>false</failIfNoMatch>
</regexPropertySetting>
</regexPropertySettings>
</configuration>
</execution>
</executions>
</plugin>
<!-- Determine the deploy.url for non-standard (e.g. zip, rpm, deb) deployment -->
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.5</version>
<dependencies>
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>1.5.8</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>choose-deploy-url</id>
<phase>initialize</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
if (project.version.endsWith("-SNAPSHOT")){
project.properties['deploy.url'] = project.properties['cask.packages.snapshot.repo']
project.properties['dist.deploy.groupId'] = "io.cdap.cdap.distributions.snapshots"
} else {
project.properties['deploy.url'] = project.properties['cask.packages.release.repo']
project.properties['dist.deploy.groupId'] = "io.cdap.cdap.distributions.release"
}
</source>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!-- Profile for prepare RPM package. The "dist" profile must be activated as well. -->
<profile>
<id>rpm-prepare</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-rpm-scripts</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dist/rpm</outputDirectory>
<!-- Copy it twice, one with filter, one without -->
<resources>
<resource>
<directory>${project.parent.basedir}/cdap-distributions/src/rpm/init.d</directory>
<targetPath>unfilter</targetPath>
</resource>
<resource>
<directory>${project.parent.basedir}/cdap-distributions/src/rpm/init.d</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>rename-rpm-service</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<copy file="${project.build.directory}/dist/rpm/cdap-service" tofile="${stage.dir}/etc/rc.d/init.d/cdap-${service.name}" />
</target>
</configuration>
</execution>
<!--This is for workaround a bug in resource-plugin that it doesn't preserve file permission-->
<!--http://jira.codehaus.org/browse/MRESOURCES-132-->
<execution>
<id>rpm-init-permission</id>
<phase>prepare-package</phase>
<configuration>
<target>
<chmod file="${stage.dir}/etc/rc.d/init.d/**" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>rpm-bin-permission</id>
<phase>prepare-package</phase>
<configuration>
<target>
<chmod file="${stage.opt.dir}/bin/**" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- Profile for prepare Debian package. The "dist" profile must be activated as well. -->
<profile>
<id>deb-prepare</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<id>copy-deb-staging</id>
<phase>prepare-package</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${stage.dir}-deb</outputDirectory>
<resources>
<resource>
<directory>${stage.dir}</directory>
<includes>
<include>opt/**</include>
<include>etc/profile.d/**</include>
</includes>
</resource>
</resources>
</configuration>
</execution>
<execution>
<id>copy-deb-scripts</id>
<phase>process-resources</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/dist/deb</outputDirectory>
<resources>
<!-- Copy it twice, one with filter, one without -->
<resource>
<directory>${project.parent.basedir}/cdap-distributions/src/debian/init.d</directory>
<targetPath>unfilter</targetPath>
</resource>
<resource>
<directory>${project.parent.basedir}/cdap-distributions/src/debian/init.d</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>rename-deb-service</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<copy file="${project.build.directory}/dist/deb/cdap-service" tofile="${stage.dir}-deb/etc/init.d/cdap-${service.name}" />
</target>
</configuration>
</execution>
<!--This is for workaround a bug in resource-plugin that it doesn't preserve file permission-->
<!--http://jira.codehaus.org/browse/MRESOURCES-132-->
<execution>
<id>deb-init-permission</id>
<phase>prepare-package</phase>
<configuration>
<target>
<chmod file="${stage.dir}-deb/etc/init.d/**" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
<execution>
<id>deb-bin-permission</id>
<phase>prepare-package</phase>
<configuration>
<target>
<chmod file="${stage.dir}-deb/opt/cdap/${package.name}/bin/**" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- Profile for creating RPM package. Both "dist" and "rpm-prepare" must be activated. -->
<profile>
<id>rpm</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>rpm-package</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<workingDirectory>${project.build.directory}</workingDirectory>
<executable>fpm</executable>
<commandlineArgs>
--name "cdap-${package.name}"
--vendor "Cask Data, Inc."
--maintainer "support@cask.co"
--license "Copyright © ${package.build.year} Cask Data, Inc. Licensed under the Apache License, Version 2.0."
--description "Cask DAP (CDAP) Component: ${package.name}"
--category misc
-s dir
-t rpm
-C "${stage.dir}"
--directories "/opt/cdap/${package.name}"
--version "${package.version}"
--architecture "${package.rpm.arch}"
--rpm-os linux
--url "http://cask.co"
--template-value "project=${package.name}"
--after-install "${project.parent.basedir}/cdap-distributions/src/rpm/scripts/postinst"
--before-remove "${project.parent.basedir}/cdap-distributions/src/rpm/scripts/prerm"
--after-remove "${project.parent.basedir}/cdap-distributions/src/rpm/scripts/postrm"
--iteration "${release.iteration}"
--depends coreutils
--depends libxml2
${package.rpm.depends}
${package.dirs}
</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- Profile for creating Debian package. Both "dist" and "deb-prepare" must be activated. -->
<profile>
<id>deb</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.3.1</version>
<executions>
<execution>
<id>deb-package</id>
<phase>package</phase>
<goals>
<goal>exec</goal>
</goals>
<configuration>
<workingDirectory>${project.build.directory}</workingDirectory>
<executable>fpm</executable>
<commandlineArgs>
--name "cdap-${package.name}"
--vendor "Cask Data, Inc."
--maintainer "support@cask.co"
--license "Copyright © ${package.build.year} Cask Data, Inc. Licensed under the Apache License, Version 2.0."
--description "Cask DAP (CDAP) Component: ${package.name}"
--category misc
-s dir
-t deb
-C "${stage.dir}-deb"
--directories "/opt/cdap/${package.name}"
--version "${package.version}"
--architecture "${package.deb.arch}"
--url "http://cask.co"
--template-value "project=${package.name}"
--after-install "${project.parent.basedir}/cdap-distributions/src/debian/scripts/postinst"
--before-remove "${project.parent.basedir}/cdap-distributions/src/debian/scripts/prerm"
--after-remove "${project.parent.basedir}/cdap-distributions/src/debian/scripts/postrm"
--iteration "${release.iteration}"
--depends coreutils
--depends libxml2-utils
${package.deb.depends}
${package.dirs}
</commandlineArgs>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- For generating tar.gz. Requires "dist" profile being activated. -->
<profile>
<id>tgz</id>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>tgz-package</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<descriptors>
<descriptor>${project.parent.basedir}/cdap-distributions/src/main/assembly/tgz.xml</descriptor>
</descriptors>
<appendAssemblyId>false</appendAssemblyId>
<attach>false</attach>
<finalName>${project.artifactId}-${package.version}</finalName>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<!-- For running findbugs plugin -->
<profile>
<id>findbugs</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>findbugs-maven-plugin</artifactId>
<version>3.0.5</version>
<dependencies>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.4.20</version>
</dependency>
</dependencies>
<executions>
<execution>
<id>findbugs-check</id>
<goals>
<goal>check</goal>
</goals>
<phase>process-test-classes</phase>
<configuration>
<failOnError>false</failOnError>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<!--
This profile contains modules that only has tests.
-->
<profile>
<id>unit-tests</id>
<activation>
<jdk>[1.7,)</jdk>
</activation>
<modules>
<module>cdap-data-fabric-tests</module>
<module>cdap-tms-tests</module>
<module>cdap-cli-tests</module>
<module>cdap-client-tests</module>
<module>cdap-app-fabric-tests</module>
<module>cdap-e2e-tests</module>
</modules>
</profile>
<!--
This profile defines all default modules and must come as the last profile.
It is needed so that when examples and templates profile are turned on, they are
built before cdap-standalone and cdap-master, which need examples and templates artifacts
-->
<profile>
<id>default</id>
<activation>
<jdk>[1.7,)</jdk>
</activation>
<modules>
<module>cdap-common-unit-test</module>
<module>cdap-api-common</module>
<module>cdap-api</module>
<module>cdap-api-spark3_2.12</module>
<module>cdap-formats</module>
<module>cdap-features</module>
<module>cdap-elastic</module>
<module>cdap-error-api</module>
<module>cdap-kubernetes</module>
<module>cdap-common</module>
<module>cdap-docs-gen</module>
<module>cdap-watchdog-api</module>
<module>cdap-kafka</module>
<module>cdap-data-fabric</module>
<module>cdap-watchdog</module>
<module>cdap-app-fabric</module>
<module>cdap-spark-core3_2.12</module>
<module>cdap-spark-python</module>
<module>cdap-security-spi</module>
<module>cdap-security</module>
<module>cdap-metadata-spi</module>
<module>cdap-storage-ext-spanner</module>
<module>cdap-storage-spi</module>
<module>cdap-system-app-api</module>
<module>cdap-system-app-unit-test</module>
<module>cdap-tms</module>
<module>cdap-messaging-spi</module>
<module>cdap-messaging-ext-spanner</module>
<module>cdap-gateway</module>
<module>cdap-unit-test</module>
<module>cdap-unit-test-spark3_2.12</module>
<module>cdap-kms</module>
<module>cdap-master-spi</module>
<module>cdap-master</module>
<module>cdap-proto</module>
<module>cdap-credential-ext-gcp-wi</module>
<module>cdap-runtime-ext-dataproc</module>
<module>cdap-runtime-ext-emr</module>
<module>cdap-runtime-ext-remote-hadoop</module>
<module>cdap-runtime-spi</module>
<module>cdap-securestore-ext-cloudkms</module>
<module>cdap-securestore-ext-gcp-secretstore</module>
<module>cdap-securestore-spi</module>
<module>cdap-support-bundle</module>
<module>cdap-operational-stats-core</module>
<module>cdap-client</module>
<module>cdap-cli</module>
<module>cdap-standalone</module>
<module>cdap-distributions</module>
<module>cdap-test</module>
<module>cdap-integration-test</module>
<module>cdap-ui</module>
<module>cdap-event-common-spi</module>
<module>cdap-event-writer-spi</module>
<module>cdap-event-reader-spi</module>
<module>cdap-authenticator-ext-gcp</module>
<module>cdap-source-control</module>
<module>cdap-encryption-ext-tink</module>
<module>cdap-log-publisher-spi</module>
</modules>
</profile>
<profile>
<id>doclint-java8-disable</id>
<activation>
<jdk>[1.8,)</jdk>
</activation>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<failOnError>false</failOnError>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</profile>
<profile>
<id>coverage</id>
<modules>
<module>cdap-coverage</module>
</modules>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
<!-- Site reporting section -->
<reporting>
<excludeDefaults>true</excludeDefaults>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9.1</version>
<configuration>
<additionalparam>-Xdoclint:none</additionalparam>
<failOnError>false</failOnError>
<stylesheetfile>cdap-distributions/src/javadoc/stylesheet.css</stylesheetfile>
<bottom>
<![CDATA[Copyright © {currentYear} <a href="http://cask.co" target="_blank">Cask Data, Inc.</a> Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0" target="_blank">Apache License, Version 2.0</a>.]]>
</bottom>
<doctitle>${project.name} ${project.version}</doctitle>
<links>
<link>https://cdapio.github.io/docs-site/hosted-javadocs/jsr305-${findbugs.jsr305.version}-javadoc/</link>
<link>http://avro.apache.org/docs/${avro.version}/api/java/</link>
<link>http://docs.oracle.com/javaee/${jee.version}/api/</link>
<link>http://hadoop.apache.org/docs/r${hadoop.version}/api/</link>
<link>http://twill.incubator.apache.org/apidocs-${twill.version}/</link>
</links>
<quiet>true</quiet>
<groups>
<group>
<title>Core Packages</title>
<packages>io.cdap.cdap.api:io.cdap.cdap.api.*:io.cdap.cdap.test</packages>
</group>
<group>
<title>Application Template Packages</title>
<packages>io.cdap.cdap.etl.*</packages>
</group>
<group>
<title>Java Client Packages</title>
<packages>io.cdap.cdap.client:io.cdap.cdap.client.*</packages>
</group>
</groups>
</configuration>
<reportSets>
<reportSet>
<id>aggregate</id>
<inherited>false</inherited>
<reports>
<report>aggregate</report>
</reports>
<configuration>
<excludePackageNames>*.internal.*</excludePackageNames>
<sourceFileIncludes>
<include>**/api/**/*.java</include>
<include>io/cdap/cdap/client/**/*.java</include>
<include>io/cdap/cdap/test/*.java</include>
</sourceFileIncludes>
</configuration>
</reportSet>
<reportSet>
<id>javadoc</id>
<inherited>true</inherited>
<reports>
<report>javadoc</report>
</reports>
<configuration>
<skip>true</skip>
</configuration>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
</project>