Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to assemble a multi-project ant build system

At my new gig, they use Ant and cannot be persuaded to move to Maven. I've looked everywhere for a decent example of how a multi-project ant build system should be assembled. The apache site falls short. I'm looking specifically for best practices to:

  • Automatically build local projects that are dependencies of a project
  • Share artifacts from project to their dependents
  • Export a project's dependencies and generated artifacts (jars) to be inherited by dependent projects
  • Share third-party dependencies between projects

I'm sure I can do all this without using Ivy - what did people do before Ivy? I really don't want to have to set up a corporate repository or rely on external repositories - the engineers here are really against that and have all their third-party jars checked into src control.

Can anyone point me at a good open source example of a multi-project ant build?

like image 849
Alex Worden Avatar asked Apr 08 '10 00:04

Alex Worden


People also ask

How do I compile an Ant project?

In the Project tool window, right-click the generated build file and select Add as Ant Build File to open it in the Ant tool window. In the Select Path dialog, navigate to the desired build. xml file, and click OK. A build file should have at least a root element to be added to the Ant Build tool window.

How do Ant builds work?

Ant builds are based on three blocks: tasks, targets and extension points. A task is a unit of work which should be performed and constitutes of small atomic steps, for example compile source code or create Javadoc. Tasks can be grouped into targets. A target can be directly invoked via Ant.

What is Ant in build tool?

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 don't have too much hands on experience with building large numbers of dependent projects with Ant, but this tutorial looks like it will do what you need without any additional tools.

like image 183
gareth_bowles Avatar answered Nov 04 '22 16:11

gareth_bowles