Rev 1915 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<project name="ant-release-task"><macrodef name="ant-release"><attribute name="package" default="${ant.project.name}"/><attribute name="release-target" default="-do-release"/><sequential><basename property="ant.buildfile.filename" file="${ant.file}"/><dirname property="ant.buildfile.path" file="${ant.file}"/><!-- Determine the logical path of the build (that is, the path that does not contain the drive letter) --><propertyregex property = "ant.buildfile.lpath"input = "${ant.buildfile.path}"regexp = "[A-Za-z]\:\\(.*)"select = "\1"/><antshield packageName="${ant.project.name}"/><!-- These properties CAN be set by the Jants cclabel task, but I don't trust it any more. --><!-- I plan to phase out the old cclabel stuff and make it into scripts. --><property name="jants.build.label" value="@{package}_${antshield.release}"/><property name="jants.build.view.name" value="${user.name}_jats_build_${jants.build.label}"/><property name="jants.build.view.path" value="O:\${jants.build.view.name}\${ant.buildfile.lpath}"/><!--<ccmklbtype typename = "${jants.build.label}-TEST"global = "true"/><ccmklabel typename="${jants.build.label}-TEST"viewpath="${basedir}"/>--><cclabel package = "@{package}"version = "${antshield.release}"findCheckouts = "true"mkview = "true"/><!-- Update the deskpkg file with the version to be released. --><echo message="${antshield.release}" file=".undo"/><ant antfile = "${ant.buildfile.filename}"dir = "${jants.build.view.path}"inheritAll = "false"inheritRefs = "false"target = "@{release-target}"><property name="jants.build.version" value="${antshield.release}"/><property name="jants.build.label" value="${jants.build.label}"/><property name="jants.build.view.name" value="${jants.build.view.name}"/><property name="jants.build.view.path" value="${jants.build.view.path}"/></ant><cclocklabel labelname="${jants.build.label}"/><ccrmview viewname="${jants.build.view.name}"/><delete file=".undo"/></sequential></macrodef><macrodef name="ant-undo-release"><attribute name="package" default="${ant.project.name}"/><sequential><!-- Examine the manifest for the version that was released, and if it is set, set @{package} to that. --><available property="undo.available" file=".undo"/><fail unless="undo.available" message="Release cannot be undone."/><loadfile srcFile=".undo" property="undo.version"/><echo message="Undoing release ${undo.version}"/><ccrmlabel labelname="@{package}_${undo.version}"/><ccrmview viewname="${user.name}_jats_build_@{package}_${undo.version}"/></sequential></macrodef><target name="release"><ant-release/></target><target name="undo-release"><ant-undo-release/></target></project>