Remove all lines containing cvs/svn "$Id$" keyword.
[wxWidgets.git] / build / buildbot / config / include / xp_vc.xml
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <!--
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
9 -->
10
11 <bot xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
12 xmlns:xi="http://www.w3.org/2001/XInclude">
13
14 <xi:include href="defs.xml"/>
15
16 <!--
17 build - Override <build> to add a slave lock. This has the effect of
18 serialising builds for the same branch on this machine.
19 -->
20 <xsl:template name="build">
21 <xsl:param name="content"/>
22 <xsl:variable name="checkout">
23 <xsl:apply-templates select="get:step('checkout')"/>
24 </xsl:variable>
25 <build>
26 <lock>
27 <xsl:value-of select="exsl:node-set($checkout)/svn/defaultBranch"/>
28 </lock>
29 <xsl:copy-of select="$content"/>
30 </build>
31 </xsl:template>
32
33 <!--
34 checkout - checks out to a shared directory
35
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.
40
41 Usage typically just:
42 <checkout/>
43 for the trunk, or:
44 <checkout branch="branches/WX_2_8_BRANCH"/>
45 to checkout a branch.
46 -->
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)"/>
51 <svn>
52 <xsl:if test="not($nodes/svnurl)">
53 <xsl:if test="not($nodes/baseURL)">
54 <baseURL><SVN_URL/></baseURL>
55 </xsl:if>
56 <xsl:if test="not($nodes/defaultBranch)">
57 <defaultBranch><xsl:value-of select="$branch"/></defaultBranch>
58 </xsl:if>
59 </xsl:if>
60 <xsl:if test="not($nodes/workdir)">
61 <workdir>../<xsl:value-of select="$branch"/></workdir>
62 </xsl:if>
63 <xsl:copy-of select="$content"/>
64 </svn>
65 <shellcommand>
66 <description>creating build directory</description>
67 <descriptionDone>create build directory</descriptionDone>
68 <workdir>.</workdir>
69 <command>
70 <normalize-space>
71 (if exist build rmdir /s/q build) &amp;&amp;
72 svn export --native-eol CRLF
73 ..\<xsl:value-of select="$branch"/> build
74 </normalize-space>
75 </command>
76 </shellcommand>
77 </xsl:template>
78
79 </bot>