Skip to content
gilmanb edited this page Sep 14, 2010 · 2 revisions

To get started, you need to checkout jchemhub:

After you cd to your workspace:

For read-only (replace the URL for read-write access):
git clone git://github.com/chemhack/jchemhub.git

cd jchemhub

This will pull in the google closure library:

git submodule init

git submodule update

If you make an edit that changes a goog.provide or goog.require statement,
there are two ways to update deps.js: the first (recommended) is with the ant build script or you can use
the command line to invoke calcdeps.py as described below. The ant script also provides for running the closure compiler
which, in addition to minimizing the code to a single file, also provides many useful checks.

With ant:

You need to have ant installed (http://ant.apache.org).

From the base jchemhub directory, to see the usage message, just execute

ant

Usage is the default target, so you should see output something like this:

Buildfile: build.xml

usage:
[java] Buildfile: build.xml

Main targets:

build-deps rebuild deps.js file
clean delete generated files
compile-advanced compile with ADVANCED_OPTIMIZATIONS setting
compile-check check by compiling all jchemhub files
compile-simple compile with SIMPLE_OPTIMIZATIONS setting
compile-whitespace-only compile with WHITESPACE_ONLY setting
usage Display main targets by running ‘ant -projecthelp’
Default target: usage

To update deps.js, execute the build-deps target:

ant build-deps

The targets compile-whitespace-only, compile-simple, compile-advanced include only files to support jchemhub.controller.ReactionEditor.
The smallest download size will result from executing:

ant compile-advanced

The compile output will be created in a ‘build’ directory that will be created if necessary.

The target compile-check attempts to compile all jchemhub code. This purpose of this target is to take advantage of the closure compile-time checks that
include static type checking, access violations, etc. For more information on options (not all of which are currently enabled in the ant build script) see
http://code.google.com/p/closure-compiler/wiki/Warnings.

Alternatively, without ant, it is also possibly to execute the calcdeps python script as follows to re-generate deps.js:

cd third-party/closure/closure/goog/

python ../bin/calcdeps.py -o deps -p ../../../../jchemhub/ -p ../../closure/ > ../../../../jchemhub/deps.js

Clone this wiki locally