tags:

views:

52

answers:

1

I have heard that a project that developed with building tool are mostly dependency error free. It contains all type of project information.

What is architecture of any building tool? How does it be helpful to any project developement and developer?

I have heard Maven and ANT. Are there any other more useful ? Which is more useful and why ?

What is difference when we develope any project with using building tool and not using it ?

+6  A: 

What it is?

An automated building tool is a program that takes the source code of a program and generates all the binaries plus any other artifacts like documentation and installers.

Why is it useful?

Any person that joins a project can just check out the source code from source control and build the system by just issuing one command.

Scenario

Imagine you don't have a build system in place.

You add another feature to your program or just fix a bug. Now you need to recompile the code, regenerate documentation, create installers, upload them to a ftp server so your clients get faster your bug fixes and new features.

If you do all these steps manually you can do silly mistakes such us mistyping the ftp server URL. Plus all these things are repetitive and boring, almost nothing changes from a build to another, so why not let the computer do that stuff?

Why it helps having a build system?

This way you get working on the creative part instead of doing almost all the time the same boring stuff of just compiling, upload to server, etc.

Maven vs Ant. Which is more useful and why?

It really doesn't matter which one you are using. You can benefit very much from using any of them. However you can read this thread that discusses between these two a bit further.

And yeah, I think this question is more appropriate for stackoverflow.

Igor Popov