blob: 8665ecb7c48d4455bf4f44e934256d7c9832088c [file] [log] [blame]
Build instructions for Tajo
--------------------------------------------------------------------------------
Requirements:
* Unix System
* JDK 1.8 or higher
* Maven 3.0 or higher
* Internet connection for first build (to fetch all Maven and Tajo dependencies)
--------------------------------------------------------------------------------
Maven main modules:
tajo (Main Tajo project)
- tajo-project (Parent POM for all Tajo Maven modules. )
(All plugins & dependencies versions are defined here.)
- tajo-algebra (Algebraic expressions)
- tajo-catalog (Catalog and its plugins)
- tajo-common (Common modules)
- tajo-core (Core module)
- tajo-core-tests (Tests for core module and query execution)
- tajo-client (Client API and its implementation)
- tajo-client-example (Client API examples)
- tajo-dist (Tajo distribution assembler)
- tajo-docs (User documentation)
- tajo-jdbc (Tajo JDBC Driver)
- tajo-maven-plugin (Maven Plugin)
- tajo-metrics (Metrics)
- tajo-plan (Plan representation)
- tajo-pullserver (Pullserver for intermediate)
- tajo-rpc (Rpc)
- tajo-sql-parser (SQL parser)
- tajo-storage (Storage and its plugins)
--------------------------------------------------------------------------------
Maven build goals:
* Clean : mvn clean
* Compile : mvn compile
* Run tests : mvn test
* Run integrating tests : mvn verify
* Create JAR : mvn package
* Run findbugs : mvn compile findbugs:findbugs
* Install JAR in M2 cache : mvn install
* Build distribution : mvn package [-Pdist][-Dtar]
Build options:
* Use -Dtar to create a TAR with the distribution (using -Pdist)
* Use -Dhadoop.version to build with the specific hadoop version (-Dhadoop.version=2.7.1)
* Currently, 2.3.0 or higher are supported.
* Use -Dhbase.version to build with the specific hbase version (-Dhbase.version=0.98.7-hadoop2)
* Currently, 0.98.x-hadoop2 or higher are tested.
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
* For more information, refer to https://cwiki.apache.org/confluence/display/TAJO/Unit+Tests.
--------------------------------------------------------------------------------
Building distributions:
Create binary distribution
$ mvn clean install -Pdist -DskipTests -Dtar -Dhadoop.version=2.X.X
You should substitute 2.X.X with your Hadoop version.
--------------------------------------------------------------------------------