You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by ra...@apache.org on 2018/06/06 14:36:35 UTC

mahout git commit: MAHOUT-2036 Create Build Profiles

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 <tr...@gmail.com>
Authored: Wed Jun 6 09:36:18 2018 -0500
Committer: Trevor a.k.a @rawkintrevo <tr...@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