Subversion Repositories DevTools

Rev

Rev 1913 | Rev 1917 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1913 Rev 1915
Line 2... Line 2...
2
 
2
 
3
	<macrodef name="ant-release">
3
	<macrodef name="ant-release">
4
 
4
 
5
		<attribute name="package"        default="${ant.project.name}"/>
5
		<attribute name="package"        default="${ant.project.name}"/>
6
		<attribute name="release-target" default="-do-release"/>
6
		<attribute name="release-target" default="-do-release"/>
-
 
7
		<attribute name="version"        default=""/>
7
 
8
 
8
		<sequential>
9
		<sequential>
9
 
10
 
10
			<basename property="ant.buildfile.filename" file="${ant.file}"/>
11
			<basename property="ant.buildfile.filename" file="${ant.file}"/>
11
			<dirname  property="ant.buildfile.path"     file="${ant.file}"/>
12
			<dirname  property="ant.buildfile.path"     file="${ant.file}"/>
Line 14... Line 15...
14
			<propertyregex property = "ant.buildfile.lpath"
15
			<propertyregex property = "ant.buildfile.lpath"
15
						   input    = "${ant.buildfile.path}"
16
						   input    = "${ant.buildfile.path}"
16
						   regexp   = "[A-Za-z]\:\\(.*)"
17
						   regexp   = "[A-Za-z]\:\\(.*)"
17
						   select   = "\1"/>
18
						   select   = "\1"/>
18
 
19
 
-
 
20
			<if><equals arg1="@{version}" arg2=""/>
-
 
21
				<then>
19
			<antshield packageName="${ant.project.name}"/>
22
					<antshield packageName="${ant.project.name}"/>
-
 
23
				</then>
-
 
24
				<else>
-
 
25
					<property name="jants.build.version" value="@{version}"/>
-
 
26
					<property name="antshield.release"   value="@{version}"/>
-
 
27
				</else>
20
 
28
			</if>
21
			<!-- These properties CAN be set by the Jants cclabel task, but I don't trust it any more. -->
29
			<!-- These properties CAN be set by the Jants cclabel task, but I don't trust it any more. -->
22
			<!-- I plan to phase out the old cclabel stuff and make it into scripts.                   -->
30
			<!-- I plan to phase out the old cclabel stuff and make it into scripts.                   -->
23
			<property name="jants.build.label"      value="@{package}_${antshield.release}"/>
31
			<property name="jants.build.label"      value="@{package}_${antshield.release}"/>
24
			<property name="jants.build.view.name"  value="${user.name}_jats_build_${jants.build.label}"/>
32
			<property name="jants.build.view.name"  value="${user.name}_jats_build_${jants.build.label}"/>
25
			<property name="jants.build.view.path"  value="O:\${jants.build.view.name}\${ant.buildfile.lpath}"/>
33
			<property name="jants.build.view.path"  value="O:\${jants.build.view.name}\${ant.buildfile.lpath}"/>
Line 36... Line 44...
36
						version       = "${antshield.release}"
44
						version       = "${antshield.release}"
37
						findCheckouts = "true"
45
						findCheckouts = "true"
38
						mkview        = "true"/>
46
						mkview        = "true"/>
39
 
47
 
40
			<!-- Update the deskpkg file with the version to be released. -->
48
			<!-- Update the deskpkg file with the version to be released. -->
41
			<echo message="${antshield.release}" file=".undo"/>
49
			<echo message="@{package}_${antshield.release}" file=".undo"/>
42
 
50
 
43
			<ant antfile     = "${ant.buildfile.filename}"
51
			<ant antfile     = "${ant.buildfile.filename}"
44
			     dir         = "${jants.build.view.path}"
52
			     dir         = "${jants.build.view.path}"
45
				 inheritAll  = "false"
53
				 inheritAll  = "false"
46
				 inheritRefs = "false"
54
				 inheritRefs = "false"
47
				 target      = "@{release-target}">
55
				 target      = "@{release-target}">
48
				<property name="jants.build.version"   value="${antshield.release}"/>
56
				<property name="jants.build.version"   value="${antshield.release}"/>
49
				<property name="jants.build.label"     value="${jants.build.label}"/>
57
				<property name="jants.build.label"     value="${jants.build.label}"/>
50
				<property name="jants.build.view.name" value="${jants.build.view.name}"/>
58
				<property name="jants.build.view.name" value="${jants.build.view.name}"/>
51
				<property name="jants.build.view.path" value="${jants.build.view.path}"/>
59
				<property name="jants.build.view.path" value="${jants.build.view.path}"/>
-
 
60
				<property name="jants.project.name"    value="${ant.project.name}"/>
52
			</ant>
61
			</ant>
53
 
62
 
54
 
63
 
55
			<cclocklabel labelname="${jants.build.label}"/>
64
			<cclocklabel labelname="${jants.build.label}"/>
56
 
65
 
Line 74... Line 83...
74
			<available property="undo.available" file=".undo"/>
83
			<available property="undo.available" file=".undo"/>
75
			<fail unless="undo.available" message="Release cannot be undone."/>
84
			<fail unless="undo.available" message="Release cannot be undone."/>
76
			<loadfile srcFile=".undo" property="undo.version"/>
85
			<loadfile srcFile=".undo" property="undo.version"/>
77
			<echo message="Undoing release ${undo.version}"/>
86
			<echo message="Undoing release ${undo.version}"/>
78
 
87
 
79
			<ccrmlabel labelname="@{package}_${undo.version}"/>
88
			<ccrmlabel labelname="${undo.version}"/>
80
			<ccrmview viewname="${user.name}_jats_build_@{package}_${undo.version}"/>
89
			<ccrmview viewname="${user.name}_jats_build_${undo.version}"/>
81
 
90
 
82
		</sequential>
91
		</sequential>
83
 
92
 
84
	</macrodef>
93
	</macrodef>
85
 
94