<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one or more
  ~ contributor license agreements.  See the NOTICE file distributed with
  ~ this work for additional information regarding copyright ownership.
  ~ The ASF licenses this file to You under the Apache License, Version 2.0
  ~ (the "License"); you may not use this file except in compliance with
  ~ the License.  You may obtain a copy of the License at
  ~
  ~    http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing, software
  ~ distributed under the License is distributed on an "AS IS" BASIS,
  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  ~ See the License for the specific language governing permissions and
  ~ limitations under the License.
  -->

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.zeppelin</groupId>
  <artifactId>zeppelin</artifactId>
  <packaging>pom</packaging>
  <version>0.9.0-SNAPSHOT</version>
  <name>Zeppelin</name>
  <description>Zeppelin project</description>
  <url>https://zeppelin.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>

  <scm>
    <url>https://git-wip-us.apache.org/repos/asf/zeppelin.git</url>
    <connection>scm:git:https://git-wip-us.apache.org/repos/asf/zeppelin.git</connection>
    <developerConnection>scm:git:https://git-wip-us.apache.org/repos/asf/zeppelin.git</developerConnection>
  </scm>

  <inceptionYear>2013</inceptionYear>

  <modules>
    <module>zeppelin-interpreter-parent</module>
    <module>zeppelin-interpreter</module>
    <module>zeppelin-interpreter-api</module>
    <module>zeppelin-zengine</module>
    <module>zeppelin-display</module>
    <module>rlang</module>
    <module>zeppelin-jupyter-interpreter</module>
    <module>zeppelin-jupyter-interpreter-shaded</module>
    <module>kotlin</module>
    <module>groovy</module>
    <module>spark</module>
    <module>submarine</module>
    <module>markdown</module>
    <module>angular</module>
    <module>shell</module>
    <module>livy</module>
    <module>hbase</module>
    <module>pig</module>
    <module>jdbc</module>
    <module>file</module>
    <module>flink</module>
    <module>ignite</module>
    <module>kylin</module>
    <module>python</module>
    <module>lens</module>
    <module>cassandra</module>
    <module>elasticsearch</module>
    <module>bigquery</module>
    <module>alluxio</module>
    <module>scio</module>
    <module>neo4j</module>
    <module>sap</module>
    <module>scalding</module>
    <module>java</module>
    <module>beam</module>
    <module>hazelcastjet</module>
    <module>geode</module>
    <module>ksql</module>
    <module>sparql</module>
    <module>zeppelin-web</module>
    <module>zeppelin-server</module>
    <module>zeppelin-jupyter</module>
    <module>zeppelin-plugins</module>
    <module>zeppelin-distribution</module>
    <module>zeppelin-web-angular</module>
  </modules>

  <properties>
    <!-- language versions -->
    <java.version>1.8</java.version>
    <scala.2.10.version>2.10.5</scala.2.10.version>
    <scala.version>${scala.2.10.version}</scala.version>
    <scala.binary.version>2.10</scala.binary.version>
    <scala.2.11.version>2.11.8</scala.2.11.version>
    <scalatest.version>3.0.7</scalatest.version>
    <scalacheck.version>1.12.5</scalacheck.version>

    <!-- frontend maven plugin related versions-->
    <node.version>v12.3.1</node.version>
    <npm.version>6.9.0</npm.version>
    <plugin.frontend.version>1.6</plugin.frontend.version>

    <!-- common library versions -->
    <slf4j.version>1.7.10</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <libthrift.version>0.13.0</libthrift.version>
    <gson.version>2.2</gson.version>
    <gson-extras.version>0.2.1</gson-extras.version>
    <jetty.version>9.4.18.v20190429</jetty.version>
    <httpcomponents.core.version>4.4.1</httpcomponents.core.version>
    <httpcomponents.client.version>4.5.1</httpcomponents.client.version>
    <httpcomponents.asyncclient.version>4.0.2</httpcomponents.asyncclient.version>
    <commons.lang.version>2.5</commons.lang.version>
    <commons.configuration.version>1.9</commons.configuration.version>
    <commons.exec.version>1.3</commons.exec.version>
    <commons.codec.version>1.5</commons.codec.version>
    <commons.io.version>2.4</commons.io.version>
    <commons.collections.version>3.2.2</commons.collections.version>
    <commons.logging.version>1.1.1</commons.logging.version>
    <commons.cli.version>1.3.1</commons.cli.version>
    <shiro.version>1.4.2</shiro.version>
    <joda.version>2.9.9</joda.version>

    <!-- test library versions -->
    <junit.version>4.12</junit.version>
    <mockito.version>1.10.19</mockito.version>
    <assertj.version>1.7.0</assertj.version>
    <powermock.version>1.6.4</powermock.version>

    <!-- plugin versions -->
    <plugin.compiler.version>3.1</plugin.compiler.version>
    <plugin.resource.version>2.7</plugin.resource.version>
    <plugin.dependency.version>2.8</plugin.dependency.version>
    <plugin.jar.version>2.4</plugin.jar.version>
    <plugin.remote.resource.version>1.5</plugin.remote.resource.version>
    <plugin.scm.version>1.8.1</plugin.scm.version>
    <plugin.enforcer.version>1.3.1</plugin.enforcer.version>
    <plugin.checkstyle.version>2.13</plugin.checkstyle.version>
    <plugin.surefire.version>2.17</plugin.surefire.version>
    <plugin.assembly.version>3.0.0</plugin.assembly.version>
    <plugin.exec.version>1.2.1</plugin.exec.version>
    <plugin.cobertura.version>2.7</plugin.cobertura.version>
    <plugin.clean.version>2.6.1</plugin.clean.version>
    <plugin.lifecycle.mapping.version>1.0.0</plugin.lifecycle.mapping.version>
    <plugin.antrun.version>1.7</plugin.antrun.version>
    <plugin.download.version>1.3.0</plugin.download.version>
    <plugin.deploy.version>2.8.2</plugin.deploy.version>
    <plugin.shade.version>3.1.1</plugin.shade.version>

    <plugin.gitcommitid.useNativeGit>false</plugin.gitcommitid.useNativeGit>

    <PermGen>64m</PermGen>
    <MaxPermGen>512m</MaxPermGen>

    <!-- to be able to exclude some tests using command line -->
    <tests.to.exclude/>
  </properties>

  <dependencyManagement>
    <dependencies>
      <!-- Logging -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>${slf4j.version}</version>
      </dependency>

      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.thrift</groupId>
        <artifactId>libthrift</artifactId>
        <version>${libthrift.version}</version>
        <exclusions>
          <exclusion>
            <groupId>javax.annotation</groupId>
            <artifactId>javax.annotation-api</artifactId>
          </exclusion>
        </exclusions>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpcore</artifactId>
        <version>${httpcomponents.core.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpclient</artifactId>
        <version>${httpcomponents.client.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.httpcomponents</groupId>
        <artifactId>httpasyncclient</artifactId>
        <version>${httpcomponents.asyncclient.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>${commons.lang.version}</version>
      </dependency>

      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-exec</artifactId>
        <version>${commons.exec.version}</version>
      </dependency>

      <dependency>
        <groupId>com.google.code.gson</groupId>
        <artifactId>gson</artifactId>
        <version>${gson.version}</version>
      </dependency>

      <dependency>
        <groupId>org.danilopianini</groupId>
        <artifactId>gson-extras</artifactId>
        <version>${gson-extras.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-configuration</groupId>
        <artifactId>commons-configuration</artifactId>
        <version>${commons.configuration.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-codec</groupId>
        <artifactId>commons-codec</artifactId>
        <version>${commons.codec.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-io</groupId>
        <artifactId>commons-io</artifactId>
        <version>${commons.io.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-collections</groupId>
        <artifactId>commons-collections</artifactId>
        <version>${commons.collections.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>${commons.logging.version}</version>
      </dependency>

      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>${commons.cli.version}</version>
      </dependency>

      <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>${joda.version}</version>
      </dependency>

      <!-- Apache Shiro -->
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-core</artifactId>
        <version>${shiro.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-web</artifactId>
        <version>${shiro.version}</version>
      </dependency>
      <dependency>
        <groupId>org.apache.shiro</groupId>
        <artifactId>shiro-config-core</artifactId>
        <version>${shiro.version}</version>
      </dependency>

      <!-- Test libraries -->
      <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.assertj</groupId>
        <artifactId>assertj-core</artifactId>
        <version>${assertj.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.mockito</groupId>
        <artifactId>mockito-all</artifactId>
        <version>${mockito.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-api-mockito</artifactId>
        <version>${powermock.version}</version>
        <scope>test</scope>
      </dependency>

      <dependency>
        <groupId>org.powermock</groupId>
        <artifactId>powermock-core</artifactId>
        <version>${powermock.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-reflect</artifactId>
        <version>${powermock.version}</version>
        <scope>test</scope>
      </dependency>

    </dependencies>
  </dependencyManagement>

  <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>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>flatten-maven-plugin</artifactId>
        <version>1.0.0</version>
        <configuration>
          <flattenMode>ossrh</flattenMode>
          <updatePomFile>true</updatePomFile>
        </configuration>
        <executions>
          <execution>
            <id>flatten</id>
            <phase>process-resources</phase>
            <goals>
              <goal>flatten</goal>
            </goals>
          </execution>
          <execution>
            <id>flatten.clean</id>
            <phase>clean</phase>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <!-- (TODO zjffdu disable it temporary to make CI pass)Test coverage plugin -->

      <!--      <plugin>-->
      <!--        <groupId>org.codehaus.mojo</groupId>-->
      <!--        <artifactId>cobertura-maven-plugin</artifactId>-->
      <!--        <configuration>-->
      <!--          <formats>-->
      <!--            <format>html</format>-->
      <!--          </formats>-->
      <!--          <skip>true</skip>-->
      <!--        </configuration>-->
      <!--        <executions>-->
      <!--          <execution>-->
      <!--            <id>cobertura</id>-->
      <!--            <phase>install</phase>-->
      <!--            <goals>-->
      <!--              <goal>cobertura</goal>-->
      <!--            </goals>-->
      <!--          </execution>-->
      <!--        </executions>-->
      <!--      </plugin>-->

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <version>2.17</version>
        <configuration>
          <skip>true</skip>
          <failOnViolation>false</failOnViolation>
          <includeTestSourceDirectory>true</includeTestSourceDirectory>
          <sourceDirectories>${basedir}/src/main/java,${basedir}/src/main/scala</sourceDirectories>
          <testSourceDirectory>${basedir}/src/test/java</testSourceDirectory>
          <configLocation>_tools/checkstyle.xml</configLocation>
          <outputFile>${basedir}/target/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>
              <excludes>org/apache/zeppelin/interpreter/thrift/*,org/apache/zeppelin/scio/avro/*,org/apache/zeppelin/python/proto/*</excludes>
            </configuration>
          </execution>
          <execution>
            <id>checkstyle-gen-html-report</id>
            <phase>install</phase>
            <goals>
              <goal>checkstyle-aggregate</goal>
            </goals>
            <configuration>
              <excludes>org/apache/zeppelin/interpreter/thrift/*,org/apache/zeppelin/scio/avro/*,org/apache/zeppelin/python/proto/*</excludes>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-jar-plugin</artifactId>
        <version>${plugin.jar.version}</version>
        <configuration>
          <archive>
            <manifest>
              <addClasspath>true</addClasspath>
              <classpathPrefix>lib/</classpathPrefix>
              <mainClass>theMainClass</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>

      <plugin>
        <artifactId>maven-remote-resources-plugin</artifactId>
        <version>${plugin.remote.resource.version}</version>
        <executions>
          <execution>
            <id>process-remote-resources</id>
            <goals>
              <goal>process</goal>
            </goals>
            <configuration>
              <resourceBundles>
                <resourceBundle>org.apache:apache-jar-resource-bundle:1.0</resourceBundle>
              </resourceBundles>
            </configuration>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <artifactId>maven-scm-plugin</artifactId>
        <version>${plugin.scm.version}</version>
        <configuration>
          <connectionType>developerConnection</connectionType>
          <scmVersion>branch-0.1</scmVersion>
          <scmVersionType>branch</scmVersionType>
        </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-deploy-plugin</artifactId>
        <version>${plugin.deploy.version}</version>
      </plugin>

      <plugin>
        <groupId>pl.project13.maven</groupId>
        <artifactId>git-commit-id-plugin</artifactId>
        <version>2.2.2</version>
        <executions>
          <execution>
            <goals>
              <goal>revision</goal>
            </goals>
          </execution>
        </executions>
        <configuration>
          <skipPoms>false</skipPoms>
          <dotGitDirectory>${project.basedir}/.git</dotGitDirectory>
          <useNativeGit>${plugin.gitcommitid.useNativeGit}</useNativeGit>
          <generateGitPropertiesFile>true</generateGitPropertiesFile>
          <generateGitPropertiesFilename>${project.build.outputDirectory}/git.properties</generateGitPropertiesFilename>
          <failOnNoGitDirectory>false</failOnNoGitDirectory>
          <dateFormat>yyyy-MM-dd HH:mm:ss</dateFormat>
        </configuration>
      </plugin>

    <!--TODO(alex): make part of the build and reconcile conflicts
    <plugin>
      <groupId>com.ning.maven.plugins</groupId>
      <artifactId>maven-duplicate-finder-plugin</artifactId>
      <version>1.0.4</version>
      <executions>
        <execution>
          <id>default</id>
          <phase>verify</phase>
          <goals>
            <goal>check</goal>
          </goals>
       </execution>
      </executions>
      <configuration>
        <failBuildInCaseOfConflict>true</failBuildInCaseOfConflict>
      </configuration>
    </plugin>
    -->
    </plugins>

    <pluginManagement>
      <plugins>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-install-plugin</artifactId>
          <version>3.0.0-M1</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${plugin.checkstyle.version}</version>
        </plugin>

        <plugin>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>${plugin.surefire.version}</version>
          <configuration combine.children="append">
            <argLine>-Xmx2g -Xms1g -Dfile.encoding=UTF-8</argLine>
            <environmentVariables>
              <IS_ZEPPELIN_TEST>true</IS_ZEPPELIN_TEST>
            </environmentVariables>
            <excludes>
              <exclude>${tests.to.exclude}</exclude>
            </excludes>
          </configuration>
          <!-- <excludes> <exclude>**/itest/**</exclude> </excludes> <executions>
            <execution> <id>surefire-itest</id> <phase>integration-test</phase> <goals>
            <goal>test</goal> </goals> <configuration> <excludes> <exclude>none</exclude>
            </excludes> <includes> <include>**/itest/**</include> </includes> </configuration>
            </execution> </executions> -->
        </plugin>

        <plugin>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>${plugin.assembly.version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>${plugin.exec.version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>cobertura-maven-plugin</artifactId>
          <version>${plugin.cobertura.version}</version>
        </plugin>

        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>xml-maven-plugin</artifactId>
          <version>1.0.1</version>
          <executions>
            <execution>
              <phase>verify</phase>
              <goals>
                <goal>validate</goal>
              </goals>
            </execution>
          </executions>
          <configuration>
            <validationSets>
              <validationSet>
                <dir>${project.basedir}</dir>
                <includes>
                  <include>
                    pom.xml
                  </include>
                </includes>
                <systemId>_tools/maven-4.0.0.xsd</systemId>
              </validationSet>
            </validationSets>
          </configuration>
        </plugin>

        <plugin>
          <groupId>com.googlecode.maven-download-plugin</groupId>
          <artifactId>download-maven-plugin</artifactId>
          <version>${plugin.download.version}</version>
        </plugin>

        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>${plugin.antrun.version}</version>
        </plugin>

        <!--This plugin's configuration is used to store Eclipse m2e settings
          only. It has no influence on the Maven build itself. -->
        <plugin>
          <groupId>org.eclipse.m2e</groupId>
          <artifactId>lifecycle-mapping</artifactId>
          <version>${plugin.lifecycle.mapping.version}</version>
          <configuration>
            <lifecycleMappingMetadata>
              <pluginExecutions>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>
                      org.apache.maven.plugins
                    </groupId>
                    <artifactId>
                      maven-dependency-plugin
                    </artifactId>
                    <versionRange>
                      [2.8,)
                    </versionRange>
                    <goals>
                      <goal>copy-dependencies</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore/>
                  </action>
                </pluginExecution>
                <pluginExecution>
                  <pluginExecutionFilter>
                    <groupId>
                      org.apache.maven.plugins
                    </groupId>
                    <artifactId>
                      maven-checkstyle-plugin
                    </artifactId>
                    <versionRange>
                      [2.13,)
                    </versionRange>
                    <goals>
                      <goal>checkstyle</goal>
                      <goal>check</goal>
                    </goals>
                  </pluginExecutionFilter>
                  <action>
                    <ignore></ignore>
                  </action>
                </pluginExecution>
              </pluginExecutions>
            </lifecycleMappingMetadata>
          </configuration>
        </plugin>

        <plugin>
          <artifactId>maven-dependency-plugin</artifactId>
          <version>${plugin.dependency.version}</version>
          <executions>
            <execution>
              <id>copy-dependencies</id>
              <phase>process-test-resources</phase>
              <goals>
                <goal>copy-dependencies</goal>
              </goals>
              <configuration>
                <outputDirectory>${project.build.directory}/lib</outputDirectory>
                <overWriteReleases>false</overWriteReleases>
                <overWriteSnapshots>false</overWriteSnapshots>
                <overWriteIfNewer>true</overWriteIfNewer>
                <includeScope>runtime</includeScope>
              </configuration>
            </execution>
          </executions>
        </plugin>

        <plugin>
          <artifactId>maven-resources-plugin</artifactId>
          <version>${plugin.resource.version}</version>
          <executions>
            <execution>
              <id>copy-resources</id>
              <phase>validate</phase>
              <goals>
                <goal>copy-resources</goal>
              </goals>
              <configuration>
                <outputDirectory>${basedir}/target/site</outputDirectory>
                <resources>
                  <resource>
                    <directory>${basedir}/../_tools/site</directory>
                    <filtering>true</filtering>
                    <includes>
                      <include>**/*</include>
                    </includes>
                  </resource>
                </resources>
              </configuration>
            </execution>
          </executions>
        </plugin>

      </plugins>
    </pluginManagement>
  </build>

  <profiles>
    <profile>
      <id>scala-2.10</id>
      <activation>
        <activeByDefault>true</activeByDefault>
      </activation>
      <properties>
        <scala.version>${scala.2.10.version}</scala.version>
        <scala.binary.version>2.10</scala.binary.version>
      </properties>
    </profile>

    <profile>
      <id>scala-2.11</id>
      <properties>
        <scala.version>${scala.2.11.version}</scala.version>
        <scala.binary.version>2.11</scala.binary.version>
      </properties>
    </profile>

    <profile>
      <id>r</id>
      <modules>
        <module>r</module>
      </modules>
    </profile>

    <profile>
      <id>vendor-repo</id>
      <repositories>
        <repository>
          <id>cloudera</id>
          <url>https://repository.cloudera.com/artifactory/cloudera-repos/</url>
        </repository>
        <repository>
          <id>hortonworks</id>
          <url>https://repo.hortonworks.com/content/groups/public/</url>
        </repository>
      </repositories>
    </profile>

    <profile>
      <id>integration</id>
      <modules>
        <module>zeppelin-integration</module>
        <module>zeppelin-interpreter-integration</module>
      </modules>
    </profile>

    <profile>
      <id>examples</id>
      <modules>
        <module>zeppelin-examples</module>
      </modules>
    </profile>

    <profile>
      <id>helium-dev</id>
      <modules>
        <module>helium-dev</module>
      </modules>
    </profile>

    <profile>
      <id>build-distr</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <pluginManagement>
          <plugins>
            <plugin>
              <artifactId>maven-surefire-plugin</artifactId>
              <configuration>
                <skipTests>true</skipTests>
              </configuration>
            </plugin>

            <plugin>
              <artifactId>maven-assembly-plugin</artifactId>
              <executions>
                <execution>
                  <id>make-assembly</id>
                  <phase>package</phase>
                  <goals>
                    <goal>single</goal>
                  </goals>
                </execution>
              </executions>
            </plugin>

          </plugins>
        </pluginManagement>
      </build>
    </profile>

    <profile>
      <id>publish-distr</id>
      <activation>
        <activeByDefault>false</activeByDefault>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-surefire-plugin</artifactId>
            <configuration>
              <skipTests>true</skipTests>
            </configuration>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-source-plugin</artifactId>
            <version>3.0.0</version>
            <executions>
              <execution>
                <id>attach-sources</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>

          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.10.3</version>
            <executions>
              <execution>
                <id>attach-javadocs</id>
                <goals>
                  <goal>jar</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>release-sign-artifacts</id>
      <activation>
        <property>
          <name>performRelease</name>
          <value>true</value>
        </property>
      </activation>
      <build>
        <plugins>
          <plugin>
            <artifactId>maven-gpg-plugin</artifactId>
            <version>1.6</version>
            <executions>
              <execution>
                <id>sign-artifacts</id>
                <phase>verify</phase>
                <goals>
                  <goal>sign</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
        </plugins>
      </build>
    </profile>

    <profile>
      <id>rat</id>
      <activation>
        <property><name>!skipRat</name></property>
      </activation>
      <build>
        <plugins>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.11</version>
          <configuration>
            <excludes>
              <exclude>**/*.keywords</exclude>
              <exclude>reports/**</exclude>
              <exclude>**/.idea/</exclude>
              <exclude>**/*.iml</exclude>
              <exclude>.git/</exclude>
              <exclude>.github/*</exclude>
              <exclude>.gitignore</exclude>
              <exclude>.repository/</exclude>
              <exclude>.rat-excludes/</exclude>
              <exclude>.Rhistory</exclude>
              <exclude>**/*.diff</exclude>
              <exclude>**/*.patch</exclude>
              <exclude>**/*.avsc</exclude>
              <exclude>**/*.avro</exclude>
              <exclude>**/*.log</exclude>
              <exclude>**/test/resources/**</exclude>
              <exclude>**/.settings/*</exclude>
              <exclude>**/.classpath</exclude>
              <exclude>**/.project</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/derby.log</exclude>
              <exclude>**/metastore_db/</exclude>
              <exclude>**/logs/**</exclude>
              <exclude>**/run/**</exclude>
              <exclude>**/interpreter/**</exclude>
              <exclude>**/local-repo/**</exclude>
              <exclude>**/null/**</exclude>
              <exclude>**/notebook/**</exclude>
              <exclude>_tools/site/css/*</exclude>
              <exclude>_tools/maven-4.0.0.xsd</exclude>
              <exclude>**/README.md</exclude>
              <exclude>DEPENDENCIES</exclude>
              <exclude>DEPLOY.md</exclude>
              <exclude>STYLE.md</exclude>
              <exclude>Roadmap.md</exclude>
              <exclude>**/licenses/**</exclude>
              <exclude>**/zeppelin-distribution/src/bin_license/**</exclude>
              <exclude>conf/interpreter.json</exclude>
              <exclude>conf/notebook-authorization.json</exclude>
              <exclude>conf/credentials.json</exclude>
              <exclude>conf/zeppelin-env.sh</exclude>
              <exclude>conf/helium.json</exclude>
              <exclude>spark-*-bin*/**</exclude>
              <exclude>.spark-dist/**</exclude>
              <exclude>**/interpreter-setting.json</exclude>
              <exclude>**/constants.json</exclude>
              <exclude>scripts/**</exclude>
              <exclude>**/**/*.log</exclude>
              <exclude>**/**/logs/**</exclude>

              <!-- bundled from zeppelin-web -->
              <exclude>**/test/karma.conf.js</exclude>
              <exclude>**/test/spec/**</exclude>
              <exclude>**/.babelrc</exclude>
              <exclude>**/.bowerrc</exclude>
              <exclude>.editorconfig</exclude>
              <exclude>.eslintrc</exclude>
              <exclude>protractor.conf.js</exclude>
              <exclude>**/.tmp/**</exclude>
              <exclude>**/target/**</exclude>
              <exclude>**/node/**</exclude>
              <exclude>**/node_modules/**</exclude>
              <exclude>**/bower_components/**</exclude>
              <exclude>**/dist/**</exclude>
              <exclude>**/.buildignore</exclude>
              <exclude>**/.npmignore</exclude>
              <exclude>**/.jshintrc</exclude>
              <exclude>**/yarn.lock</exclude>
              <exclude>**/bower.json</exclude>
              <exclude>**/src/fonts/Patua-One*</exclude>
              <exclude>**/src/fonts/patua-one*</exclude>
              <exclude>**/src/fonts/Roboto*</exclude>
              <exclude>**/src/fonts/roboto*</exclude>
              <exclude>**/src/fonts/fontawesome*</exclude>
              <exclude>**/src/fonts/font-awesome*</exclude>
              <exclude>**/src/styles/font-awesome*</exclude>
              <exclude>**/src/fonts/Simple-Line*</exclude>
              <exclude>**/src/fonts/simple-line*</exclude>
              <exclude>**/src/fonts/Source-Code-Pro*</exclude>
              <exclude>**/src/fonts/source-code-pro*</exclude>
              <exclude>**/src/**/**.test.js</exclude>
              <exclude>**/e2e/**/**.spec.js</exclude>
              <exclude>package-lock.json</exclude>

              <!-- bundled from zeppelin-web-angular -->
              <exclude>**/*.json</exclude>
              <exclude>**/browserslist</exclude>
              <exclude>**/.prettierrc</exclude>
              <exclude>**/.prettierignore</exclude>
              <exclude>**/.editorconfig</exclude>
              <exclude>**/src/**/*.svg</exclude>
              <exclude>**/.gitkeep</exclude>


              <!-- from SQLLine 1.0.2, see ZEPPELIN-2135 -->
              <exclude>**/src/main/java/org/apache/zeppelin/jdbc/SqlCompleter.java</exclude>

              <!-- bundled from bootstrap -->
              <exclude>docs/assets/themes/zeppelin/bootstrap/**</exclude>
              <exclude>docs/assets/themes/zeppelin/css/style.css</exclude>
              <exclude>docs/assets/themes/zeppelin/js/docs.js</exclude>
              <exclude>docs/assets/themes/zeppelin/js/search.js</exclude>
              <exclude>docs/_includes/themes/zeppelin/_jumbotron.html</exclude>
              <exclude>docs/_includes/themes/zeppelin/_navigation.html</exclude>

              <!-- bundled from jekyll-bootstrap -->
              <exclude>docs/404.html</exclude>
              <exclude>docs/_config.yml</exclude>
              <exclude>docs/_includes/JB/**</exclude>
              <exclude>docs/_layouts/**</exclude>
              <exclude>docs/_plugins/**</exclude>
              <exclude>docs/atom.xml</exclude>
              <exclude>docs/_includes/themes/zeppelin/default.html</exclude>
              <exclude>docs/_includes/themes/zeppelin/page.html</exclude>
              <exclude>docs/_includes/themes/zeppelin/post.html</exclude>
              <exclude>docs/_includes/themes/zeppelin/settings.yml</exclude>
              <exclude>docs/Rakefile</exclude>
              <exclude>docs/rss.xml</exclude>
              <exclude>docs/sitemap.txt</exclude>
              <exclude>docs/search_data.json</exclude>
              <exclude>**/dependency-reduced-pom.xml</exclude>

              <!-- bundled from anchor -->
              <exclude>docs/assets/themes/zeppelin/js/anchor.min.js</exclude>

              <!-- bundled from toc -->
              <exclude>docs/assets/themes/zeppelin/js/toc.js</exclude>

              <!-- bundled from lunrjs -->
              <exclude>docs/assets/themes/zeppelin/js/lunr.min.js</exclude>

              <!-- bundled from jekyll -->
              <exclude>docs/assets/themes/zeppelin/css/syntax.css</exclude>

              <!-- docs (website) build target dir -->
              <exclude>docs/_site/**</exclude>
              <exclude>docs/Gemfile.lock</exclude>

              <!-- package.json -->
              <exclude>**/package.json</exclude>

              <!-- compiled R packages (binaries) -->
              <exclude>**/R/lib/**</exclude>
              <exclude>**/lib/rzeppelin/**</exclude>

              <!--R-related files with alternative licenses-->

              <exclude>**/R/rzeppelin/R/*.R</exclude>
              <exclude>**/src/main/scala/scala/Console.scala</exclude>
              <exclude>**/src/main/scala/org/apache/zeppelin/rinterpreter/rscala/Package.scala</exclude>
              <exclude>**/src/main/scala/org/apache/zeppelin/rinterpreter/rscala/RClient.scala</exclude>

               <!--The following files are mechanical-->
              <exclude>**/R/rzeppelin/DESCRIPTION</exclude>
              <exclude>**/R/rzeppelin/NAMESPACE</exclude>

              <exclude>zeppelin-jupyter-adapter/src/main/resources/grpc/**/*</exclude>
            </excludes>
          </configuration>

          <executions>
            <execution>
              <id>verify.rat</id>
              <phase>verify</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        </plugins>
      </build>
    </profile>
  </profiles>

</project>
