A build tool specializing in large Java codebases with multiple intermingled applications
Python Shell Java
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



ICBM is a build tool that specializes in building Java applications. It also includes support for handling protocol buffer definitions, Play framework 1.x projects, and build steps that are arbitrary commands.

ICBM has been the primary Java build tool used at Yext since late 2010.

System Requirements

  • Python 2.7
  • Apache Ant
  • Java 6 *

* Java 6 is required only because compiling with Java 6 specifically is currently hardcoded in the default Ant buildfile ICBM uses.

Quick Start by Example

The example/ folder contains an example project that shows off some of the features of ICBM. To try it out, run the following in the example/ folder:

../icbm/build.py src/com/example/foo/Foo.java
../icbm/build.py src=com/example/foo:Foo_deploy

To Learn More

This documentation is a work in progress, and it will be fleshed out in more detail leading up to our live event on September 24, 2013. We are also working on sanding off more of the Yext-specific rough edges.

In the meantime, we invite you to join the project and send questions or contributions through either GitHub or our Google Group!