]>
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 | |
7 | RCS-ID: $Id$ | |
8 | Copyright: (c) 2008 Michael Wetherell | |
9 | Licence: wxWidgets licence | |
10 | --> | |
11 | ||
12 | <bot xmlns:xsl="http://www.w3.org/1999/XSL/Transform" | |
13 | xmlns:xi="http://www.w3.org/2001/XInclude"> | |
14 | ||
15 | <xi:include href="defs.xml"/> | |
16 | ||
17 | <!-- | |
18 | build - Override <build> to add a slave lock. This has the effect of | |
988729f5 | 19 | serialising builds for the same branch on this machine. |
99f7ee57 MW |
20 | --> |
21 | <xsl:template name="build"> | |
22 | <xsl:param name="content"/> | |
988729f5 MW |
23 | <xsl:variable name="checkout"> |
24 | <xsl:apply-templates select="get:step('checkout')"/> | |
25 | </xsl:variable> | |
99f7ee57 | 26 | <build> |
988729f5 MW |
27 | <lock> |
28 | <xsl:value-of select="exsl:node-set($checkout)/svn/defaultBranch"/> | |
29 | </lock> | |
99f7ee57 MW |
30 | <xsl:copy-of select="$content"/> |
31 | </build> | |
32 | </xsl:template> | |
33 | ||
34 | <!-- | |
35 | checkout - checks out to a shared directory | |
36 | ||
37 | Checks out to a directory '../$branch' shared between builds. Then exports | |
38 | it to a clean 'build' directory for the job to build in. This relies on | |
39 | builds for the same branch being serialised with a lock so that one build | |
40 | doesn't update the shared source while another is exporting them. | |
41 | ||
42 | Usage typically just: | |
43 | <checkout/> | |
44 | for the trunk, or: | |
45 | <checkout branch="branches/WX_2_8_BRANCH"/> | |
46 | to checkout a branch. | |
47 | --> | |
48 | <xsl:template name="checkout"> | |
49 | <xsl:param name="content"/> | |
50 | <xsl:param name="branch" select="'trunk'"/> | |
51 | <xsl:variable name="nodes" select="exsl:node-set($content)"/> | |
52 | <svn> | |
53 | <xsl:if test="not($nodes/svnurl)"> | |
54 | <xsl:if test="not($nodes/baseURL)"> | |
55 | <baseURL><SVN_URL/></baseURL> | |
56 | </xsl:if> | |
57 | <xsl:if test="not($nodes/defaultBranch)"> | |
58 | <defaultBranch><xsl:value-of select="$branch"/></defaultBranch> | |
59 | </xsl:if> | |
60 | </xsl:if> | |
61 | <xsl:if test="not($nodes/workdir)"> | |
62 | <workdir>../<xsl:value-of select="$branch"/></workdir> | |
63 | </xsl:if> | |
64 | <xsl:copy-of select="$content"/> | |
65 | </svn> | |
66 | <shellcommand> | |
67 | <description>creating build directory</description> | |
68 | <descriptionDone>create build directory</descriptionDone> | |
69 | <workdir>.</workdir> | |
70 | <command> | |
71 | <normalize-space> | |
72 | (if exist build rmdir /s/q build) && | |
73 | svn export --native-eol CRLF | |
74 | ..\<xsl:value-of select="$branch"/> build | |
75 | </normalize-space> | |
76 | </command> | |
77 | </shellcommand> | |
78 | </xsl:template> | |
79 | ||
80 | </bot> |