Distcc makes it easy to distribute a C or C++ compile job across a number of machines, and is a godsend for working with large, frequently-built codebases.
An increasing number of our large projects are built in Java these days, however. Does anyone know of something equivalent or similar for Java? While it would be great if it would go down to the javac level, our multi-module projects would benefit from being able to distribute each maven 2 sub-project to a different machine. (Tying into maven might actually be better, as that would make it possible to distribute tests and packaging, which often take a significant portion of our build time.)
Thanks for any information or pointers!
To my knowledge, there is no equivalent of
distccin the Java world.As mentioned by Aaron, many Continuous Integration servers (open source like Hudson or commercial like Bamboo, TeamCity) have support for distributed builds but I don’t think that this will solve your issue. AFAIK, these tools distribute build jobs (i.e. a whole multi-modules maven build), not the build of the modules of a multi-modules build (which might have dependencies, need the output of the previous module and might thus not being parallelized anyway). In other words, this is useful if you have many projects/branches on a build farm (at least for Hudson, I have less knowledge of the others solutions).