Build Tools in Software Development

Build tools are programs that automate the creation of executable applications from source code(eg. .apk for 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.
We use build tools or build automation for,
  • 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.
Many build tools are available to use(Some of them):
  1. Invoke
    • Invoke is a Python (2.6+ and 3.3+) task execution tool & library, drawing inspiration from various sources to arrive at a powerful & clean feature set. 
  2. open Build Service
    • The Open Build Service (OBS) is a generic system to build and distribute packages from sources in an automatic, consistent and reproducible way. 
  3. Webpack
    • webpack is a static module bundler for modern JavaScript applications. When webpack processes your application, it internally builds a dependency graph which maps every module your project needs and generates one or more bundles.
  4. Azure DevOps
    • The Azure DevOps Project presents a simplified experience where you bring your existing code and Git repository, or choose from one of the sample applications.
  5. Cake
    • Cake is built on top of the Roslyn compiler which enables you to write your build scripts in C#.
  6. CMake
    • CMake is cross-platform free and open-source software for managing the build process of software using a compiler-independent method.
  7. Gradle
    • Gradle is a project automation tool that builds upon the concepts of Apache Ant and Apache Maven and introduces a Groovy-based domain-specific language
  8. ANT
    • Apache Ant is a software tool for automating software build processes. It originally came from the Apache Tomcat project in early 2000. 
  9. Buildr
    • Buildr is an open-source build system mainly intended to build Java applications, but capable of doing much more.
  10. Maven
    • Maven is a build automation tool used primarily for Java projects. The word maven means 'accumulator of knowledge' in Yiddish.

Comments

Popular posts from this blog

Discuss the key features of Object Oriented Programming

Differentiate the three models of VCSs, stating their pros and cons

The Features Provided by jQuery