Module registry allows the transitive build to carelessly walk on the filesystem and find codebase for modules involved in the build.
The transitive build knows what must be built before what, but also needs to know where the relevant code resides.
For this reason, buildozer introduces the concept of module registry, which is a simple mapping between logical module identification and its physical codebase on the filesystem.
The module registry is stored in ~/.buildbox/var/modules.txt - see the following sample excerpt:
... net.sf.buildbox:zer:1-SNAPSHOT /data/pk/src/buildbox/tools/buildozer net.sf.buildbox:buildbox-meta:0 /data/pk/src/buildbox net.sf.buildbox.meta:buildbox-common-meta:0 /data/pk/src/buildbox/common net.sf.buildbox:devmodel-ant-tasks:3-SNAPSHOT /data/pk/src/buildbox/devportal/ant net.sf.buildbox:maven-xmlbeans-model:4.0.0-SNAPSHOT /data/pk/src/buildbox/devportal/maven-xmlbeans-model net.sf.buildbox:devmodel-test:3-SNAPSHOT /data/pk/src/buildbox/devportal/it-devmodel ...
As you can see, the format is pretty straightforward; each line contains module ID and basedir location, meaning that the basedir contains module identified by the ID.
Currently buildozer does not support the case with multiple locations containing module with same ID; this usecase is being explored and will be implemented later.
To add directories with Maven modules to the module registry, use the reg command:
zer reg [<dir>]
Example using application "proficio" from http://www.maestrodev.com/better-build-maven :
~/bbwm/proficio$ zer reg . Buildozer 1.0.0-alpha-4 (C) 2006-9 by Petr Kozelka <pkozelka@gmail.com> registering directory /home/pk/bbwm/proficio for module com.devzuz.mvnbook.proficio:proficio:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-cli for module com.devzuz.mvnbook.proficio:proficio-cli:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-model for module com.devzuz.mvnbook.proficio:proficio-model:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/user-guide for module com.devzuz.mvnbook.proficio:user-guide:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-api for module com.devzuz.mvnbook.proficio:proficio-api:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-stores for module com.devzuz.mvnbook.proficio:proficio-stores:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-stores/proficio-store-xstream for module com.devzuz.mvnbook.proficio:proficio-store-xstream:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-stores/proficio-store-memory for module com.devzuz.mvnbook.proficio:proficio-store-memory:1.0-SNAPSHOT registering directory /home/pk/bbwm/proficio/proficio-core for module com.devzuz.mvnbook.proficio:proficio-core:1.0-SNAPSHOT