Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is build automation software (for example, Ant)?

Tags:

I see reference of ant a lot but I don't get exactly what its meant to do? from what i've heard its supposed to compile your projects but can't i just do that by clicking Run->Run in eclipse?

Edit : I guess I should rephrase my question. I already know that ant is a 'build automation software', my question is, what exactly is build automation? I thought that you're supposed to test your app, and when it is running you click the 'build' button in eclipse or through command-line java, and it makes a .jar file out of it? So why do you need to 'automate' this process?

like image 670
Ali Avatar asked Mar 04 '09 14:03

Ali


People also ask

What is build automation software?

Build automation is the process of automating the creation of a software build and the associated processes including: compiling computer source code into binary code, packaging binary code, and running automated tests.

What is Ant in automation?

Apache Ant is a software tool for automating software build processes which originated from the Apache Tomcat project in early 2000 as a replacement for the Make build tool of Unix. It is similar to Make, but is implemented using the Java language and requires the Java platform.

Is Ant a build automation tool?

Apache Ant is a build automation tool that uses XML and Java, and it is designed to make build processes simpler and more portable. Ant uses targets and tasks to compile, test, and run applications. Ant is primarily used for Java applications, but it can be used for other types of applications.

What is Ant in software?

Ant is a Java-based build tool created as part of the Apache open-source project. You can think of it as a Java version of make. Ant scripts have a structure and are written in XML. Similar to make, Ant targets can depend on other targets. For example, Ant is used in the context of plug-in development in the build.


1 Answers

I already know that ant is a 'build automation software', my question is, what exactly is build automation? I thought that you're supposed to test your app, and when it is running you click the 'build' button in eclipse or through command-line java, and it makes a .jar file out of it? So why do you need to 'automate' this process?

Not all the Java development is done through eclipse and not all the jars may be built from the command line ( or should be built from the command line ) .

You may need additionally run test cases, unit tests, and many, many other process.

What ant does, is provide a mechanism to automate all this work ( so you don't have to do it every time ) and perhaps you may invoke this ant script each day at 6 p.m.

For instance, in some projects, a daily build is needed, the following are the task that may be automated with ant, so they can run without human intervention.

  • Connect to subversion server.
  • Download/update with the latest version
  • Compile the application
  • Run the test cases
  • Pack the application ( in jar, war, ear, or whatever )
  • Commit this build binaries to subversion.
  • Install the application in a remote server
  • Restart the server
  • Send an email with the summary of the job.

Of course for other projects this is overkill, but for some others is very helpful.

like image 110
OscarRyz Avatar answered Nov 17 '22 10:11

OscarRyz