What are build tools? Why do we use build tools or build automation? List of available build tools - Maven Tutorial



What are build tools?

Build tools are programs that automate the creation of executable applications from source code(eg. .apk for an Android app). Building incorporates compiling, linking and packaging the code into a usable or executable form.

Basically build automation is the act of scripting or automating a wide variety of tasks that software developers do in their day-to-day activities like:

1. Downloading dependencies.2. Compiling source code into binary code.3. Packaging that binary code.4. Running tests.5. Deployment to production systems.

Why do we use build tools or build automation?

In small projects, developers will often manually invoke the build process. This is not practical for larger projects, where it is very hard to keep track of what needs to be built, in what sequence and what dependencies there are in the building process. Using an automation tool allows the build process to be more consistent.


List of available build tools(Naming only a few):

For java - Ant, Maven, Gradle.For .NET framework - NAntFor C# - MsBuild.For C++: make, cmake, premake

For further reading you can refer following links:

1.Build automation
2.List of build automation software