Chapter 14. Build management

 

In this chapter

  • Automated builds
  • Managing builds with Maven
  • Continuous builds

A tool is but the extension of a man’s hand, and a machine is but a complex tool. And he that invents a machine augments the power of a man and the well-being of mankind.

Henry Ward Beecher

In any but the simplest software projects, there comes a point where the complexity of an application outgrows the tooling and project structure initially used to set it up. As a developer you’ve probably hit that problem more than once. As the number of classes and resource files in your application grows, dependencies to external libraries increase, and it all starts getting monolithic and unwieldy.

What can you do when things start to get messy? First, you could start breaking down your application into distinct modules that can be maintained and built separately, perhaps even reused for other projects. With an increasing number of library dependencies, you may also want to start employing a dependency management system, which can take care of resolving version conflicts and the like.

14.1. Building Android applications

14.2. Managing builds with Maven

14.3. Build servers and continuous builds

14.4. Summary