Documentation > Deployment > Building H-Store

To build the entire H-Store source code tree all at once, execute the build target:

ant build

To clean and then compile the Java portion of the system, use clean-java and build-java.

ant clean-java build-java

Simiarily, you can also build just H-Store’s C++ JNI library using the build-cpp target:

ant clean-cpp build-cpp

The build artifacts will be stored in the $HSTORE_HOME/obj/release directory.

Ant Targets

The following table is a list of the individual target dependencies that need to get built first before building the entire system:

Component Ant Target Description
Google ProtocolBuffers protobuf ProtocolBuffer compiler and support libraries.
ProtoRPC API protorpc Generate the ProtoRPC API Java files using the ProtocolBuffer compiler
Frontend Java System build-java Frontend wrappers, transaction estimators, system catalogs, and other runtime components.
Backend Execution Engine build-cpp The C++ JNI library for H-Store’s backend execution engine. Note that must also compile the Java frontend first in order to generate the JNI header files needed.

By default, the clean target will remove the build artifacts from Java Frontend and the C++ Backend. Each sub-component can also be selectively cleaned with the following commands. Use clean-all to remove the entire $HSTORE_HOME/obj directory.

Component Ant Target Description
ProtoRPC API clean-protorpc ProtoRPC API files generated by the ProtocolBuffer compiler
Frontend Java System clean-java All Java-based components and test cases.
Backend Execution Engine clean-cpp Backend C++ execution engine.