Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Email Address:

Manage releases, Ant builds, CVS, and Subversion with Antmod

Open source tool eases the build process in Java/JEE projects

Looking for that out-of-the-box solution that generates consistent Ant build files across all your projects, provides consistent tagging and branching in CVS/Subversion, or modularizes your software development process? Based on Ant, Antmod is a lightweight open source solution that enables all of this and more.

Antmod's build management is a set of Antmod plug-ins, with each plug-in being a set of Ant build files. Antmod's release management allows you to manage your projects and releases using XML release descriptor files. And Antmod's repository management enables consistent tagging and branching of one or more Concurrent Versions System and Subversion repositories, while enabling easy-to-use versioning of your CVS or Subversion modules. This functionality is especially handy for Subversion users.

In this article, you will find an introduction to Antmod and an example illustrating how to quickly start enjoying the tool's benefits.

[image]

Antmod implements build, release, and repository management using Ant as its basis


Inside Antmod

Antmod itself is an open source set of Ant tasks, Ant build files, and Java components. All of these are highly configurable and extensible, and implement the three basic functionalities illustrated in the figure above:

Repository management: A pluggable source configuration management layer with out-of-the-box support for CVS and Subversion. It does not matter anymore whether modules are stored in CVS or Subversion; you can even mix modules from different repositories in one release. Antmod's repository management provides easy-to-add support for other source repository systems like SourceSafe or ClearCase. Release management: Release descriptors are the base concept of Antmod and describe, for each project, its dependencies on libraries and modules. A release descriptor lists jar files and modules, plus the version of each module. Modules are stored in a source repository like CVS/Subversion and represent the versioning unit. To increase a module's version, just type ant promoteversion on the command line. Build management: Antmod supplies standard Ant build files. These can be customized and extended by using either a local.build.xml file for each module or plug-ins. Internally, each plug-in fires and intercepts plug-in events using Ant targets so that the plug-ins themselves remain loosely coupled while inter-communicating. Antmod comes with out-of-the-box plug-ins for war files, test coverage, code analysis, Tomcat, Hibernate, etc.


Antmod is open source and well-documented. Browse Antmod's Website for guides, references, and Antmod's API Specifications.

Getting started

So, are you interested in Antmod and want to give it a go? First, download the latest release and point your ANTMOD_HOME environment variable to the directory where you install Antmod. Antmod requires Java 1.4.2 or later and Ant 1.6.1 or later.

Configuring Antmod

You can personalize Antmod using an .antmodrc file in your home directory. On Windows, you would typically create this file in the C:\Documents and Settings\loginname directory.

Resources
Antmod homepage
http://antmod.org/
Download Antmod
http://antmod.org/download.html
Antmod API Specifications
http://antmod.org/api/
Antmod user guide
http://antmod.org/guide/
A list of Antmod plug-ins
http://antmod.org/buildplugins/
Use Ant for all your Java/Java Enterprise Edition projects
http://jakarta.apache.org/ant/
Maven is another often-used build (not repository) management tool
http://maven.apache.org/
Centipede is a project build system focusing on reusable Antlibs
http://www.krysalis.org/centipede/
Ivy is a great dependency management tool for Ant and is being considered as an add-on to Antmod
http://www.jayasoft.org/ivy
For more articles on Java development tools, browse the Development Tools section of JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-tools-index.shtml
For more articles on programming enterprise Java projects, browse the Java Enterprise Edition section of JavaWorld's Topical Index
http://www.javaworld.com/channel_content/jw-j2ee-index.shtml?



You are viewing a mobilized version of this site...
View original page here

Mobilized by Mowser Mowser