Use shared checkouts with a fresh copy for each build to allow clean builds.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
75
build/buildbot/config/include/xp_vc.xml
Normal file
75
build/buildbot/config/include/xp_vc.xml
Normal file
@@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
Name: include/xp_vc.xml
|
||||
Purpose: Declarations for the xp_vc slave
|
||||
Author: Michael Wetherell
|
||||
RCS-ID: $Id$
|
||||
Copyright: (c) 2008 Michael Wetherell
|
||||
Licence: wxWidgets licence
|
||||
-->
|
||||
|
||||
<bot xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<xi:include href="defs.xml"/>
|
||||
|
||||
<!--
|
||||
build - Override <build> to add a slave lock. This has the effect of
|
||||
serialising all the builds on this machine
|
||||
-->
|
||||
<xsl:template name="build">
|
||||
<xsl:param name="content"/>
|
||||
<build>
|
||||
<lock>slave</lock>
|
||||
<xsl:copy-of select="$content"/>
|
||||
</build>
|
||||
</xsl:template>
|
||||
|
||||
<!--
|
||||
checkout - checks out to a shared directory
|
||||
|
||||
Checks out to a directory '../$branch' shared between builds. Then exports
|
||||
it to a clean 'build' directory for the job to build in. This relies on
|
||||
builds for the same branch being serialised with a lock so that one build
|
||||
doesn't update the shared source while another is exporting them.
|
||||
|
||||
Usage typically just:
|
||||
<checkout/>
|
||||
for the trunk, or:
|
||||
<checkout branch="branches/WX_2_8_BRANCH"/>
|
||||
to checkout a branch.
|
||||
-->
|
||||
<xsl:template name="checkout">
|
||||
<xsl:param name="content"/>
|
||||
<xsl:param name="branch" select="'trunk'"/>
|
||||
<xsl:variable name="nodes" select="exsl:node-set($content)"/>
|
||||
<svn>
|
||||
<xsl:if test="not($nodes/svnurl)">
|
||||
<xsl:if test="not($nodes/baseURL)">
|
||||
<baseURL><SVN_URL/></baseURL>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($nodes/defaultBranch)">
|
||||
<defaultBranch><xsl:value-of select="$branch"/></defaultBranch>
|
||||
</xsl:if>
|
||||
</xsl:if>
|
||||
<xsl:if test="not($nodes/workdir)">
|
||||
<workdir>../<xsl:value-of select="$branch"/></workdir>
|
||||
</xsl:if>
|
||||
<xsl:copy-of select="$content"/>
|
||||
</svn>
|
||||
<shellcommand>
|
||||
<description>creating build directory</description>
|
||||
<descriptionDone>create build directory</descriptionDone>
|
||||
<workdir>.</workdir>
|
||||
<command>
|
||||
<normalize-space>
|
||||
(if exist build rmdir /s/q build) &&
|
||||
svn export --native-eol CRLF
|
||||
..\<xsl:value-of select="$branch"/> build
|
||||
</normalize-space>
|
||||
</command>
|
||||
</shellcommand>
|
||||
</xsl:template>
|
||||
|
||||
</bot>
|
Reference in New Issue
Block a user