]>
Commit | Line | Data |
---|---|---|
99f7ee57 MW |
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 | |
99f7ee57 | 7 | Copyright: (c) 2008 Michael Wetherell |
526954c5 | 8 | Licence: wxWindows licence |
99f7ee57 MW |
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 | |
988729f5 | 18 | serialising builds for the same branch on this machine. |
99f7ee57 MW |
19 | --> |
20 | <xsl:template name="build"> | |
21 | <xsl:param name="content"/> | |
988729f5 MW |
22 | <xsl:variable name="checkout"> |
23 | <xsl:apply-templates select="get:step('checkout')"/> | |
24 | </xsl:variable> | |
99f7ee57 | 25 | <build> |
988729f5 MW |
26 | <lock> |
27 | <xsl:value-of select="exsl:node-set($checkout)/svn/defaultBranch"/> | |
28 | </lock> | |
99f7ee57 MW |
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) && | |
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> |