-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathasl-release.xml
executable file
·96 lines (84 loc) · 4.67 KB
/
asl-release.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?xml version="1.0" encoding="utf-8"?>
<!--
********************************************************************************
* Ant Script Library - release module
* Module to create a release
* Module property prefix: "release"
********************************************************************************
* Copyright 2009 Joe Schmetzer
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
********************************************************************************
-->
<project name="asl-release">
<dirname property="asl-release.basedir" file="${ant.file.asl-release}"/>
<import file="${asl-release.basedir}/asl-common.xml"/>
<!-- ***********************************************************************
* target: release
************************************************************************ -->
<target name="release"
depends="release-tag, release-export, release-compile, release-package"
description="Creates a new release version, tagging, checkout, build and package"/>
<!-- ***********************************************************************
* target: release-version
************************************************************************ -->
<target name="-release-init-properties" depends="-init-time, -init-version, -release-init-tag">
<echo message="Release version is ${release.version}"/>
<echo message="Release tag is ${release.tag}"/>
<property name="release.workspace" location="${common.target-dir}/release/${release.version}"/>
<property name="release.buildfile-name" value="build.xml"/>
<property name="release.buildfile-path" location="${release.workspace}/${release.buildfile-name}"/>
</target>
<!-- ***********************************************************************
* target: -release-init-tag
************************************************************************ -->
<target name="-release-init-tag">
<property name="release.tag.prefix" value="${ant.project.name}-"/>
<property name="release.tag" value="${release.tag.prefix}${release.version}"/>
</target>
<!-- ***********************************************************************
* target: release-tag
************************************************************************ -->
<target name="release-tag" depends="-release-init-properties,-release-check-dir"
description="Tags the code in scm using the release version">
<echo message="Tagging '${release.server-path}' with tag '${release.tag}'"/>
<scm-tag dir="${release.server-path}" tag="${release.tag}"/>
</target>
<!-- ***********************************************************************
* target: -release-check-dir
************************************************************************ -->
<target name="-release-check-dir" unless="release.server-path">
<fail message="The property 'release.server-path' must be defined"/>
</target>
<!-- ***********************************************************************
* target: release-export
************************************************************************ -->
<target name="release-export" depends="-release-init-properties"
description="Checks out the code for the specified release tag">
<mkdir dir="${release.workspace}"/>
<scm-export serverpath="${release.server-path}" version="${release.tag}" localpath="${release.workspace}"/>
</target>
<!-- ***********************************************************************
* target: release-build
************************************************************************ -->
<target name="release-compile" depends="-release-init-properties"
description="Compiles the release">
<ant antfile="${release.buildfile-path}" inheritall="false"/>
</target>
<!-- ***********************************************************************
* target: release-package
************************************************************************ -->
<target name="release-package" depends="-release-init-properties"
description="Packages the release">
</target>
</project>