1 <?xml version=
"1.0" encoding=
"utf-8"?>
4 Name: include/xp_vc.xml
5 Purpose: Declarations for the xp_vc slave
6 Author: Michael Wetherell
7 Copyright: (c) 2008 Michael Wetherell
8 Licence: wxWindows licence
11 <bot xmlns:
xsl=
"http://www.w3.org/1999/XSL/Transform"
12 xmlns:
xi=
"http://www.w3.org/2001/XInclude">
14 <xi:include href=
"defs.xml"/>
17 build - Override <build> to add a slave lock. This has the effect of
18 serialising builds for the same branch on this machine.
20 <xsl:template name=
"build">
21 <xsl:param name=
"content"/>
22 <xsl:variable name=
"checkout">
23 <xsl:apply-templates select=
"get:step('checkout')"/>
27 <xsl:value-of select=
"exsl:node-set($checkout)/svn/defaultBranch"/>
29 <xsl:copy-of select=
"$content"/>
34 checkout - checks out to a shared directory
36 Checks out to a directory '../$branch' shared between builds. Then exports
37 it to a clean 'build' directory for the job to build in. This relies on
38 builds for the same branch being serialised with a lock so that one build
39 doesn't update the shared source while another is exporting them.
44 <checkout branch="branches/WX_2_8_BRANCH"/>
47 <xsl:template name=
"checkout">
48 <xsl:param name=
"content"/>
49 <xsl:param name=
"branch" select=
"'trunk'"/>
50 <xsl:variable name=
"nodes" select=
"exsl:node-set($content)"/>
52 <xsl:if test=
"not($nodes/svnurl)">
53 <xsl:if test=
"not($nodes/baseURL)">
54 <baseURL><SVN_URL/></baseURL>
56 <xsl:if test=
"not($nodes/defaultBranch)">
57 <defaultBranch><xsl:value-of select=
"$branch"/></defaultBranch>
60 <xsl:if test=
"not($nodes/workdir)">
61 <workdir>../
<xsl:value-of select=
"$branch"/></workdir>
63 <xsl:copy-of select=
"$content"/>
66 <description>creating build directory
</description>
67 <descriptionDone>create build directory
</descriptionDone>
71 (if exist build rmdir /s/q build)
&&
72 svn export --native-eol CRLF
73 ..\
<xsl:value-of select=
"$branch"/> build