blob: b7922d17fb110f3bdaa73354148c6f2fab1e0036 [file] [log] [blame]
<?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.16.0-SNAPSHOT</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-common</module>
<module>mnemonic-sessions</module>
<module>mnemonic-hadoop</module>
<module>mnemonic-spark</module>
<module>mnemonic-benches</module>
</modules>
<properties>
<java.version>14</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}/tools</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>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>com.squareup</groupId>
<artifactId>javapoet</artifactId>
<version>1.13.0</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>tools/mnemonic-checkstyle.xml</configLocation>
<suppressionsLocation>tools/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.8.1</version>
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<compilerArgs>
<arg>-XDignore.symbol.file</arg>
<arg>-XDenableSunApiLintControl</arg>
<arg>--add-opens=java.base/java.nio=ALL-UNNAMED</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-M5</version>
<configuration>
<skipTests>${skipTests}</skipTests>
<enableAssertions>true</enableAssertions>
<argLine>--add-opens=java.base/java.nio=ALL-UNNAMED</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>3.2.4</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}/../tools/mnemonic-checkstyle.xml</exists>
</file>
</activation>
<properties>
<buildtools.dir>${basedir}/../tools</buildtools.dir>
</properties>
</profile>
<profile>
<id>activate-buildtools-in-submodule</id>
<activation>
<file>
<exists>${basedir}/../../tools/mnemonic-checkstyle.xml</exists>
</file>
</activation>
<properties>
<buildtools.dir>${basedir}/../../tools</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>tools/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>