We currently use NAnt with StarTeam. Here's our NAnt file <?xml version="1.0" encoding="UTF-8"?>
<property name="checkin" value="true" /> <property name="label" value="true" /> <property name="current.directory" value="${directory::get-current-directory()}" /> <property name="assembly.name" value="Prism.exe" /> <property name="assembly" value="release/${assembly.name}" /> <property name="starteam.command.path" value="C:/Program Files/Borland/StarTeam 6.0/stcmd.exe" /> <property name="starteam.user" value="user" /> <property name="starteam.password" value="password" /> <property name="starteam.server" value="eadmv01:49205" /> <property name="starteam.project" value="MapsGeneral" /> <property name="starteam.url" value="${starteam.user}:[EMAIL PROTECTED]/${starteam.project}/Sources/Maps" /> <target name="deleteSource" description="Clean out client bin directory"> <echo message="Cleaning out client bin directory" /> <delete> <fileset> <include name="${current.directory}/bin/client/*.*" /> </fileset> </delete> </target> <target name="buildclient" description="Build MAPS Application in release mode" depends="deleteSource"> <echo message="Building MAPS Application in release mode..." /> <nant buildfile="MAPSDeploy.Build" /> </target> <target name="getbuildversion" description="Get version of MAPS assembly" depends="buildclient"> <echo message="Getting MAPS Assembly build version number..." /> <property name="assembly.version" value="${assemblyname::get-version(assemblyname::get-assembly-name(assembly))}" /> <echo message="Assembly build version number: ${assembly.version}" /> </target> <target name="buildmanifest" description="Execute MAPSMigrate to build ServerManifest.xml file" depends="getbuildversion"> <echo message="Building server manifest file for Bootstrapper..." /> <exec program="${current.directory}/lib/MAPSMigrate.exe" basedir="${current.directory}/lib" workingdir="${current.directory}/lib"> <arg value="${assembly.version}" /> <arg value="${current.directory}/bin/client/configs/ServerManifest.xml" /> <arg value="${current.directory}/release" /> </exec> </target> <target name="copyclientfiles" description="Copy client files to bin" depends="buildmanifest"> <copy todir="bin/client" overwrite="true"> <fileset basedir="release/"> <include name="*.dll" /> <include name="*.exe" /> </fileset> </copy> </target> <target name="checkinclientfiles" description="Check client files into StarTeam" depends="copyclientfiles"> <if test="${checkin}"> <echo message="Checking client files into StarTeam..." /> <exec program="${starteam.command.path}" workingdir="${current.directory}\bin\client"> <arg value="ci" /> <arg value="-p" /> <arg value="${starteam.url}/bin/client" /> <arg value="-u" /> <arg value="-o" /> <arg value='-r "New build - ${assembly.version}"' /> <arg value="*.*" /> </exec> <exec program="${starteam.command.path}" workingdir="${current.directory}\bin\client\configs"> <arg value="ci" /> <arg value="-p" /> <arg value="${starteam.url}/bin/client/configs" /> <arg value="-u" /> <arg value="-o" /> <arg value='-r "New build - ${assembly.version}"' /> <arg value="*.xml" /> </exec> </if> <ifnot test="${checkin}"> <echo message="StarTeam client file checkin was bypassed..." /> </ifnot> </target> <target name="checkinserverfiles" description="Check server files into StarTeam" depends="checkinclientfiles"> <if test="${checkin}"> <echo message="Checking server files into StarTeam..." /> <exec program="${starteam.command.path}" workingdir="${current.directory}\bin\server"> <arg value="ci" /> <arg value="-p" /> <arg value="${starteam.url}/bin/server" /> <arg value="-u" /> <arg value="-o" /> <arg value='-r "New build - ${assembly.version}"' /> <arg value="*.*" /> </exec> </if> <ifnot test="${checkin}"> <echo message="StarTeam server file checkin was bypassed..." /> </ifnot> </target> <target name="labelbuild" description="Label with current build number" depends="checkinserverfiles"> <if test="${label}"> <echo message="Labelling /sources with latest build number - ${assembly.version}..." /> <exec program="${starteam.command.path}" workingdir="${current.directory}"> <arg value="label" /> <arg value="-p" /> <arg value="${starteam.url}" /> <arg value="-nl" /> <arg value="${assembly.version}" /> <arg value="-x" /> </exec> </if> <ifnot test="${label}"> <echo message="Labelling bypassed for build - ${assembly.version}..." /> </ifnot> </target> </project> ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ NAnt-users mailing list NAnt-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nant-users