Solutions for System i

an S4i Company

(949) 366-5234 
info@smrtrcms.com

Better Object Builder

Better Object Builder, or BOB, is a free and open source build system for the IBM i platform that is used to build native “QSYS” objects. It was created to build our own software programs. It is released under the Apache 2.0 license to the open source community so that others can contribute and benefit. It works in conjunction with the popular version control system Git and build tool GNU Make. When combined with Git, an editor like Rational Developer for i (RDi), and an issue system like Trac, the result is a powerful and flexible set of tools for develoing IBM i products.

How does it work?

BOB extends GNU Make so that it can build IBM i-native objects from source code stored in the IFS. With BOB’s client tools installed, source code resides on your PC or Mac for editing, and then is quickly pushed to a personal IFS directory to be built. Compiler spool files are returned to the PC after compilation. The workflow, then, mimics standard (non-i) development: source code is stored in a centralized Git server (like GitHub), developers clone the repositories, commit and push changes, and use the i as a build server. They can even use GitHub services like pull requests and code reviews.

Speed & Reliability
  • BOB only compiles objects that need recompiling, like from new or changed source code
  • BOB understands the relationships between your objects, so if an item changes, then it and everything depending on it will be rebuilt
Industry Standards
  • Object dependencies are specified using standard makefile syntax, and the actual build engine is GNU Make — exactly like tens of thousands of Linux and Unix software projects
Ease of Use
  • Most objects defined to BOB typically build using your default values. Have a program that requires a custom activation group or a data area that needs to be created with a certain value? No problem, overriding compile parameters is trivial, and writing custom recipes for special objects is very straightforward. If you can code it, you can build it.
  • Invoking a build of an entire codebase is done with just a single command. Or, if the Rational Developer for i integration pieces are installed, a single button click

Need Help?

For services to help you leverage BOB in your development tasks, contact us today.

Videos and Documentation

For more information on how you can get more out of your IBM i