blob: b14626a935c11cad333d3c17a6876b0866b9bbf9 [file] [log] [blame]
<?xml version="1.0"?>
<!--
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
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.submarine</groupId>
<artifactId>submarine</artifactId>
<version>0.5.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Submarine</name>
<description>Submarine project</description>
<url>https://submarine.apache.org</url>
<parent>
<groupId>org.apache</groupId>
<artifactId>apache</artifactId>
<version>17</version>
</parent>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<properties>
<!-- language versions -->
<java.version>1.8</java.version>
<go.version>1.11.8</go.version>
<!-- plugin versions -->
<plugin.jar.version>2.4</plugin.jar.version>
<plugin.compiler.version>3.1</plugin.compiler.version>
<plugin.shade.version>3.2.1</plugin.shade.version>
<plugin.enforcer.version>1.3.1</plugin.enforcer.version>
<plugin.checkstyle.version>2.17</plugin.checkstyle.version>
<plugin.war.version>2.3</plugin.war.version>
<plugin.maven.antrun.version>1.8</plugin.maven.antrun.version>
<plugin.maven.jar.version>3.0.2</plugin.maven.jar.version>
<plugin.maven.assembly.version>3.3.0</plugin.maven.assembly.version>
<!-- submarine shaded dependency prefix-->
<shaded.dependency.prefix>org.apache.submarine.shaded</shaded.dependency.prefix>
<!--library versions-->
<tony.version>0.3.25</tony.version>
<jersey.version>2.27</jersey.version>
<jersey.servlet.version>1.13</jersey.servlet.version>
<jetty.version>9.4.18.v20190429</jetty.version>
<javax.ws.rsapi.version>2.1</javax.ws.rsapi.version>
<pagehelper.version>5.1.10</pagehelper.version>
<gson.version>2.8.5</gson.version>
<jackson-databind.version>2.9.10</jackson-databind.version>
<jackson-annotations.version>2.9.10</jackson-annotations.version>
<jackson-module-jaxb-annotations.version>2.9.10</jackson-module-jaxb-annotations.version>
<commons-configuration.version>1.10</commons-configuration.version>
<commons-httpclient.version>3.1</commons-httpclient.version>
<cglib.version>3.2.2</cglib.version>
<mybatis.version>3.2.8</mybatis.version>
<mysql-connector-java.version>5.1.39</mysql-connector-java.version>
<grpc.version>1.25.0</grpc.version>
<!-- frontend maven plugin related versions-->
<plugin.frontend.version>1.6</plugin.frontend.version>
<node.version>v10.12.0</node.version>
<yarn.version>v1.10.1</yarn.version>
<npm.version>6.4.1</npm.version>
<io.swagger.version>2.1.2</io.swagger.version>
<hadoop.common.build.dir>${basedir}/../hadoop-common-project/hadoop-common/target</hadoop.common.build.dir>
<slf4j.version>1.7.25</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<commons.logging.version>1.1.3</commons.logging.version>
<commons.cli.version>1.2</commons.cli.version>
<snakeyaml.version>1.16</snakeyaml.version>
<httpcore.version>4.4.4</httpcore.version>
<httpclient.version>4.5.2</httpclient.version>
<commons-lang.version>2.6</commons-lang.version>
<commons-lang3.version>3.4</commons-lang3.version>
<commons-io.version>2.5</commons-io.version>
<commons-codec.version>1.5</commons-codec.version>
<junit.version>4.12</junit.version>
<selenium.version>3.8.1</selenium.version>
<jarchivelib.version>0.7.1</jarchivelib.version>
<jsr305.version>1.3.9</jsr305.version>
<mockito.version>2.23.4</mockito.version>
<powermock.version>1.6.4</powermock.version>
<guava.version>22.0</guava.version>
<testng.version>6.4</testng.version>
<avro.version>1.8.2</avro.version>
<httpclient.version>4.5.2</httpclient.version>
<jackson-dataformat-yaml.version>2.9.10</jackson-dataformat-yaml.version>
<objenesis.version>2.6</objenesis.version>
<sshd-core.version>1.1.0</sshd-core.version>
<codehaus-jackson.version>1.9.13</codehaus-jackson.version>
<commons-text.version>1.4</commons-text.version>
<zip4j.version>1.3.2</zip4j.version>
<commons-collections.version>3.2.2</commons-collections.version>
<nimbus-jose-jwt.version>7.9</nimbus-jose-jwt.version>
<mybatis-generator.version>1.3.7</mybatis-generator.version>
<derby.version>10.15.1.3</derby.version>
<zeppelin.version>0.9.0-preview1</zeppelin.version>
<jgit.version>5.5.1.201910021850-r</jgit.version>
<atomix.version>3.1.5</atomix.version>
<spark.scala.version>2.11.8</spark.scala.version>
<spark.scala.binary.version>2.11</spark.scala.binary.version>
<hive.version>2.3.6</hive.version>
<!-- Submarine on Kubernetes -->
<k8s.client-java.version>6.0.1</k8s.client-java.version>
<jersey.test-framework>2.27</jersey.test-framework>
<!-- integration test-->
<plugin.failsafe.version>2.17</plugin.failsafe.version>
<!-- embedded-ldap-junit -->
<embedded-ldap-junit.version>0.7</embedded-ldap-junit.version>
</properties>
<modules>
<module>submarine-commons</module>
<module>submarine-client</module>
<module>submarine-cloud</module>
<module>submarine-server</module>
<module>submarine-all</module>
<module>submarine-workbench</module>
<module>submarine-dist</module>
<module>submarine-test</module>
<module>submarine-security/spark-security</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${slf4j.version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- Unit Tests -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>${testng.version}</version>
</dependency>
<!-- Submarine on Kubernetes -->
<dependency>
<groupId>io.kubernetes</groupId>
<artifactId>client-java</artifactId>
<version>${k8s.client-java.version}</version>
</dependency>
<!-- Submarine on YARN -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-services-api</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-api</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-common</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-yarn-client</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>${hadoop.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>${guava.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>${jaxb-api.version}</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>${commons-compress.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject.extensions</groupId>
<artifactId>guice-servlet</artifactId>
<version>${guice-servlet.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>${jackson-annotations.version}</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>${jackson-annotations.version}</version>
</dependency>
<dependency>
<groupId>com.google.inject</groupId>
<artifactId>guice</artifactId>
<version>${guice.version}</version>
</dependency>
<dependency>
<groupId>com.nimbusds</groupId>
<artifactId>nimbus-jose-jwt</artifactId>
<version>${nimbus-jose-jwt.version}</version>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>${commons-io.version}</version>
</dependency>
<dependency>
<groupId>commons-configuration</groupId>
<artifactId>commons-configuration</artifactId>
<version>${commons-configuration.version}</version>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>${commons-lang.version}</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>${zookeeper.version}</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>${commons-httpclient.version}</version>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>javax.ws.rs-api</artifactId>
<version>${javax.ws.rsapi.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-xc</artifactId>
<version>${codehaus-jackson.version}</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
<version>${codehaus-jackson.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-netty-shaded</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons.logging.version}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<profiles>
<profile>
<id>hadoop-3.2</id>
<properties>
<hadoop.version>3.2.1</hadoop.version>
<jaxb-api.version>2.2.11</jaxb-api.version>
<commons-compress.version>1.19</commons-compress.version>
<guice-servlet.version>4.0</guice-servlet.version>
<guice.version>4.0</guice.version>
<zookeeper.version>3.4.13</zookeeper.version>
<guava.version>27.0-jre</guava.version>
<jsr305.version>3.0.2</jsr305.version>
<profile-id>hadoop-3.2</profile-id>
</properties>
<modules>
<module>submarine-server/server-submitter/submitter-yarnservice</module>
</modules>
</profile>
<profile>
<id>hadoop-3.1</id>
<properties>
<hadoop.version>3.1.3</hadoop.version>
<jaxb-api.version>2.2.11</jaxb-api.version>
<commons-compress.version>1.19</commons-compress.version>
<guice-servlet.version>4.0</guice-servlet.version>
<guice.version>4.0</guice.version>
<zookeeper.version>3.4.13</zookeeper.version>
<profile-id>hadoop-3.1</profile-id>
</properties>
<modules>
<module>submarine-server/server-submitter/submitter-yarnservice</module>
</modules>
</profile>
<profile>
<id>hadoop-2.10</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<hadoop.version>2.10.0</hadoop.version>
<jaxb-api.version>2.2.2</jaxb-api.version>
<commons-compress.version>1.19</commons-compress.version>
<guice-servlet.version>3.0</guice-servlet.version>
<guice.version>3.0</guice.version>
<zookeeper.version>3.4.9</zookeeper.version>
<profile-id>hadoop-2.10</profile-id>
</properties>
</profile>
<profile>
<id>hadoop-2.9</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<hadoop.version>2.9.2</hadoop.version>
<jaxb-api.version>2.2.11</jaxb-api.version>
<commons-compress.version>1.4.1</commons-compress.version>
<guice-servlet.version>3.0</guice-servlet.version>
<guice.version>3.0</guice.version>
<zookeeper.version>3.4.6</zookeeper.version>
<profile-id>hadoop-2.9</profile-id>
</properties>
</profile>
<profile>
<id>clover</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>clover</name>
</property>
</activation>
<dependencies>
<dependency>
<groupId>com.cenqua.clover</groupId>
<artifactId>clover</artifactId>
</dependency>
</dependencies>
</profile>
<profile>
<id>rat</id>
<activation>
<property>
<name>skipRat</name>
</property>
</activation>
</profile>
</profiles>
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${plugin.compiler.version}</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-enforcer-plugin</artifactId>
<version>${plugin.enforcer.version}</version>
<executions>
<execution>
<id>enforce</id>
<configuration>
<rules>
<DependencyConvergence/>
</rules>
<failFast>true</failFast>
</configuration>
<goals>
<goal>enforce</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>${plugin.checkstyle.version}</version>
<configuration>
<skip>true</skip>
<failOnViolation>false</failOnViolation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<sourceDirectories>${project.build.sourceDirectory}</sourceDirectories>
<testSourceDirectory>${project.build.testSourceDirectory}</testSourceDirectory>
<configLocation>dev-support/maven-config/checkstyle.xml</configLocation>
<outputFile>${project.build.directory}/checkstyle-output.xml</outputFile>
<inputEncoding>${project.build.sourceEncoding}</inputEncoding>
<outputEncoding>${project.reporting.outputEncoding}</outputEncoding>
</configuration>
<executions>
<execution>
<id>checkstyle-fail-build</id>
<phase>validate</phase>
<goals>
<goal>check</goal>
</goals>
<configuration>
<failOnViolation>true</failOnViolation>
</configuration>
</execution>
<execution>
<id>checkstyle-gen-html-report</id>
<phase>install</phase>
<goals>
<goal>checkstyle-aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.scalastyle</groupId>
<artifactId>scalastyle-maven-plugin</artifactId>
<version>1.0.0</version>
<configuration>
<verbose>false</verbose>
<failOnViolation>true</failOnViolation>
<includeTestSourceDirectory>true</includeTestSourceDirectory>
<failOnWarning>false</failOnWarning>
<sourceDirectory>${project.basedir}/src/test/scala</sourceDirectory>
<testSourceDirectory>${project.basedir}/src/main/scala</testSourceDirectory>
<configLocation>dev-support/maven-config/scalastyle-config.xml</configLocation>
<outputFile>${project.build.directory}/scalastyle-output.xml</outputFile>
<outputEncoding>UTF-8</outputEncoding>
</configuration>
<executions>
<execution>
<goals>
<goal>check</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
<inherited>true</inherited>
<configuration>
<excludes>
<exclude>.git/</exclude>
<exclude>.github/**</exclude>
<exclude>.gitignore</exclude>
<exclude>.gitmodules</exclude>
<exclude>.editorconfig</exclude>
<exclude>LICENSE</exclude>
<exclude>license_header</exclude>
<exclude>**/*.iml</exclude>
<exclude>**/*.la</exclude>
<exclude>**/*.svg</exclude>
<exclude>**/*.png</exclude>
<exclude>**/*.avsc</exclude>
<exclude>**/log4j.properties</exclude>
<exclude>**/*.md</exclude>
<exclude>**/*.proto</exclude>
<exclude>**/*.txt</exclude>
<exclude>**/*.xml</exclude>
<exclude>**/*.html</exclude>
<exclude>**/*.xsd</exclude>
<exclude>**/*.json</exclude>
<exclude>**/*.conf</exclude>
<exclude>**/*.libsvm</exclude>
<exclude>**/*.yaml</exclude>
<exclude>**/*.yapf</exclude>
<exclude>**/*.libsvm</exclude>
<exclude>**/src/main/resources/META-INF/services/org.apache.hadoop.security.SecurityInfo</exclude>
<exclude>**/src/test/resources/typicalHistFolder/job1/application123-1-1-user1-SUCCEEDED.jhist</exclude>
<exclude>**/conf/routes</exclude>
<exclude>**/submitter-yarnservice/target/**</exclude>
<exclude>**/src/test/resources/config</exclude>
<exclude>licenses/**</exclude>
<exclude>licenses-binary/**</exclude>
<exclude>NOTICE-binary</exclude>
<exclude>**/go.mod</exclude>
<exclude>**/go.sum</exclude>
<exclude>**/*.ipynb</exclude>
</excludes>
</configuration>
</plugin>
</plugins>
</build>
</project>