Build Requirements

  • Unix System
  • Java 1.6
  • Protocol Buffers 2.4.1
  • 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-common
    |------ tajo-catalog
    |------ tajo-core
    |------ tajo-rpc
    |------ tajo-algebra
    |------ tajo-frontend
    |------ tajo-dist              (Tajo distribution assembler)

Building Tajo from Source

Download the source code from the git repository (http://git-wip-us.apache.org/repos/asf/tajo.git) as follows:

$ git clone http://git-wip-us.apache.org/repos/asf/tajo.git

Then, you can execute maven with the following 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)

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

If you want a tarball distribution, execute the following commands

$ cd tajo-x.y.z
$ mvn clean package -DskipTests -Pdist -Dtar
$ ls tajo-dist/target/tajo-x.y.z-SNAPSHOT.tar.gz