blob: c0ff1acc3ce27428effd940ff3dee4d9de760db8 [file] [log] [blame]
Build instructions for Wms
* Unix System
* JDK 1.6+
* Maven 3.0 or later
* Findbugs 1.3.9 (if running findbugs)
* GNU autotools chain 2.59 or newer, Zookeeper 3.4.5 and Thrift 0.9.0 (if compiling native code)
* Internet connection for first build (to fetch all Maven and Wms dependencies)
Maven build goals:
* Clean : mvn clean
* Compile : mvn compile [-Pnative]
* Run tests : mvn test [-Pnative]
* Create JAR : mvn package
* Install JAR in M2 cache : mvn install
* Deploy JAR to Maven repo : mvn deploy
* Build javadocs : mvn javadoc:javadoc
* Build distribution : mvn package [-Pdist][-Pdocs][-Psrc][-Pnative][-Dtar]
* Change Wms version : mvn versions:set -DnewVersion=NEWVERSION
Build options:
* Use -Pnative to compile/bundle native code
* Use -Pdocs to generate & bundle the documentation in the distribution (using -Pdist)
* Use -Psrc to create a project source TAR.GZ
* 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.exclude=<TESTCLASSNAME>
* -Dtest.exclude.pattern=**/<TESTCLASSNAME1>.java,**/<TESTCLASSNAME2>.java
C client library:
If you're building the client library from a source checkout you need to
follow the steps outlined below.
1) unzip/untar the source tarball and cd to the wms-x.x.x/src/main/c directory
2) do a "autoreconf -if" to bootstrap autoconf, automake and libtool.
Please make sure you have autoconf
version 2.59 or greater installed. If cppunit is installed in a non-standard
directory, you need to specify where to find cppunit.m4. For example, if
cppunit is installed under /usr/local, run:
ACLOCAL="aclocal -I /usr/local/share/aclocal" autoreconf -if
3) do a "./configure [OPTIONS]" to generate the makefile. See INSTALL
for general information about running configure. Additionally, the
configure supports the following options:
--enable-debug enables optimization and enables debug info compiler
options, disabled by default
--disable-static do not build static libraries, enabled by default
--disable-shared do not build shared libraries, enabled by default
--without-cppunit do not build the test library, enabled by default.
If Thrift or Zookeeper is installed in a non-standard
directory, you need to specify where to find them e.g.,
../configure CPPFLAGS="-I <path to zookeeper>/include -I <path to thrift>/include"
LDFLAGS="-L<path to zookeeper>/lib -L<path to thrift>/lib"
4) do a "make" or "make install" to build the libraries and install them.
Alternatively, you can also build and run a unit test suite (and
you probably should). Please make sure you have cppunit-1.10.x or
higher installed before you execute step 4. Once ./configure has
finished, do a "make run-check". It will build the libraries, build
the tests and run them.
Building distributions:
Create binary distribution without native code and without documentation:
$ mvn package -Pdist -DskipTests -Dtar
Create binary distribution with native code and with documentation:
$ mvn package -Pdist,native,docs -DskipTests -Dtar
Create source distribution:
$ mvn package -Psrc -DskipTests
Create source and binary distributions with native code and documentation:
$ mvn package -Pdist,native,docs,src -DskipTests -Dtar
Create a local staging version of the website (in /tmp/hadoop-site)
$ mvn clean site; mvn site:stage -DstagingDirectory=/tmp/hadoop-site
Handling out of memory errors in builds
If the build process fails with an out of memory error, you should be able to fix
it by increasing the memory used by maven -which can be done via the environment
variable MAVEN_OPTS.
Here is an example setting to allocate between 256 and 512 MB of heap space to
export MAVEN_OPTS="-Xms256m -Xmx512m"