Subversion Repositories DevTools

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
1615 mhunt 1
<?xml version="1.0"?>
2
 
3
<project name="project-name" default="compile" basedir="." >
4
 
5
	<description>Build and release script for the Driver Accounting package</description>
6
 
7
	<taskdef resource="jats.properties"/>
8
 
9
	<!-- =================================================================== -->
10
	<!--  GLOBAL PROPERTIES                                                  -->
11
	<!-- =================================================================== -->
12
	<property file="${user.home}/.ant.properties" />
13
 
14
 
15
	<!-- =================================================================== -->
16
	<!--  PUBLIC TARGETS                                                     -->
17
	<!-- =================================================================== -->
18
 
19
	<!-- =================================================================== -->
20
	<target name="sandbox"
21
		description="Prepare the project dependency 'sandbox'.">
22
		<echo message="Prepare the sandbox."/>
23
		<!-- [insert tasks here to prepare the implementation sandbox] -->
24
		<!-- eg:                                                       -->
25
		<!-- <jats>                                                    -->
26
		<!--   <sandbox name="dependency" version="1.2.3.mas"/>        -->
27
		<!--   <sandbox name="package-name-api" version="1.0.0.mas"/>  -->
28
		<!-- </jats>                                                   -->
29
	</target>
30
 
31
	<!-- =================================================================== -->
32
	<target name="compile" depends="sandbox"
33
		description="Compile the project source.">
34
		<echo message="Compile the project source."/>
35
		<!-- [insert tasks here to perform source compilation]         -->
36
	</target>
37
 
38
	<!-- =================================================================== -->
39
	<target name="package" depends="compile"
40
		description="Package the project into releasable entities.">
41
		<echo message="Package the project release entities."/>
42
		<!-- [insert tasks here to package implementation] -->
43
	</target>
44
 
45
	<!-- =================================================================== -->
46
	<target name="test" depends=""
47
		description="Test the package using JUnit tests.">
48
		<echo message="Test the package."/>
49
		<!-- [insert tasks here to test implementation] -->
50
	</target>
51
 
52
	<!-- =================================================================== -->
53
	<target name="release-patch"
54
		description="Formally release this package as a patch release.">
55
		<property name="jants.release.category" value="patch"/>
56
		<antcall target="-label"/>
57
	</target>
58
 
59
	<!-- =================================================================== -->
60
	<target name="release-minor"
61
		description="Formally release this package as a minor release.">
62
		<property name="jants.release.category" value="minor"/>
63
		<antcall target="-label"/>
64
	</target>
65
 
66
	<!-- =================================================================== -->
67
	<target name="release-major"
68
		description="Formally release this package as a major release.">
69
		<property name="jants.release.category" value="major"/>
70
		<antcall target="-label"/>
71
	</target>
72
 
73
	<!-- =================================================================== -->
74
	<target name="release-prompt"
75
		description="Formally release this package as a user-specified version.">
76
		<property name="jants.release.category" value="prompt"/>
77
		<antcall target="-label"/>
78
	</target>
79
 
80
 
81
	<!-- =================================================================== -->
82
	<!--  SILENT TARGETS                                                     -->
83
	<!-- =================================================================== -->
84
 
85
	<!-- =================================================================== -->
86
	<target name="-label">
87
		<jats package="${ant.project.name}" scope="mas">
88
			<cclabel findCheckouts = "true"
89
					 type          = "${jants.release.category}"
90
					 mkview        = "true"
91
					 mapview       = "${jants.map.drive}"
92
					 labelname     = "jants.build.label"
93
					 viewname      = "jants.build.view.name"
94
					 viewpath      = "jants.build.view.path"
95
					 version       = "jants.build.version"/>
96
		</jats>
97
		<ant dir="${jants.build.view.path}" inheritAll="false" inheritRefs="false" target="-dpkg-release-${jants.release.category}">
98
			<property name="jants.build.version" value="${jants.build.version}"/>
99
		</ant>
100
		<ccrmview viewname="${jants.build.view.name}" unmap="${jants.map.drive}"/>
101
		<cclocklabel labelname="${jants.build.label}"/>
102
	</target>
103
 
104
	<!-- =================================================================== -->
105
	<target name="-dpkg-release-patch">
106
		<property name="jants.release.category" value="patch"/>
107
		<antcall target="-release"/>
108
	</target>
109
 
110
	<!-- =================================================================== -->
111
	<target name="-dpkg-release-minor">
112
		<property name="jants.release.category" value="minor"/>
113
		<antcall target="-release"/>
114
	</target>
115
 
116
	<!-- =================================================================== -->
117
	<target name="-dpkg-release-major">
118
		<property name="jants.release.category" value="major"/>
119
		<antcall target="-release"/>
120
	</target>
121
 
122
	<!-- =================================================================== -->
123
	<target name="-dpkg-release-prompt">
124
		<property name="jants.release.category" value="force"/>
125
		<antcall target="-release"/>
126
	</target>
127
 
128
	<!-- =================================================================== -->
129
	<target name="-release" depends="package,test">
130
		<!-- Clean the package directory -->
131
		<delete dir="pkg"/>
132
		<mkdir dir="pkg"/>
133
 
134
		<!-- Prepare the package entities -->
135
		<!-- [insert tasks here to copy relevant non-API files to their -->
136
		<!--  correct location within pkg]                              -->
137
 
138
		<!-- And perform the dpkg release -->
139
 
140
		<jats package="${ant.project.name}" scope="mas">
141
			<release type="${jants.release.category}" version="${jants.build.version}"/>
142
		</jats>
143
	</target>
144
 
145
</project>