<?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/xsd/maven-4.0.0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>org.apache.mnemonic</groupId>
  <artifactId>mnemonic-parent</artifactId>
  <version>0.13.0</version>
  <packaging>pom</packaging>
  <name>mnemonic-parent</name>
  <url>http://mnemonic.apache.org</url>

  <parent>
    <groupId>org.apache</groupId>
    <artifactId>apache</artifactId>
    <version>21</version>
  </parent>

  <licenses>
    <license>
      <name>Apache 2.0 License</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.html</url>
      <distribution>repo</distribution>
    </license>
  </licenses>

  <mailingLists>
    <mailingList>
      <name>Dev</name>
      <subscribe>dev-subscribe@mnemonic.apache.org</subscribe>
      <unsubscribe>dev-unsubscribe@mnemonic.apache.org</unsubscribe>
      <post>dev@mnemonic.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/mnemonic-dev</archive>
    </mailingList>
    <mailingList>
      <name>Users</name>
      <subscribe>users-subscribe@mnemonic.apache.org</subscribe>
      <unsubscribe>users-unsubscribe@mnemonic.apache.org</unsubscribe>
      <post>users@mnemonic.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/mnemonic-users</archive>
    </mailingList>
    <mailingList>
      <name>Commits</name>
      <subscribe>commits-subscribe@mnemonic.apache.org</subscribe>
      <unsubscribe>commits-unsubscribe@mnemonic.apache.org</unsubscribe>
      <post>commits@mnemonic.apache.org</post>
      <archive>http://mail-archives.apache.org/mod_mbox/mnemonic-commits</archive>
    </mailingList>
  </mailingLists>

  <scm>
    <url>https://gitbox.apache.org/repos/asf/mnemonic.git</url>
    <connection>scm:git:https://gitbox.apache.org/repos/asf/mnemonic.git</connection>
    <developerConnection>scm:git:https://gitbox.apache.org/repos/asf/mnemonic.git</developerConnection>
    <tag>HEAD</tag>
  </scm>

  <issueManagement>
    <system>JIRA</system>
    <url>https://issues.apache.org/jira/browse/MNEMONIC</url>
  </issueManagement>

  <inceptionYear>2014</inceptionYear>

  <modules>
    <module>mnemonic-core</module>
    <module>mnemonic-collections</module>
    <module>mnemonic-examples</module>
    <module>mnemonic-memory-services</module>
    <module>mnemonic-computing-services</module>
    <module>mnemonic-query</module>
    <module>mnemonic-common</module>
    <module>mnemonic-sessions</module>
    <module>mnemonic-hadoop</module>
    <module>mnemonic-spark</module>
    <module>mnemonic-benches</module>
  </modules>

  <properties>
    <java.version>1.8</java.version>
    <maven.compiler.source>${java.version}</maven.compiler.source>
    <maven.compiler.target>${java.version}</maven.compiler.target>
    <maven.min-version>3.2.1</maven.min-version>
    <enforcer.skip>false</enforcer.skip>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <skipTests>true</skipTests>
    <root.dir>${session.executionRootDirectory}</root.dir>
    <memory.service.dist.dir>${root.dir}/mnemonic-memory-services/service-dist</memory.service.dist.dir>
    <computing.service.dist.dir>${root.dir}/mnemonic-computing-services/service-dist</computing.service.dist.dir>
    <github.global.server>github</github.global.server>
    <buildtools.dir>${basedir}/bin</buildtools.dir>
    <gpg.keyname>apache.org</gpg.keyname>
    <slf4j.version>1.7.21</slf4j.version>
    <log4j.version>1.2.17</log4j.version>
    <logback.version>1.1.11</logback.version>
    <javadoc.opts></javadoc.opts>
  </properties>

  <repositories>
  </repositories>
  <pluginRepositories>
  </pluginRepositories>

  <dependencies>
  </dependencies>

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-lang3</artifactId>
        <version>3.4</version>
      </dependency>
      <dependency>
        <groupId>org.testng</groupId>
        <artifactId>testng</artifactId>
        <version>6.8.17</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.flowcomputing.commons</groupId>
        <artifactId>commons-resgc</artifactId>
        <version>0.8.17</version>
      </dependency>
      <dependency>
        <groupId>org.flowcomputing.commons</groupId>
        <artifactId>commons-primitives</artifactId>
        <version>0.6.1</version>
      </dependency>
      <dependency>
        <groupId>commons-cli</groupId>
        <artifactId>commons-cli</artifactId>
        <version>1.3.1</version>
      </dependency>
      <dependency>
        <groupId>com.squareup</groupId>
        <artifactId>javapoet</artifactId>
        <version>1.11.1</version>
      </dependency>
      <!-- logging dependencies -->
      <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>org.slf4j</groupId>
        <artifactId>jul-to-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>jcl-over-slf4j</artifactId>
        <version>${slf4j.version}</version>
      </dependency>
      <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>${log4j.version}</version>
      </dependency>
      <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-classic</artifactId>
       <version>${logback.version}</version>
      </dependency>
      <dependency>
       <groupId>ch.qos.logback</groupId>
       <artifactId>logback-core</artifactId>
       <version>${logback.version}</version>
      </dependency>
    </dependencies>
  </dependencyManagement>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-enforcer-plugin</artifactId>
        <version>1.4.1</version>
        <executions>
          <execution>
            <id>enforce-maven-version</id>
            <goals>
              <goal>enforce</goal>
            </goals>
            <configuration>
              <rules>
                <requireMavenVersion>
                  <version>[${maven.min-version},)</version>
                </requireMavenVersion>
              </rules>
            </configuration>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>license-maven-plugin</artifactId>
        <version>1.13</version>
        <!--executions>
          <execution>
            <id>download-licenses</id>
            <goals>
              <goal>download-licenses</goal>
            </goals>
          </execution>
        </executions-->
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-clean-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <filesets>
            <fileset>
              <directory>.</directory>
              <includes>
                <!-- use to clear all jar files to prevent it from performing test if not built on jdk9 -->
                <include>**/target/*.jar</include>
                <inlcude>**/*.dat</inlcude>
              </includes>
            </fileset>
          </filesets>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-site-plugin</artifactId>
        <version>3.4</version>
        <dependencies>
          <dependency>
            <!--
                | allows markdown syntax for site generation. To use it place files below
                | src/site/markdown/[filename].md
            -->
            <groupId>org.apache.maven.doxia</groupId>
            <artifactId>doxia-module-markdown</artifactId>
            <version>1.7</version>
          </dependency>
        </dependencies>
        <configuration>
          <skipDeploy>true</skipDeploy>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-publish-plugin</artifactId>
        <configuration>
          <checkoutDirectory>${project.build.directory}/scmpublish</checkoutDirectory>
          <checkinComment>Publishing site for ${project.artifactId}:${project.version}</checkinComment>
          <content>${project.reporting.outputDirectory}/../staging</content>
          <skipDeletedFiles>true</skipDeletedFiles>
          <pubScmUrl>scm:git:https://github.com/NonVolatileComputing/Mnemonic.git</pubScmUrl>
          <scmBranch>gh-pages</scmBranch> <!-- branch with static site -->
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>org.apache.rat</groupId>
        <artifactId>apache-rat-plugin</artifactId>
      </plugin>
    </plugins>
    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>3.0.0</version>
          <configuration>
            <configLocation>bin/mnemonic-checkstyle.xml</configLocation>
            <suppressionsLocation>bin/suppressions.xml</suppressionsLocation>
            <suppressionsFileExpression>checkstyle.suppressions.file</suppressionsFileExpression>
            <includeTestSourceDirectory>true</includeTestSourceDirectory>
            <encoding>UTF-8</encoding>
            <failOnViolation>true</failOnViolation>
          </configuration>
          <executions>
            <execution>
              <id>validate</id>
              <phase>validate</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.rat</groupId>
          <artifactId>apache-rat-plugin</artifactId>
          <version>0.11</version>
          <configuration>
            <excludes>
              <exclude>.git/**/*</exclude>
              <exclude>**/.project</exclude>
              <exclude>**/*.</exclude>
              <exclude>**/target/**/*</exclude>
              <exclude>**/README*</exclude>
              <exclude>**/LICENSE*</exclude>
              <exclude>**/*.log</exclude>
              <exclude>**/*.dat</exclude>
              <exclude>**/dependency-reduced-pom.xml</exclude>
              <exclude>**/META-INF/**/*</exclude>
              <exclude>**/META-INFO/**/*</exclude>
              <exclude>**/native/build/**/*</exclude>
              <exclude>**/native/dist/**/*</exclude>
              <exclude>**/service-dist/**</exclude>
              <exclude>**/*.iml</exclude>
              <exclude>**/*.patch</exclude>
              <exclude>.gradle/</exclude>
              <exclude>gradle/</exclude>
              <exclude>gradlew/</exclude>
              <exclude>gradlew.bat</exclude>
              <exclude>**/build/</exclude>
            </excludes>
          </configuration>
          <executions>
            <execution>
              <phase>validate</phase>
              <goals>
                <goal>check</goal>
              </goals>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-clean-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.3</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
            <compilerArgs>
              <arg>-XDignore.symbol.file</arg>
              <arg>-XDenableSunApiLintControl</arg>
            </compilerArgs>
            <fork>true</fork>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.bsc.maven</groupId>
          <artifactId>maven-processor-plugin</artifactId>
          <version>2.2.4</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-antrun-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-surefire-plugin</artifactId>
          <version>3.0.0-M3</version>
          <configuration>
            <skipTests>${skipTests}</skipTests>
            <enableAssertions>true</enableAssertions>
            <argLine>-Djava.ext.dirs=${memory.service.dist.dir}:${computing.service.dist.dir}</argLine>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-source-plugin</artifactId>
          <version>3.0.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-javadoc-plugin</artifactId>
          <version>3.2.0</version>
          <configuration>
            <source>8</source>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-scm-publish-plugin</artifactId>
          <version>1.1</version>
        </plugin>
        <plugin>
          <groupId>com.github.wvengen</groupId>
          <artifactId>proguard-maven-plugin</artifactId>
          <version>2.0.11</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>2.4.3</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-jar-plugin</artifactId>
          <version>3.0.2</version>
          <configuration>
            <forceCreation>true</forceCreation>
            <archive>
              <addMavenDescriptor>false</addMavenDescriptor>
            </archive>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.codehaus.mojo</groupId>
          <artifactId>exec-maven-plugin</artifactId>
          <version>1.4.0</version>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-release-plugin</artifactId>
          <version>2.5.3</version>
          <configuration>
            <useReleaseProfile>true</useReleaseProfile>
            <releaseProfiles>apache-release</releaseProfiles>
            <autoVersionSubmodules>true</autoVersionSubmodules>
            <goals>deploy</goals>
            <tagNameFormat>@{project.artifactId}-@{project.version}</tagNameFormat>
            <pushChanges>false</pushChanges>
            <localCheckout>true</localCheckout>
          </configuration>
          <executions>
            <execution>
              <id>default</id>
              <goals>
                <goal>perform</goal>
              </goals>
              <configuration>
                <pomFileName>pom.xml</pomFileName>
              </configuration>
            </execution>
          </executions>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-deploy-plugin</artifactId>
          <version>3.0.0-M1</version>
        </plugin>

      </plugins>
    </pluginManagement>

  </build>

<profiles>
  <profile>
    <id>activate-buildtools-in-module</id>
    <activation>
      <file>
        <exists>${basedir}/../bin/mnemonic-checkstyle.xml</exists>
      </file>
    </activation>
    <properties>
      <buildtools.dir>${basedir}/../bin</buildtools.dir>
    </properties>
  </profile>
  <profile>
    <id>activate-buildtools-in-submodule</id>
    <activation>
      <file>
        <exists>${basedir}/../../bin/mnemonic-checkstyle.xml</exists>
      </file>
    </activation>
    <properties>
      <buildtools.dir>${basedir}/../../bin</buildtools.dir>
    </properties>
  </profile>

  <profile>
    <id>nochecks</id>
    <properties>
      <pmd.skip>true</pmd.skip>
      <checkstyle.skip>true</checkstyle.skip>
    </properties>
  </profile>

  <profile>
    <id>apache-release</id>
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-assembly-plugin</artifactId>
          <version>3.3.0</version>
          <configuration>
            <finalName>apache-mnemonic-${project.version}</finalName>
            <descriptors>
              <descriptor>bin/source-assembly.xml</descriptor>
            </descriptors>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-remote-resources-plugin</artifactId>
          <configuration>
            <!-- Disable this plugin so that it won't generate a DEPENDENCIES file in the source tar -->
            <skip>true</skip>
          </configuration>
        </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>
              <configuration>
                <keyname>${gpg.keyname}</keyname>
                <useAgent>true</useAgent>
              </configuration>
            </execution>
          </executions>
        </plugin>
      </plugins>
    </build>
  </profile>
  <profile>
     <id>doclint-java8-disable</id>
     <activation>
       <jdk>[1.8,)</jdk>
     </activation>
     <properties>
       <javadoc.opts>-Xdoclint:none</javadoc.opts>
     </properties>
  </profile>
  <profile>
    <id>support-jdk9-modules</id>
    <activation>
      <jdk>[1.6,1.8]</jdk>
    </activation>
    <modules>
      <module>mnemonic-benches</module>
      <module>mnemonic-sessions</module>
      <module>mnemonic-hadoop</module>
      <module>mnemonic-spark</module>
    </modules>
  </profile>
</profiles>

  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.6</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>index</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-javadoc-plugin</artifactId>
        <configuration>
          <additionalparam>${javadoc.opts}</additionalparam>
        </configuration>
        <reportSets>
          <reportSet>
            <id>non-aggregate</id>
            <reports>
              <report>javadoc</report>
              <report>test-javadoc</report>
            </reports>
          </reportSet>
          <reportSet>
            <id>aggregate</id>
            <inherited>false</inherited>
            <reports>
              <report>aggregate</report>
              <report>test-aggregate</report>
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>findbugs-maven-plugin</artifactId>
        <version>3.0.4</version>
        <configuration>
          <effort>Max</effort>
        </configuration>
      </plugin>
    </plugins>
  </reporting>

</project>
