CBNG - The New Build Tool Used to Build Millions of Lines of Java Code at CERN

Lajos Cseppento, Vito Baggiolini, Endre Fejes, Zsolt Kovari, Niall Stapley, Matilla, ÓScar (Ed.), Schaa, Volker RW (Ed.), Costa, Isidre (Ed.), FernáNdez, David (Ed.)
A large part of the CERN Accelerator Control System is written in Java by around 180 developers (software engineers, operators, physicists and hardware specialists). The codebase contains more than 10 million lines of code, which are packaged as 1000+ JARs and are deployed as 600+ different client/server applications. All this software are produced using CommonBuild Next Generation (CBNG), an enterprise build tool implemented on top of industry standards, which simplifies and standardizes the
more » ... standardizes the way our applications are built. CBNG not only includes general build tool features (such as dependency management, code compilation, test execution and artifact uploading), but also provides traceability throughout the software life cycle and makes releases ready for deployment. The interface is kept as simple as possible: the users declare the dependencies and the deployment units of their projects in one file. This article describes the build process, as well as the design goals, the features, and the technology behind CBNG.
doi:10.18429/jacow-icalepcs2017-tupha163 fatcat:wwnvlvftwbbh3f66a542gnwksa