Presentation: The Art of the Builds

Builds and Build systems have been treated for many years not with the conceptual depth and principles they deserve and require. The lack of this is even more painful today as modern builds form a crucial part of the continuous delivery pipeline far away from the simple copy, compile and archive of the past.

We will present an in-depth treatment of build systems concepts. This starts with different approaches how builds are defined and the different roles of people interacting with the build. We will then discuss different approaches how to extend builds and build systems. We will close the discussion with what it takes to make build systems fundamentally parallelizable and distributable.

You will learn in this session :

  • What are declarative and imperative build and build systems? Followed by an in-depth discussion about advantages and dangers of both approaches.
  • Gradle’s state of the art declarative approach shown by example of the new Gradle based Android build system.
  • Why and what it means that builds should focus as much on developer productivity as on creating the production archives.
  • The sweet spot between standardization, declarativeness and required flexibility.
  • Why also smaller projects should care about build system concepts (the larger ones don’t really have a choice.)
  • The executional models of build systems.

 This talk is driven by many examples from Gradle, Make, Maven and Ant builds.

Hans Dockter Elsewhere

Tracks

Covering innovative topics

Monday, 3 November

Tuesday, 4 November

Wednesday, 5 November

Conference for Professional Software Developers