You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tez.apache.org by hi...@apache.org on 2013/11/19 00:24:08 UTC

git commit: TEZ-612. Add a BUILDING.txt for how to build Tez. (Austin Chungath Vincent via hitesh)

Updated Branches:
  refs/heads/master 8f8b66012 -> d4a8ff71a


TEZ-612. Add a BUILDING.txt for how to build Tez. (Austin Chungath Vincent via hitesh)


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

Branch: refs/heads/master
Commit: d4a8ff71acf176fccd6f4cf42b629067d1900e58
Parents: 8f8b660
Author: Hitesh Shah <hi...@apache.org>
Authored: Mon Nov 18 15:23:02 2013 -0800
Committer: Hitesh Shah <hi...@apache.org>
Committed: Mon Nov 18 15:23:02 2013 -0800

----------------------------------------------------------------------
 BUILDING.txt | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 101 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-tez/blob/d4a8ff71/BUILDING.txt
----------------------------------------------------------------------
diff --git a/BUILDING.txt b/BUILDING.txt
new file mode 100644
index 0000000..ed180e0
--- /dev/null
+++ b/BUILDING.txt
@@ -0,0 +1,101 @@
+Build instructions for Tez
+
+----------------------------------------------------------------------------------
+Requirements:
+
+* JDK 1.6+
+* Maven 3.0 or later
+* Findbugs 2.0.2 or later (if running findbugs)
+* ProtocolBuffer 2.5.0
+* Internet connection for first build (to fetch all dependencies)
+
+----------------------------------------------------------------------------------
+Maven main modules:
+
+    tez................................(Main Tez project)
+        - tez-api .....................(Tez api)
+        - tez-common ..................(Tez common)
+        - tez-runtime-internals .......(Tez runtime internals)
+        - tez-runtime-library .........(Tez runtime library)
+        - tez-mapreduce ...............(Tez mapreduce)
+        - tez-dag .....................(Tez dag)
+        - tez-mapreduce-examples ......(Tez mapreduce examples)
+        - tez-tests ...................(Tez tests)
+        - tez-dist ....................(Tez dist)
+
+----------------------------------------------------------------------------------
+Maven build goals:
+
+ * Clean                     : mvn clean
+ * Compile                   : mvn compile
+ * Run tests                 : mvn test
+ * Create JAR                : mvn package
+ * Run findbugs              : mvn compile findbugs:findbugs
+ * Run checkstyle            : mvn compile checkstyle:checkstyle
+ * Install JAR in M2 cache   : mvn install
+ * Deploy JAR to Maven repo  : mvn deploy
+ * Run clover                : mvn test -Pclover [-Dclover.license=${user.home}/clover.license]
+ * Run Rat                   : mvn apache-rat:check
+ * Build javadocs            : mvn javadoc:javadoc
+ * Build distribution        : mvn package[-Dtar][-Dhadoop.version=2.2.0]
+ 
+Build options:
+ 
+ * Use -Dtar to create a TAR with the distribution (tar.gz will be created under /tez-dist/target)
+ * Use -Dclover.license to specify the path to the clover license file
+ * Use -Dhadoop.version to specify the version of hadoop to build tez against
+ * Use -Dprotoc.path to specify the path to protoc
+ 
+Tests options:
+
+ * Use -DskipTests to skip tests when running the following Maven goals:
+   'package',  'install', 'deploy' or 'verify'
+ * -Dtest=<TESTCLASSNAME>,<TESTCLASSNAME#METHODNAME>,....
+ * -Dtest.exclude=<TESTCLASSNAME>
+ * -Dtest.exclude.pattern=**/<TESTCLASSNAME1>.java,**/<TESTCLASSNAME2>.java
+
+----------------------------------------------------------------------------------
+Building against a specific version of hadoop:
+
+Tez runs on top of Apache Hadoop YARN and requires hadoop version 2.2.0 or higher
+For example to build tez against hadoop 3.0.0-SNAPSHOT 
+
+ $ mvn package -Dtar -Dhadoop.version=3.0.0-SNAPSHOT
+ 
+To skip Tests and java docs
+
+ $ mvn package -Dtar -Dhadoop.version=3.0.0-SNAPSHOT -DskipTests -Dmaven.javadoc.skip=true
+
+----------------------------------------------------------------------------------
+Protocol Buffer compiler:
+
+The version of Protocol Buffer compiler, protoc, must be 2.5.0 and match the
+version of the protobuf JAR.
+
+If you have multiple versions of protoc in your system, you can set in your 
+build shell the PROTOC_PATH environment variable to point to the one you 
+want to use for the Tez build. If you don't define this environment variable,
+protoc is looked up in the PATH.
+
+You can also specify the path to protoc while building using -Dprotoc.path
+
+ $ mvn package -DskipTests -Dtar -Dprotoc.path=/usr/local/bin/protoc
+
+
+----------------------------------------------------------------------------------
+Building the docs:
+
+The following commands will build a local copy of the Apache Tez website under docs
+ $ cd docs; mvn site
+ 
+----------------------------------------------------------------------------------
+Building components separately:
+
+If you are building a submodule directory, all the Tez dependencies this
+submodule has will be resolved as all other 3rd party dependencies. This is,
+from the Maven cache or from a Maven repository (if not available in the cache
+or the SNAPSHOT 'timed out').
+An alternative is to run 'mvn install -DskipTests' from Tez source top
+level once; and then work from the submodule. Keep in mind that SNAPSHOTs
+time out after a while, using the Maven '-nsu' will stop Maven from trying
+to update SNAPSHOTs from external repos.