{"id":709,"date":"2011-06-01T10:47:34","date_gmt":"2011-06-01T14:47:34","guid":{"rendered":"http:\/\/hstore.cs.brown.edu\/?page_id=709"},"modified":"2012-03-14T11:49:11","modified_gmt":"2012-03-14T15:49:11","slug":"building","status":"publish","type":"page","link":"https:\/\/hstore.cs.brown.edu\/documentation\/deployment\/building\/","title":{"rendered":"Building H-Store"},"content":{"rendered":"

\u00ab<\/B> Environment Setup<\/a><\/div>
Executing H-Store<\/a> \u00bb<\/B><\/div>
<\/div><\/p>\n

To build the entire H-Store source code tree all at once, execute the build<\/tt> target:<\/p>\n

ant build<\/tt><\/pre>\n

To clean and then compile the Java portion of the system, use clean-java<\/tt> and build-java<\/tt>.<\/p>\n

ant clean-java<\/tt> build-java<\/tt><\/pre>\n

Simiarily, you can also build just H-Store’s C++ JNI library using the build-cpp<\/tt> target:<\/p>\n

ant clean-cpp<\/tt> build-cpp<\/tt><\/pre>\n

The build artifacts will be stored in the $HSTORE_HOME\/obj\/release<\/tt> directory.<\/p>\n

Ant Targets<\/h2>\n

The following table is a list of the individual target dependencies that need to get built first before building the entire system:<\/p>\n\n\n\n\n\n\n
Component<\/th>\nAnt Target<\/th>\nDescription<\/th>\n<\/tr>\n
Google ProtocolBuffers<\/td>\nprotobuf<\/tt><\/td>\nProtocolBuffer compiler and support libraries.<\/p>\n\n<\/tr>\n
ProtoRPC API<\/td>\nprotorpc<\/tt><\/td>\nGenerate the ProtoRPC API Java files using the ProtocolBuffer compiler<\/td>\n<\/tr>\n
Frontend Java System<\/td>\nbuild-java<\/tt><\/td>\nFrontend wrappers, transaction estimators, system catalogs, and other runtime components.<\/td>\n<\/tr>\n
Backend Execution Engine<\/td>\nbuild-cpp<\/tt><\/td>\nThe 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.<\/td>\n<\/tr>\n<\/table>\n

By default, the clean<\/tt> 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<\/tt> to remove the entire $HSTORE_HOME\/obj<\/tt> directory.<\/p>\n\n\n\n\n\n
Component<\/th>\nAnt Target<\/th>\nDescription<\/th>\n<\/tr>\n
ProtoRPC API<\/td>\nclean-protorpc<\/tt><\/td>\nProtoRPC API files generated by the ProtocolBuffer compiler<\/td>\n<\/tr>\n
Frontend Java System<\/td>\nclean-java<\/tt><\/td>\nAll Java-based components and test cases.<\/td>\n<\/tr>\n
Backend Execution Engine<\/td>\nclean-cpp<\/tt><\/td>\nBackend C++ execution engine. <\/td>\n<\/tr>\n<\/table>\n

\u00ab<\/B> Environment Setup<\/a><\/div>
Executing H-Store<\/a> \u00bb<\/B><\/div>
<\/div><\/p>\n","protected":false},"excerpt":{"rendered":"

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 […]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":626,"menu_order":1,"comment_status":"closed","ping_status":"open","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/pages\/709"}],"collection":[{"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/comments?post=709"}],"version-history":[{"count":11,"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/pages\/709\/revisions"}],"predecessor-version":[{"id":1498,"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/pages\/709\/revisions\/1498"}],"up":[{"embeddable":true,"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/pages\/626"}],"wp:attachment":[{"href":"https:\/\/hstore.cs.brown.edu\/wp-json\/wp\/v2\/media?parent=709"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}