code building environment

CBE is revision control system with integrated make-like functions written in pure Java. It can be used similar to CVS but offers some new features like renaming files (while still keeping the history) and using a database as backend (optional).
CBE is released under the GNU GPL and the source code is available from the SourceForge project page

Starting CBE
Since CBE is written in Java it has to be started by using the shell-script cbe or by using "java cbe.CBE ..." (requires cbe.jar in your CLASSPATH). Here it is assumed that the script is used.

To create a new project you can use the following:
cbe init /repo/myproject
cbe checkout /repo/myproject
cbe add cpp *.cpp
cbs commit
This is similar to CVS, the main difference is the parameter "cpp" after "cbs add" which places the files in a certain configuration (explained below, can be changed at any time)

Somewhat unusual about CBE is the fact that every file is placed in a configuration describing the type of the file. This is used by the make system to determine how to handle a file. If you do not want to use configurations you can place all files in a configuration (e.g. default) and ignore the configuration; it is determined with add (or reconfigure) and only used by make)

Using CBE as a make system
CBE can be used as a make system (even without using it as a revision control system, just add files and do not commit) by using "cbe make ", e.g. "cbe make all". CBE now checks all files required or produced by this configuration and builds them as needed. Sample configurations can be found in the source distribution, the sample configuration provided compiles all files in the cpp configuration and links them to a binary. Note that configurations allow inheritance so that you might place files which need a special treatment in a subconfiguration and still link them to the binary.

Using CBE with a database backend
CBE can either be used file-based (like CVS) or with a database backend (this can be changed at any time in both ways). CBE requires a ODMG conforming object-database and currently recognizes SOD, just give "sod://..." as repository name to use the database.

SourceForge Logo

© 2000 Thomas Neumann