<?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 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>

  <groupId>org.apache.zeppelin</groupId>
  <artifactId>zeppelin</artifactId>
  <packaging>pom</packaging>
  <version>0.8.1</version>
  <name>Zeppelin</name>
  <description>Zeppelin project</description>
  <url>http://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>http://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>interpreter-parent</module>
    <module>zeppelin-interpreter</module>
    <module>zeppelin-zengine</module>
    <module>zeppelin-display</module>
    <module>groovy</module>
    <module>spark</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>zeppelin-web</module>
    <module>zeppelin-server</module>
    <module>zeppelin-jupyter</module>
    <module>zeppelin-distribution</module>
  </modules>

  <properties>
    <!-- language versions -->
    <java.version>1.7</java.version>
    <scala.version>2.10.5</scala.version>
    <scala.binary.version>2.10</scala.binary.version>
    <scalatest.version>2.2.4</scalatest.version>
    <scalacheck.version>1.12.5</scalacheck.version>

    <!-- frontend maven plugin related versions-->
    <node.version>v8.9.3</node.version>
    <npm.version>5.5.1</npm.version>
    <plugin.frontend.version>1.4</plugin.frontend.version>

    <!-- common library versions -->
    <slf4j.version>1.7.10</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <libthrift.version>0.9.2</libthrift.version>
    <gson.version>2.2</gson.version>
    <gson-extras.version>0.2.1</gson-extras.version>
    <jetty.version>9.4.14.v20181114</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.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.3.2</shiro.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>

    <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>
      </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>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>

      <!-- 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>

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

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
        <configuration>
          <configLocation>_tools/checkstyle.xml</configLocation>
          <enableRSS>false</enableRSS>
        </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-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>

      <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>
          <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-checkstyle-plugin</artifactId>
          <version>${plugin.checkstyle.version}</version>
        </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-surefire-plugin</artifactId>
          <version>${plugin.surefire.version}</version>
          <configuration combine.children="append">
            <argLine>-Xmx2g -Xms1g -Dfile.encoding=UTF-8</argLine>
            <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.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>${plugin.clean.version}</version>
          <configuration>
            <filesets>
              <fileset>
                <directory>interpreter</directory>
                <followSymlinks>false</followSymlinks>
                <excludes>
                  <exclude>lib/**</exclude>
                </excludes>
              </fileset>
            </filesets>
          </configuration>
        </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>

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

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

    <profile>
      <id>scala-2.11</id>
      <properties>
        <scala.version>2.11.8</scala.version>
        <scala.binary.version>2.11</scala.binary.version>
      </properties>
    </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>http://repo.hortonworks.com/content/groups/public/</url>
        </repository>
      </repositories>
    </profile>

    <!-- Geode can be enabled by -Pgeode. see https://issues.apache.org/jira/browse/ZEPPELIN-375 -->
    <profile>
      <id>geode</id>
      <modules>
        <module>geode</module>
      </modules>
    </profile>

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

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

    <profile>
      <id>scalding</id>
      <modules>
        <module>scalding</module>
      </modules>
    </profile>

    <profile>
      <id>beam</id>
      <modules>
        <module>beam</module>
      </modules>
    </profile>

    <profile>
      <id>scio</id>
      <modules>
        <module>scio</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>
<configuration> <!-- add this to disable checking -->
                <additionalparam>-Xdoclint:none</additionalparam>
            </configuration>
              </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>

              <!-- 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>python/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>
