<?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-preview1</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-shaded</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>mongodb</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>
  </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>web-angular</id>
      <modules>
        <module>zeppelin-web-angular</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>**/*.ipynb</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-interpreter/src/main/resources/grpc/jupyter/*.py</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>
