Discussion:
mahout git commit: MAHOUT-2036 Create Build Profiles
r***@apache.org
2018-06-06 14:36:35 UTC
Permalink
Repository: mahout
Updated Branches:
refs/heads/branch-0.14.0 98d345cbc -> c31739327


MAHOUT-2036 Create Build Profiles


Project: http://git-wip-us.apache.org/repos/asf/mahout/repo
Commit: http://git-wip-us.apache.org/repos/asf/mahout/commit/c3173932
Tree: http://git-wip-us.apache.org/repos/asf/mahout/tree/c3173932
Diff: http://git-wip-us.apache.org/repos/asf/mahout/diff/c3173932

Branch: refs/heads/branch-0.14.0
Commit: c317393277c56ed789246b17fabbcea18679ba9a
Parents: 98d345c
Author: Trevor a.k.a @rawkintrevo <***@gmail.com>
Authored: Wed Jun 6 09:36:18 2018 -0500
Committer: Trevor a.k.a @rawkintrevo <***@gmail.com>
Committed: Wed Jun 6 09:36:18 2018 -0500

----------------------------------------------------------------------
community/pom.xml | 29 ++++++--
experimental/pom.xml | 20 ++++--
pom.xml | 25 ++++++-
refactor-readme.md | 14 ++--
website/_includes/navbar.html | 6 +-
website/developers/buildingmahout.md | 112 +++++++++++++++++-------------
6 files changed, 137 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/mahout/blob/c3173932/community/pom.xml
----------------------------------------------------------------------
diff --git a/community/pom.xml b/community/pom.xml
index 55f2fe5..b458f10 100644
--- a/community/pom.xml
+++ b/community/pom.xml
@@ -34,11 +34,6 @@

<packaging>pom</packaging>

- <modules>
- <module>spark-cli-drivers</module>
- <module>community-engines</module>
-
- </modules>

<build>
<plugins>
@@ -53,11 +48,35 @@

<profiles>
<profile>
+ <id>flink-batch</id>
+ <modules>
+ <module>community-engines</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>h2o</id>
+ <modules>
+ <module>community-engines</module>
+ </modules>
+ </profile>
+ <profile>
<id>mahout-mr</id>
<modules>
<module>mahout-mr</module>
</modules>
</profile>
+ <profile>
+ <id>spark-cli-drivers</id>
+ <activation>
+ <property>
+ <name>skipCli</name>
+ <value>!true</value>
+ </property>
+ </activation>
+ <modules>
+ <module>spark-cli-drivers</module>
+ </modules>
+ </profile>
</profiles>

</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/c3173932/experimental/pom.xml
----------------------------------------------------------------------
diff --git a/experimental/pom.xml b/experimental/pom.xml
index 4e67b2b..33f4a0a 100644
--- a/experimental/pom.xml
+++ b/experimental/pom.xml
@@ -36,10 +36,7 @@

<properties>
</properties>
- <modules>
- <module>viennacl</module>
- <module>viennacl-omp</module>
- </modules>
+

<build>
<plugins>
@@ -50,4 +47,19 @@
</plugin>
</plugins>
</build>
+
+ <profiles>
+ <profile>
+ <id>viennacl</id>
+ <modules>
+ <module>viennacl</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>viennacl-omp</id>
+ <modules>
+ <module>viennacl-omp</module>
+ </modules>
+ </profile>
+ </profiles>
</project>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/mahout/blob/c3173932/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6564ff3..3f356aa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -168,7 +168,6 @@
<module>core</module>
<module>engine</module>
<module>community</module>
- <module>experimental</module>
<!-- <module>examples</module> -->
</modules>

@@ -675,6 +674,18 @@

<profiles>
<profile>
+ <id>all</id>
+ <modules>
+ <module>community/community-engines</module>
+ <module>community/community-engines/flink-batch</module>
+ <module>community/community-engines/h2o</module>
+ <module>community/mahout-mr</module>
+ <module>experimental</module>
+ <module>experimental/viennacl</module>
+ <module>experimental/viennacl-omp</module>
+ </modules>
+ </profile>
+ <profile>
<id>apache-release</id>
<properties>
<skipTests>false</skipTests>
@@ -694,6 +705,18 @@
</plugins>
</build>
</profile>
+ <profile>
+ <id>viennacl</id>
+ <modules>
+ <module>experimental</module>
+ </modules>
+ </profile>
+ <profile>
+ <id>viennacl-omp</id>
+ <modules>
+ <module>experimental</module>
+ </modules>
+ </profile>
</profiles>
<!--<defaultGoal>install</defaultGoal>-->
<!--<pluginManagement>-->

http://git-wip-us.apache.org/repos/asf/mahout/blob/c3173932/refactor-readme.md
----------------------------------------------------------------------
diff --git a/refactor-readme.md b/refactor-readme.md
index 2656f7c..8787bc6 100644
--- a/refactor-readme.md
+++ b/refactor-readme.md
@@ -69,12 +69,14 @@ mahout
-[ ] profile to turn on flink / h2o / other non-essentials (then disable them in standard build)

### Current profiles
-`mahout-mr` - builds the MapReduce stuff.
-`apache-release` - contains the release plugin
-`mahout_keys` - a profile used for releasing (actually lives in ~/.m2/settings.xml, see release instructions)
-`flink-batch` - build flink batch community engine
-`h2o` - build h2o community engine
-
+- `mahout-mr` - builds the MapReduce stuff.
+- `apache-release` - contains the release plugin
+- `mahout_keys` - a profile used for releasing (actually lives in ~/.m2/settings.xml, see release instructions)
+- `flink-batch` - build flink batch community engine
+- `h2o` - build h2o community engine
+- `viennacl` `viennacl-omp` to build experimental BLAS packs
+- `all`
+- `Dskip-cli`
add note in how to release about calling the tag `mahout-0.X.Y-rcZ`

### Release rollback notes

http://git-wip-us.apache.org/repos/asf/mahout/blob/c3173932/website/_includes/navbar.html
----------------------------------------------------------------------
diff --git a/website/_includes/navbar.html b/website/_includes/navbar.html
index 83bf09e..417ded8 100644
--- a/website/_includes/navbar.html
+++ b/website/_includes/navbar.html
@@ -28,11 +28,11 @@
<a class="nav-link dropdown-toggle" href="" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Developers</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="/developers/developer-resources.html">Developer Resources</a>
- <a class="dropdown-item" href="/developers/buildingmahout/">Building Mahout from Source</a>
- <a class="dropdown-item" href="/developers/issue-tracker/">Issues Tracking (JIRA)</a>
+ <a class="dropdown-item" href="/developers/buildingmahout">Building Mahout from Source</a>
+ <a class="dropdown-item" href="/developers/issue-tracker">Issues Tracking (JIRA)</a>
<!-- <a class="dropdown-item" href="/developers/patch-check-list/">Patch Check List</a> going to github template -->
<!-- <a class="dropdown-item" href="/developers/reference/">References</a> a lot of overlap with books, talks, etc. page -->
- <a class="dropdown-item" href="/developers/release-notes/">Release Notes</a>
+ <a class="dropdown-item" href="/developers/release-notes">Release Notes</a>
<!-- <a class="dropdown-item" href="/developers/thirdparty-dependencies/">Third Party Dependencies</a> is our site the reasonable place for this? -->
<!-- <a class="dropdown-item" href="/developers/version-control/">Version Control</a> -->
<div class="dropdown-divider"></div>

http://git-wip-us.apache.org/repos/asf/mahout/blob/c3173932/website/developers/buildingmahout.md
----------------------------------------------------------------------
diff --git a/website/developers/buildingmahout.md b/website/developers/buildingmahout.md
index 34bca45..8f1576d 100644
--- a/website/developers/buildingmahout.md
+++ b/website/developers/buildingmahout.md
@@ -1,8 +1,7 @@
---
layout: page
title: Building Mahout
-
-
+
---


@@ -126,61 +125,74 @@ JVM with native OpenMP and OpenCL for Level 2 and level 3 matrix/vector Multipli
mvn clean install -Pviennacl -DskipTests
```

-### Changing Scala Version
-
+### Profiles Reference

-A convenience script for updating maven dependencies is included in `buildtools`
+Apache Maven encourages users to make use of build profiles for selectively building modules.

+The command
```bash
-cd $MAHOUT_HOME/buildtools
-./change-scala-version.sh 2.11
+mvn clean package
```

-Now go back to `$MAHOUT_HOME` and execute
+Is the basic build command. This default will build the following packages.

```bash
-mvn clean install
-```
-
-
-### The Distribution Profile
-
-The distribution profile, among other things, will produce the same artifact for multiple Scala and Spark versions.
-
-Specifically, in addition to creating all of the
-
-Default Targets:
-- Spark 1.6 Bindings, Scala-2.10
-- Mahout-Math Scala-2.10
-- ViennaCL Scala-2.10*
-- ViennaCL-OMP Scala-2.10*
-- H2O Scala-2.10
-
-It will also create:
-- Spark 2.0 Bindings, Scala-2.11
-- Spark 2.1 Bindings, Scala-2.11
-- Mahout-Math Scala-2.11
-- ViennaCL Scala-2.11*
-- ViennaCL-OMP Scala-2.11*
-- H2O Scala-2.11
-
-Note: * ViennaCLs are only created if the `viennacl` or `viennacl-omp` profiles are activated.
-
-By default, this phase will execute the `package` lifecycle goal on all built "extra" varients.
-
-E.g. if you were to run
-
-```bash
-mvn clean install -Pdistribution
-```
-
-You will `install` all of the "Default Targets" but only `package` the "Also created".
-
-If you wish to `install` all of the above, you can set the `lifecycle.target` switch as follows:
+[INFO] Apache Mahout
+[INFO] Mahout Core
+[INFO] Mahout Engine
+[INFO] - Mahout HDFS Support
+[INFO] - Mahout Spark Engine
+[INFO] Mahout Community
+[INFO] - Mahout Spark CLI Drivers
+```
+
+The following profiles are available for building optional components:
+<center>
+ <table>
+ <tr>
+ <th>Profile</th>
+ <th colspan="5">Description</th>
+ </tr>
+ <tr>
+ <td><code>all</code></td>
+ <td>Build all modules</td>
+ <tr>
+ <td><code>apache-release</code></td>
+ <td>Used for releasing Apache Mahout. See <a href="http://mahout.apache.org/developers/how-to-release">How To Release</a> for more information.</td>
+ </tr>
+ <tr>
+ <td><code>flink-batch</code></td>
+ <td>Build Community Engine of Mahout for Apache Flink (Batch)</td>
+ </tr>
+ <tr>
+ <td><code>h2o</code></td>
+ <td>Build Community Engine of Mahout for H2o</td>
+ </tr>
+ <tr>
+ <td><code>viennacl</code></td>
+ <td>Build Experimental ViennaCL (GPU) BLAS Pack</td>
+ </tr>
+ <tr>
+ <td><code>viennacl-omp</code></td>
+ <td>Build Experimental ViennaCL-OpenMP (CPU) BLAS Pack</td>
+ <tr>
+ <tr>
+ <th>Mahout Specific Option</th>
+ <th>Description</th>
+ </tr>
+ <tr>
+ <td><code>skipCli</code></td>
+ <td>Skip building the command line drivers for Mahout on Apache Spark</td>
+ </tr>
+ </table>
+</center>
+
+#### Example
+
+If you want to build Apache Mahout with ViennaCL OpenMP support but skip the command line Spark drivers you would use this
+command to build:

```bash
-mvn clean install -Pdistribution -Dlifecycle.target=install
+mvn clean package -Pviennacl-omp -DskipCli
```
-
-
-
+
\ No newline at end of file

Loading...