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 type      = "${jants.release.category}"
89
					 mkview    = "true"
90
					 mapview   = "${jants.map.drive}"
91
					 labelname = "jants.build.label"
92
					 viewname  = "jants.build.view.name"
93
					 viewpath  = "jants.build.view.path"
94
					 version   = "jants.build.version"/>
95
		</jats>
96
		<ant dir="${jants.build.view.path}" inheritAll="false" inheritRefs="false" target="-dpkg-release-${jants.release.category}">
97
			<property name="jants.build.version" value="${jants.build.version}"/>
98
		</ant>
99
		<ccrmview viewname="${jants.build.view.name}" unmap="${jants.map.drive}"/>
100
		<cclocklabel labelname="${jants.build.label}"/>
101
	</target>
102
 
103
	<!-- =================================================================== -->
104
	<target name="-dpkg-release-patch">
105
		<property name="jants.release.category" value="patch"/>
106
		<antcall target="-release"/>
107
	</target>
108
 
109
	<!-- =================================================================== -->
110
	<target name="-dpkg-release-minor">
111
		<property name="jants.release.category" value="minor"/>
112
		<antcall target="-release"/>
113
	</target>
114
 
115
	<!-- =================================================================== -->
116
	<target name="-dpkg-release-major">
117
		<property name="jants.release.category" value="major"/>
118
		<antcall target="-release"/>
119
	</target>
120
 
121
	<!-- =================================================================== -->
122
	<target name="-dpkg-release-prompt">
123
		<property name="jants.release.category" value="force"/>
124
		<antcall target="-release"/>
125
	</target>
126
 
127
	<!-- =================================================================== -->
128
	<target name="-release" depends="package,test">
129
		<!-- Clean the package directory -->
130
		<delete dir="pkg"/>
131
		<mkdir dir="pkg"/>
132
 
133
		<!-- Prepare the package entities -->
134
		<!-- [insert tasks here to copy relevant non-API files to their -->
135
		<!--  correct location within pkg]                              -->
136
 
137
		<!-- And perform the dpkg release -->
138
 
139
		<jats package="${ant.project.name}" scope="mas">
140
			<release type="${jants.release.category}" version="${jants.build.version}"/>
141
		</jats>
142
	</target>
143
 
144
</project>