The “Build” is a process that covers all the steps required to create a “deliverable” of your software.
In a Real time project, every time compiling sources, linking, packaging, executing test ans so on….All the process are time consuming and its a repeatable process. So why cant we have any tools that can make this process automated.
Take example of C language, If you are working on any project in C language then every time you need to compile .c file , .h file and also we need to provide external header file for compiling and run a executable file.
Every time after making small change, its not becoming headache ? Can’t you think we required a tools that can make all this process automate for us ?? Build tools are the solution for this.
Build tools are programs that automate the creation of executable applications from source code (eg. .apk for android app)
In the Java world, this typically includes:
- Generating sources (sometimes).
- Compiling sources.
- Compiling test sources.
- Executing tests (unit tests, integration tests, etc).
- Packaging (into jar, war, ejb-jar, ear).
- Running health checks (static analyzers like Checkstyle, Findbugs, PMD, test coverage, etc).
- Generating reports.
The advantages of build automation to software development projects include
- Improve product quality
- Accelerate the compile and link processing
- Eliminate redundant tasks
- Minimize “bad builds”
- Eliminate dependencies on key personnel
- Have history of builds and releases in order to investigate issues
- Save time and money – because of the reasons listed above
Most Popular build tools available in java
Keep visiting for more details 🙂