You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by ap...@apache.org on 2019/10/17 16:11:55 UTC
[mahout] branch mahout-14.1 updated:
[NOJIRA][MAHOUT-14.1][RELEASEWORK]- Merge apache/mahout-14.1 to
aplaumbo/mahout-14.1 (Github/gitbox permissions are not working- cant push
directly) (#379)
This is an automated email from the ASF dual-hosted git repository.
apalumbo pushed a commit to branch mahout-14.1
in repository https://gitbox.apache.org/repos/asf/mahout.git
The following commit(s) were added to refs/heads/mahout-14.1 by this push:
new 3009d65 [NOJIRA][MAHOUT-14.1][RELEASEWORK]- Merge apache/mahout-14.1 to aplaumbo/mahout-14.1 (Github/gitbox permissions are not working- cant push directly) (#379)
3009d65 is described below
commit 3009d6500fd98d4e05f72cb027818c25f41253ca
Author: Andrew Palumbo <ap...@apache.org>
AuthorDate: Thu Oct 17 09:11:49 2019 -0700
[NOJIRA][MAHOUT-14.1][RELEASEWORK]- Merge apache/mahout-14.1 to aplaumbo/mahout-14.1 (Github/gitbox permissions are not working- cant push directly) (#379)
* [MAHOUT-2017] small tweaks after large refactor several upgrades [MAHOUT-2072]
* [MAHOUT-2017] use {project.base.directory} over {project.build.directory}/
* [MAHOUT-2017] small fixes to release binaries explain some issues
* set back 14.1-SAPSHOT version
* [maven-release-plugin] prepare release mahout-14.1
* [maven-release-plugin] prepare release mahout-14.1
* [maven-release-plugin] prepare for next development iteration
* [MAHOUT-2071] move assembly files to mvn defined standard location per: https://maven.apache.org/guides/mini/guide-assemblies.html
* [MAHOUT-2071] bring in dependancies to assembly pom
* rollback to version 14.1-SNAPSHOT
* [MAHOUT-2071] cleanup root pom.xml
* [MAHOUT-2071] fixup assembly bin.xml and src.xml files
* [MAHOUT-2074] - Dockerfiles!!
* [MAHOUT-2074] - entrypioint work
---
Dockerfile | 44 ++++---
engine/hdfs/pom.xml | 4 +-
engine/spark/pom.xml | 4 +-
entrypoint.sh | 9 +-
examples/pom.xml | 4 +-
pom.xml | 325 ++++++++++++++++++++++++++++++++++++++++++----
src/main/assembly/bin.xml | 97 ++++++++++++++
src/main/assembly/src.xml | 79 +++++++++++
src/pom.xml | 180 +++++++++++++++++++++++++
9 files changed, 693 insertions(+), 53 deletions(-)
diff --git a/Dockerfile b/Dockerfile
index fe63a99..bad0917 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -18,11 +18,15 @@
FROM openjdk:8-alpine
-ARG spark_uid=185
+ENV spark_uid=185
+
+ENV SCALA_MAJOR 2.12
+ENV HADOOP_MAJOR 2.7
+ENV SPARK_MAJOR_MINOR 2.4.4
# Before building the mahout docker image, we must build a spark distrobution following
# the instructions in http://spark.apache.org/docs/latest/building-spark.html.
-# this Dockerfile will build Spark version 2.4.4 against Scala 2.12.
+# this Dockerfile will build Spark version 2.4.4 against Scala 2.12 by default.
# docker build -t mahout:latest -f resource_managers/docker/kubernetes/src/main/dockerfiles/Dockerfile .
@@ -35,7 +39,7 @@ RUN set -ex && \
mkdir -p /opt/mahout/work-dir && \
mkdir -p /opt/spark && \
export MAHOUT_DOCKER_HOME=/opt/mahout && \
- export SPARK_VERSION=spark-2.4.4
+ export SPARK_VERSION=spark-${SPARK_MAJOR_MINOR} && \
export SPARK_BASE=/opt/spark && \
export SPARK_HOME=${SPARK_BASE}/${SPARK_VERSION}
export MAVEN_OPTS="-Xmx2g -XX:ReservedCodeCacheSize=512m" && \
@@ -47,11 +51,11 @@ RUN set -ex && \
#$SPARK_HOME/$SPARK_VERSION.sha512 ${SPARK_HOME}/$SPARK_VERSION.tgz | shasum -a 512 -c - && \
tar -xzvf ${SPARK_BASE}/${SPARK_VERSION}.tgz -C ${SPARK_BASE}/&& \
echo ${SPARK_BASE}/${SPARK_VERSION}
- sh ${SPARK_HOME}/dev/change-scala-version.sh 2.12 && \
+ sh ${SPARK_HOME}/dev/change-scala-version.sh ${SCALA_MAJOR} && \
sh ${SPARK_HOME}/dev/make-distribution.sh --name ${DATE}-${REVISION} --pip --tgz -DzincPort=${ZINC_PORT} \
- -Phadoop-2.7 -Pkubernetes -Pkinesis-asl -Phive -Phive-thriftserver
+ -Phadoop-${HADOOP_MAJOR} -Pkubernetes -Pkinesis-asl -Phive -Phive-thriftserver
- #sh ${SPARK_HOME}/build/mvn -Pkubernetes -Pscala-2.12 -DskipTests clean package
+ #sh ${SPARK_HOME}/build/mvn -Pkubernetes -Pscala-${scala_version} -DskipTests clean package
touch /opt/mahout/RELEASE && \
# below is for nodes. for the moment lets get a master up
# rm /bin/sh && \
@@ -59,22 +63,22 @@ RUN set -ex && \
# echo "auth required pam_wheel.so use_uid" >> /etc/pam.d/su && \
# chgrp root /etc/passwd && chmod ug+rw /etc/passwd
-
-COPY lib /opt/mahout/lib
-COPY bin /opt/mahout/bin
-COPY resource-managers/kubernetes/docker/src/main/dockerfiles/entrypoint.sh /opt/
-COPY examples /opt/mahout/examples
-
-COPY spark-build/jars /opt/spark/jars
-COPY spark-build/bin /opt/spark/bin
-COPY spark-build/sbin /opt/spark/sbin
-COPY spark-build/kubernetes/tests /opt/spark/tests
-COPY spark-build/data /opt/spark/data
-
ENV MAHOUT_HOME /opt/mahout
-ENV SPARK_HOME /opt/spark
-
+COPY lib ${MAHPOUT_HOME}/lib
+COPY bin ${MAHPOUT_HOME}/bin
+COPY resource-managers/kubernetes/docker/src/main/dockerfiles/entrypoint.sh ${MAHPOUT_HOME}
+COPY resource-managers/kubernetes/docker/src/main/dockerfiles/Dockerfile ${MAHPOUT_HOME}
+COPY examples ${MAHPOUT_HOME}/examples
+ENV SPARK_HOME /opt/spark
+COPY spark-build/jars ${SPARK_HOME}/jars
+COPY spark-build/bin ${SPARK_HOME}/bin
+COPY spark-build/sbin ${SPARK_HOME}/sbin
+COPY spark-build/kubernetes/tests ${SPARK_HOME}/tests
+COPY spark-build/data ${SPARK_HOME}/data
+
+ENV MAHOUT_CLASSPATH ${MAHOUT_HOME}/lib
+ENV SPARK_CLASSPATH ${SPARK_HOME}/jars
WORKDIR /opt/mahout/work-dir
RUN chmod g+w /opt/mahout/work-dir
diff --git a/engine/hdfs/pom.xml b/engine/hdfs/pom.xml
index 8de8296..1f62617 100644
--- a/engine/hdfs/pom.xml
+++ b/engine/hdfs/pom.xml
@@ -183,13 +183,13 @@
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mahout-core_${scala.compat.version}</artifactId>
- <version>14.1</version>
+ <version>14.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>mahout-core_${scala.compat.version}</artifactId>
- <version>14.1</version>
+ <version>14.2-SNAPSHOT</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
diff --git a/engine/spark/pom.xml b/engine/spark/pom.xml
index f4350d2..1cd845b 100644
--- a/engine/spark/pom.xml
+++ b/engine/spark/pom.xml
@@ -252,7 +252,7 @@
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core_${scala.compat.version}</artifactId>
- <version>14.1</version>
+ <version>14.2-SNAPSHOT</version>
</dependency>
<dependency>
@@ -271,7 +271,7 @@
<dependency>
<groupId>org.apache.mahout</groupId>
<artifactId>mahout-core_${scala.compat.version}</artifactId>
- <version>14.1</version>
+ <version>14.2-SNAPSHOT</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
diff --git a/entrypoint.sh b/entrypoint.sh
index 726b613..bb40767 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -32,13 +32,14 @@ set -e
# If there is no passwd entry for the container UID, attempt to create one
if [ -z "$uidentry" ] ; then
if [ -w /etc/passwd ] ; then
- echo "$myuid:x:$myuid:$mygid:${SPARK_USER_NAME:-anonymous uid}:$SPARK_HOME:/bin/false" >> /etc/passwd
+ echo "$myuid:x:$myuid:$mygid:${SPARK_USER_NAME:-anonymous uid}:${SPARK_HOME}:/bin/false" >> /etc/passwd
else
echo "Container ENTRYPOINT failed to add passwd entry for anonymous UID"
fi
fi
-SPARK_CLASSPATH="$SPARK_CLASSPATH:${SPARK_HOME}/jars/*"
+###Todo: ensure that MAHOUT_HOME is properly established as an env var.
+SPARK_CLASSPATH="$SPARK_CLASSPATH:${SPARK_HOME}/jars/*:${$MAHOUT_HOME}/lib/*"
env | grep SPARK_JAVA_OPT_ | sort -t_ -k4 -n | sed 's/[^=]*=\(.*\)/\1/g' > /tmp/java_opts.txt
readarray -t SPARK_EXECUTOR_JAVA_OPTS < /tmp/java_opts.txt
@@ -58,8 +59,8 @@ case "$1" in
CMD=(
"$SPARK_HOME/bin/spark-submit"
--conf "spark.driver.bindAddress=$SPARK_DRIVER_BIND_ADDRESS"
- -conf spark.executor.extraLibraryPath=\
- "$MAHOUT_HOME/lib/mahout-spark_*-dependency-reduced.jar"
+ --conf "spark.executor.extraLibraryPath"=\
+ "${MAHOUT_HOME}/lib/mahout-spark_*-dependency-reduced.jar"
--deploy-mode client
"$@"
)
diff --git a/examples/pom.xml b/examples/pom.xml
index 92a1c0d..029de0f 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -27,8 +27,8 @@
<relativePath>../pom.xml</relativePath>
</parent>
- <artifactId>examples</artifactId>
- <name>Mahout Engine</name>
+ <artifactId>mahout-examples</artifactId>
+ <name>Mahout Eexamples</name>
<description>Apache Mahout Examples.</description>
<packaging>jar</packaging>
diff --git a/pom.xml b/pom.xml
index 25b9ca8..d7d4118 100644
--- a/pom.xml
+++ b/pom.xml
@@ -120,12 +120,15 @@
<!-- `mvn site` throws a hissy fit searching no longer existing repos if this is not set false -->
<dependency.locations.enabled>false</dependency.locations.enabled>
- <!--hack to turn off linting og generated Javadocs. this is an error in Oracle Java8 and should be fixed in java9
- http://openjdk.java.net/jeps/212-->
+ <!--hack to turn off linting og generated Javadocs.
+ this is an error in Oracle Java8 and should be fixed in > java8
+ http://openjdk.java.net/jeps/212 -->
<additionalparam>-Xdoclint:-html</additionalparam>
<!--EndHack-->
+ <compile.flags></compile.flags>
+
+
- <!--
<maven.clover.multiproject>true</maven.clover.multiproject>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<msurefire.version>2.18.1</msurefire.version>
@@ -135,7 +138,7 @@
<mscala.version>3.2.0</mscala.version>
<hbase.version>1.0.0</hbase.version>
-
+<!--
<scala.compat.version>2.10</scala.compat.version>
<scala.version>2.10.4</scala.version>
@@ -452,31 +455,307 @@
<configLocation>buildtools/src/main/resources/mahout-checkstyle.xml</configLocation>
</configuration>
</plugin>
-
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-site-plugin</artifactId>
- <version>3.7.1</version>
- <configuration>
- <reportPlugins>
- <plugin>
- <artifactId>maven-project-info-reports-plugin</artifactId>
- <!--<version>2.2</version>-->
- </plugin>
- <plugin>
- <groupId>net.alchim31.maven</groupId>
- <artifactId>scala-maven-plugin</artifactId>
- <version>4.0.2</version>
+ <id>release.prepare</id>
+ <properties>
+ <skipTests>true</skipTests>
+ <pmd.skip>true</pmd.skip>
+ <checkstyle.skip>true</checkstyle.skip>
+ </properties>
+ </profile>
+ <profile>
+ <id>mahout-release</id>
+ <modules>
+ <module>core</module>
+ <module>engine</module>
+ <module>engine/hdfs</module>
+ <module>engine/spark</module>
+ <module>community</module>
+ <module>community/spark-cli-drivers</module>
+ </modules>
+ <properties>
+ <skipTests>true</skipTests>
+ <pmd.skip>true</pmd.skip>
+ <checkstyle.skip>true</checkstyle.skip>
+ </properties>
+ </profile>
+ <profile>
+ <id>sourcecheck</id>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-compiler-plugin</artifactId>
+ <configuration>
+ <showDeprecation>true</showDeprecation>
+ <showWarnings>true</showWarnings>
+ <compilerArgument>${compile.flags}</compilerArgument>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>sourcecheck</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>checkstyle</goal>
+ </goals>
+ <configuration>
+ <failsOnError>false</failsOnError>
+ <!-- classpath -->
+ <configLocation>mahout-checkstyle.xml</configLocation>
+ <consoleOutput>true</consoleOutput>
+ <linkXRef>false</linkXRef>
+ <sourceDirectory>${basedir}/src</sourceDirectory>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>sourcecheck</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>check</goal>
+ <goal>cpd-check</goal>
+ </goals>
+ <configuration>
+ <failOnViolation>false</failOnViolation>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>sourcecheck</id>
+ <phase>verify</phase>
+ <goals>
+ <goal>check</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>set.eclipse.output</id>
+ <properties>
+ <eclipse.outputDirectory>${basedir}/eclipse-classes</eclipse.outputDirectory>
+ </properties>
+ </profile>
+ <profile>
+ <id>setup.eclipse</id>
+ <build>
+ <defaultGoal>process-test-sources</defaultGoal>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-eclipse-plugin</artifactId>
+ <version>2.10</version>
+ <executions>
+ <execution>
+ <id>setup.eclipse.project</id>
+ <phase>process-test-sources</phase>
+ <goals>
+ <goal>eclipse</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+ <profile>
+ <id>ci</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ <property>
+ <name>env.JENKINS_URL</name>
+ </property>
+ </activation>
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>build-helper-maven-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>remove-old-mahout-artifacts</id>
+ <phase>prepare-package</phase>
+ <goals>
+ <goal>remove-project-artifact</goal>
+ </goals>
<configuration>
- <jvmArgs>
+ <failOnError>false</failOnError>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ </profile>
+</profiles>
+<reporting>
+<plugins>
+ <!-- surefire runs unit tests -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-surefire-report-plugin</artifactId>
+ <version>${msurefire.version}</version>
+ </plugin>
+ <!-- checkstyle -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>${mcheckstyle.version}</version>
+ <configuration>
+ <!-- classpath -->
+ <configLocation>mahout-checkstyle.xml</configLocation>
+ <consoleOutput>true</consoleOutput>
+ </configuration>
+ </plugin>
+ <!-- test coverage plugin -->
+ <plugin>
+ <groupId>com.atlassian.maven.plugins</groupId>
+ <artifactId>maven-clover2-plugin</artifactId>
+ <version>3.1.12</version>
+ <configuration>
+ <generateHistorical>true</generateHistorical>
+ <licenseLocation>buildtools/clover.license</licenseLocation>
+ <generatePdf>false</generatePdf>
+ <generateXml>true</generateXml>
+ <generateHtml>true</generateHtml>
+ </configuration>
+ </plugin>
+ <!-- generate java doc -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-javadoc-plugin</artifactId>
+ <version>${mjavadoc.version}</version>
+ </plugin>
+ <!-- code duplication - copy and paste detection -->
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-pmd-plugin</artifactId>
+ <version>${mpmd.version}</version>
+ <configuration>
+ <rulesets>
+ <!-- classpath -->
+ <ruleset>mahout-pmd-ruleset.xml</ruleset>
+ </rulesets>
+ <targetJdk>${maven.compiler.target}</targetJdk>
+ <linkXRef>false</linkXRef>
+ <includeTests>true</includeTests>
+ <verbose>true</verbose>
+ </configuration>
+ </plugin>
+ <!-- catch code tags -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ <version>2.4</version>
+ <configuration>
+ <tags>
+ <tag>TODO</tag>
+ <tag>todo</tag>
+ </tags>
+ </configuration>
+ </plugin>
+ <!-- findbugs -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>findbugs-maven-plugin</artifactId>
+ <version>${mfindbugs.version}</version>
+ <configuration>
+ <xmlOutput>true</xmlOutput>
+ <threshold>Low</threshold>
+ <effort>Default</effort>
+ <!--visitors>FindDeadLocalStores,UnreadFields</visitors-->
+ <!--omitVisitors>FindDeadLocalStores,UnreadFields</omitVisitors-->
+ <debug>true</debug>
+ <relaxed>true</relaxed>
+ <!-- classpath -->
+ <excludeFilterFile>findbugs-exclude.xml</excludeFilterFile>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-changes-plugin</artifactId>
+ <version>2.9</version>
+ <configuration>
+ <onlyCurrentVersion>true</onlyCurrentVersion>
+ <columnNames>Type,Key,Summary,Status,Resolution,Assignee</columnNames>
+ <sortColumnNames>Type,Key</sortColumnNames>
+ </configuration>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>jira-report</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <version>2.8</version>
+ <reportSets>
+ <reportSet>
+ <reports>
+ <report>index</report>
+ <report>dependencies</report>
+ <report>dependency-convergence</report>
+ <report>dependency-management</report>
+ </reports>
+ </reportSet>
+ </reportSets>
+ </plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>taglist-maven-plugin</artifactId>
+ <version>2.4</version>
+ </plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-site-plugin</artifactId>
+ <version>3.7.1</version>
+ <configuration>
+ <reportPlugins>
+ <plugin>
+ <artifactId>maven-project-info-reports-plugin</artifactId>
+ <!--<version>2.2</version>-->
+ </plugin>
+ <plugin>
+ <groupId>net.alchim31.maven</groupId>
+ <artifactId>scala-maven-plugin</artifactId>
+ <version>4.0.2</version>
+ <configuration>
+ <jvmArgs>
<jvmArg>-Xms64m</jvmArg>
<jvmArg>-Xmx1024m</jvmArg>
</jvmArgs>
</configuration>
- </plugin>
- </reportPlugins>
+ </plugin>
+ </reportPlugins>
+ </configuration>
+ </plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>3.0.0</version>
+ <configuration>
+ <configLocation>buildtools/src/main/resources/mahout-checkstyle.xml</configLocation>
</configuration>
- </plugin>
+ </plugin>
</plugins>
</reporting>
</project>
diff --git a/src/main/assembly/bin.xml b/src/main/assembly/bin.xml
new file mode 100644
index 0000000..924f946
--- /dev/null
+++ b/src/main/assembly/bin.xml
@@ -0,0 +1,97 @@
+
+
+<assembly xmlns="http://maven.apache.org/ASSEMBLY/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/ASSEMBLY/2.0.0 http://maven.apache.org/xsd/assembly-2.0.0.xsd">
+<id>bin</id>
+
+<formats>
+ <format>tar.gz</format>
+ <format>tar.bz2</format>
+ <format>zip</format>
+</formats>
+
+<fileSets>
+
+ <!-- copy files from the base directory, including the base
+ Dockerfile, which prepares builds Mahout and downloads builds and installs
+ the appropriate spark version Spark. No version of Hadoop is currently included.-->
+
+ <fileSet>
+ <directory>${project.base.directory}</directory>
+ <outputDirectory>${project.base.directory}</outputDirectory>
+ <includes>
+ <include>**README*</include>
+ <include>**LICENSE*</include>
+ <include>**NOTICE*</include>
+ <include>**pom.xml*</include>
+ <include>**Dockerfile*</include>
+ <include>**entrypoint.sh*</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.base.directory}/lib</directory>
+ <outputDirectory>${project.base.directory}/lib/</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ <includes>
+ <include>*.jar</include>
+ </includes>
+ </fileSet>
+
+ <!-- copy aggregated documentation into docs-->
+ <fileSet>
+ <directory>${project.base.directory}/site</directory>
+ <outputDirectory>docs</outputDirectory>
+ </fileSet>
+
+ <!--copy bin/mahout.sh -->
+ <fileSet>
+ <directory>${project.base.directory}/bin</directory>
+ <fileMode>755</fileMode>
+ <directoryMode>755</directoryMode>
+ <outputDirectory>bin</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ </fileSet>
+
+ <!-- copy and include the jars from e.g. $MAHOUT_HOME/engine/spark/target/-->
+ <!-- copy and include the jars from e.g. $MAHOUT_HOME/community/spark-cli-drivers/target/-->
+ <fileSet>
+ <directory>${project.base.directory}/**/**/target/</directory>
+ <outputDirectory>${project.base.directory}/lib</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ <includes>
+ <include>*.jar</include>
+ </includes>
+ </fileSet>
+
+ <!-- copy and include the jars from e.g. $MAHOUT_HOME/core/target/-->
+ <fileSet>
+ <directory>${project.base.directory}/**/target/</directory>
+ <outputDirectory>${project.base.directory}/lib</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ <includes>
+ <include>*.jar</include>
+ </includes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.base.directory}/examples/bin</directory>
+ <outputDirectory>${project.base.directory}/examples/bin/</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>${project.base.directory}/examples/bin/resources</directory>
+ <outputDirectory>${project.base.directory}/examples/bin/resources</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ </fileSet>
+ </fileSets>
+</assembly>
+
diff --git a/src/main/assembly/src.xml b/src/main/assembly/src.xml
new file mode 100644
index 0000000..02c5dbc
--- /dev/null
+++ b/src/main/assembly/src.xml
@@ -0,0 +1,79 @@
+<?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.
+-->
+<assembly xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+ <id>src</id>
+ <formats>
+ <format>zip</format>
+ <format>tar.gz</format>
+ <format>tar.bz2</format>
+ </formats>
+ <fileSets>
+ <fileSet>
+ <directory>${project.base.directory}/</directory>
+ <outputDirectory>${project.base.directory}/</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <includes>
+ <include>**README*</include>
+ <include>**LICENSE*</include>
+ <include>**NOTICE*</include>
+ <include>**pom.xml</include>
+ <include>**src/**</include>
+ <include>src/conf/**</include>
+ <include>**/build.xml</include>
+ <include>**/*.properties</include>
+ <include>*Dockerfile*</include>
+ <include>*entrypoint.sh*</include>
+ <include>src/pom.xml</include>
+ <include>src/main/assembly/bin.xml</include>
+ <include>src/main/assembly/src.xml</include>
+ </includes>
+ <excludes>
+ <exclude>**/target/**</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.base.directory}/bin</directory>
+ <outputDirectory>bin</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ </fileSet>
+ <fileSet>
+ <directory>${project.base.directory}/examples/bin</directory>
+ <outputDirectory>examples/bin</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ <excludes>
+ <exclude>work</exclude>
+ <exclude>work/**</exclude>
+ </excludes>
+ </fileSet>
+ <fileSet>
+ <directory>${project.base.directory}/examples/bin/resources</directory>
+ <outputDirectory>examples/bin</outputDirectory>
+ <useDefaultExcludes>true</useDefaultExcludes>
+ <fileMode>0755</fileMode>
+ <directoryMode>0755</directoryMode>
+ <excludes>
+ <exclude>work</exclude>
+ <exclude>work/**</exclude>
+ </excludes>
+ </fileSet>
+ </fileSets>
+</assembly>
diff --git a/src/pom.xml b/src/pom.xml
new file mode 100644
index 0000000..81f82d7
--- /dev/null
+++ b/src/pom.xml
@@ -0,0 +1,180 @@
+<?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>
+ <parent>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout</artifactId>
+ <version>14.1-SNAPSHOT</version>
+ <relativePath>../../pom.xml</relativePath>
+ </parent>
+ <artifactId>apache-mahout-distribution</artifactId>
+ <name>Mahout Release Package</name>
+ <description>Distribution Package</description>
+ <packaging>pom</packaging>
+ <properties>
+ <mahout.skip.distribution>true</mahout.skip.distribution>
+ </properties>
+ <build>
+ <defaultGoal>install</defaultGoal>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-assembly-plugin</artifactId>
+ <executions>
+ <execution>
+ <id>bin-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <skipAssembly>${mahout.skip.distribution}</skipAssembly>
+ <descriptors>
+ <descriptor>src/main/assembly/bin.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ <appendAssemblyId>false</appendAssemblyId>
+ </configuration>
+ </execution>
+ <execution>
+ <id>src-assembly</id>
+ <phase>package</phase>
+ <goals>
+ <goal>single</goal>
+ </goals>
+ <configuration>
+ <skipAssembly>${mahout.skip.distribution}</skipAssembly>
+ <descriptors>
+ <descriptor>src/main/assembly/src.xml</descriptor>
+ </descriptors>
+ <tarLongFileMode>gnu</tarLongFileMode>
+ <appendAssemblyId>true</appendAssemblyId>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+ <profiles>
+
+ <profile>
+ <id>mahout-release</id>
+ <properties>
+ <mahout.skip.distribution>false</mahout.skip.distribution>
+ </properties>
+ </profile>
+ <profile>
+ <id>viennacl</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-core_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-spark_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-hdfs_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-spark-cli-drivers_${scala.compat.version}</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-native-viennacl-omp_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-native-viennacl_${scala.compat.version}</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-native-viennacl-omp_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ </dependencies>
+ </profile>
+ <profile>
+ <id>viennacl-omp</id>
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-core_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-spark_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-hdfs_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-spark-cli-drivers_${scala.compat.version}</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-native-viennacl-omp_${scala.compat.version}</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ </dependencies>
+ </profile>
+ </profiles>
+
+ <dependencies>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-math</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-integration</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-hdfs</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-mr</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-examples</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-spark_${scala.compat.version}</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.mahout</groupId>
+ <artifactId>mahout-math-scala_${scala.compat.version}</artifactId>
+ </dependency>
+ </dependencies>
+</project>
\ No newline at end of file