Gradle Summit - June 22 - 23, 2017 - No Fluff Just Stuff

Adapting Gradle for the CERN Accelerator Control System

Gradle Summit

Palo Alto · June 22 - 23, 2017

You are viewing details from a past event

About this Presentation

Can an old, custom enterprise build system be replaced with Gradle without losing its beneficial features, or disgruntling its users? At CERN, for the Accelerator Control System with over 1000 projects, 10 MLOC, and over 100 developers we did so. We adapted Gradle by adding features that were present in the old system to facilitate easier transition and cover organisational standards and requirements:

  • Enforce naming conventions, directory structures, versioning, and more
  • “Persistent snapshots” to provide better change traceability even during development
  • A simplified, declarative build description that covers 90+% of the projects
  • Pre-configured mandatory and optional build steps, such as testing, reporting, etc.
  • Traceable and reproducible “clean-room” builds via dedicated release servers
  • Customised dependency resolution and management with version aliases while keeping Maven compatibility for external collaborators
  • Detecting semantically incompatible dependencies
  • Dependency deprecation and clean-up
    We would like to share how Gradle enabled us to meet organisational requirements and the lessons we learned along the way.
Endre Fejes

Software Engineer at CERN

Endre joined CERN in 2015 as a member of the DevOps section. He’s now the lead for the development tools team whose primary project is the development and introduction of a new, Gradle based build system for the Java layers of the Accelerator Control System.
Prior to that he spent several years working on mostly backend development and system design spiralling towards automation and tooling.