blob: 7c3eea726b3ff633ef2c1b26fc114c8e5fbbe3b4 [file] [log] [blame]
Apache Avro Build Instructions
REQUIREMENTS
The following packages must be installed before Avro can be built:
- Java: JDK 1.6, Maven 2 or better, protobuf-compile
- PHP: php5, phpunit, php5-gmp
- Python: 2.5 or greater, python-setuptools for dist target
- C: gcc, cmake, asciidoc, source-highlight
- C++: cmake 2.8.4 or greater, g++, flex, bison, libboost-dev
- C#: mono-devel mono-gmcs nunit
- JavaScript: nodejs, npm
- Ruby: ruby 1.86 or greater, ruby-dev, gem, rake, echoe, yajl-ruby
- Perl: perl 5.8.1 or greater, gmake, Module::Install,
Module::Install::ReadmeFromPod, Module::Install::Repository,
Math::BigInt, JSON::XS, Try::Tiny, Regexp::Common, Encode,
IO::String, Object::Tiny, Compress::ZLib, Test::More,
Test::Exception, Test::Pod
- Apache Ant 1.7
- Apache Forrest 0.8 (for documentation)
- md5sum, sha1sum, used by top-level dist target
To simplify this, you can run a Docker container with all the above
dependencies installed by installing docker.io and typing:
./build.sh docker
When this completes you will be in a shell running in the
container. Building the image the first time may take a while (20
minutes or more) since dependencies must be downloaded and
installed. However subsequent invocations are much faster as the
cached image is used.
The working directory in the container is mounted from your host. This
allows you to access the files in your Avro development tree from the
Docker container.
BUILDING
Once the requirements are installed (or from the Docker container),
build.sh can be used as follows:
'./build.sh test' runs tests for all languages
'./build.sh dist' creates all release distribution files in dist/
'./build.sh clean' removes all generated artifacts