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