What is the purpose of a Build Tool?
Build tools are programs that automates the creation of executable applications from the source code (Eg:- .apk for android Applications, .jar for Java Applications). Building incorporates compiling, 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 such as:
- Downloading the necessary dependencies.
- Compiling the source code into binary code.
- Packaging that binary code.
- Running Tests.
- Deployment to UAT or Production Environments.
Why do we use build tools or build automation?
In small projects, developers will often manually invoke the build process. For an example in small projects when a new developer clone a project and if having dependency issues, have to download them manually and place them in the exact position which it is expected.
But 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 and more reliable.
What is a Dependency?
A dependency is an essential functionality, library or a piece of code that is an essential for a different part of the code to work. For an example, a specific library that a given line of code depend on.
What are the currently available Build and Dependency Management Systems?
Several available build tools are;
- Apache Ant (2000)
- Apache Maven (2004)
- Gradle (2012)
- SBT
- Leiningen
- Nant
- MS Build
- Grunt
- Gulp
- Brocolli
- Ivy
- Rake
0Comments