Ant SCM Support

This page lists what SCM systems are supported under Ant, and where the tasks for them can be found. All of these tasks require either custom Java libraries or SCM tool-specific executables on the path. On Windows, IOError 2 is a sign that the executable was not found.

Before trying to use the tasks (or when trying to diagnose problems), First test on the command line for the program existing. Then try and check out and check in files. If it does not work on the command line, it won't work from Ant.

CVS

<cvs> ships with Ant as a core task. Although "core", you need the cvs program on your path.

VSS

An optional task, implemented in ant-optional.jar; needs ss.exe on the path. Remember, VSS is not a real SCM system, no matter how pretty the front end looks.

StarTeam

Implemented in ant-starteam.jar. Needs starteam-sdk.jar on the classpath, and the StarGate runtime on the path, particularly the native shared libraries.

PVCS

Implemented in ant-optional.jar; needs the PVCS commands get and pcli on the path.

Continuus/Synergy

Implemented in ant-optional.jar; needs ccm on the path.

ClearCase

Implemented in ant-optional.jar; needs the many ClearCase commands on the path.

The ClearCase filesystem has some quirks that sometimes surface when you build Ant projects in a vob, even if you are not directly using the tasks.

  • For windows, ask for case insensitive filenames
  • Avoid automatic linefeed conversion; it can cause surprises
  • If simple filesystem operations suddenly fail (like <delete>, <copy>), reboot your system and maybe it will go away.
  • Builds can be slower than on a native FS.

SVN: Subversion

official Ant team support

Support for subversion will be via an antlib library (in its own namespace) that wraps the svn executable. The library is already available in ant's SVN repository, and works with ant 1.7+, At the time of writing (September 2005) you need to check out and build it yourself.

Needs "svn" on the path.

svnant

The svnant project at Tigris is an Ant task to subversion. Uses a JNI binding to Ant if found, falling back to the svn command line.

JSVN

The JSVN project to provide Java libraries and a client to SVN includes Ant tasks.

JavaSVN

The JavaSVN program provides a pure Java interface to SVN. There is currently no Ant task support, but there is documentation on how to use <java> to invoke the library. Does not need any executables on the path, only JAR files.

SourceAnywhere Hosted

Implemented in ant-optional.jar; needs saw on the path.

  • No labels