]>
Commit | Line | Data |
---|---|---|
96e6ebe6 MW |
1 | <?xml version="1.0" encoding="utf-8"?> |
2 | ||
3 | <!-- | |
4 | Name: include/csleobuild.xml | |
5 | Purpose: Declarations for the csleobuild slave | |
6 | Author: Michael Wetherel, Stefan Csomor | |
7 | RCS-ID: $Id$ | |
8 | Copyright: (c) Stefan Csomor | |
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 | |
19 | serialising all the builds on this machine | |
20 | --> | |
21 | <xsl:template name="build"> | |
22 | <xsl:param name="content"/> | |
23 | <build> | |
24 | <lock>slave</lock> | |
25 | <xsl:copy-of select="$content"/> | |
26 | </build> | |
27 | </xsl:template> | |
28 | ||
29 | <!-- | |
30 | checkout - checks out to a shared directory | |
31 | ||
32 | Checks out to a directory '../$branch' shared between builds. Then creates | |
33 | a directory 'build' for this job to build in, and 'src' which is a link to | |
34 | the shared sources. This relies on all builds for the same branch being | |
35 | serialised with lock so that one build doesn't update the sources while | |
36 | another is building them. | |
37 | ||
38 | Usage typically just: | |
39 | <checkout/> | |
40 | for the trunk, or: | |
41 | <checkout branch="branches/WX_2_8_BRANCH"/> | |
42 | to checkout a branch. | |
43 | --> | |
44 | <xsl:template name="checkout"> | |
45 | <xsl:param name="content"/> | |
46 | <xsl:param name="branch" select="'trunk'"/> | |
47 | <xsl:variable name="nodes" select="exsl:node-set($content)"/> | |
48 | <svn> | |
49 | <xsl:if test="not($nodes/svnurl)"> | |
50 | <xsl:if test="not($nodes/baseURL)"> | |
51 | <baseURL><SVN_URL/></baseURL> | |
52 | </xsl:if> | |
53 | <xsl:if test="not($nodes/defaultBranch)"> | |
54 | <defaultBranch><xsl:value-of select="$branch"/></defaultBranch> | |
55 | </xsl:if> | |
56 | </xsl:if> | |
57 | <xsl:if test="not($nodes/workdir)"> | |
58 | <workdir>../<xsl:value-of select="$branch"/></workdir> | |
59 | </xsl:if> | |
60 | <xsl:copy-of select="$content"/> | |
61 | </svn> | |
62 | <shellcommand> | |
63 | <description>creating build directory</description> | |
64 | <descriptionDone>create build directory</descriptionDone> | |
65 | <workdir>.</workdir> | |
66 | <command> | |
67 | rm -rf build && | |
68 | mkdir build && | |
69 | ln -sf ../<xsl:value-of select="$branch"/> src | |
70 | </command> | |
71 | </shellcommand> | |
72 | </xsl:template> | |
73 | ||
74 | <!-- | |
75 | configure - use '../src/configure' as the default configure command, | |
76 | include disable-precomp-headers in the default options and | |
77 | post process the Makefiles to use ccache. | |
78 | ||
79 | Usage: <configure options="-with-foobar"/> | |
80 | --> | |
81 | <xsl:template name="configure"> | |
82 | <xsl:param name="content"/> | |
83 | <xsl:param name="options"/> | |
84 | <configure> | |
85 | <copy-with-defaults content="{$content}"> | |
86 | <command>../src/configure --disable-precomp-headers <xsl:value-of select="normalize-space($options)"/></command> | |
87 | </copy-with-defaults> | |
88 | <command>find . -name Makefile | xargs perl -pi -e 's/^(?:CC|CXX) = /$&ccache /'</command> | |
89 | </configure> | |
90 | </xsl:template> | |
91 | ||
92 | <!-- | |
93 | run-tests - build step to run the test suites. | |
94 | --> | |
95 | <xsl:template name="run-tests"> | |
96 | <xsl:param name="content"/> | |
97 | <test> | |
98 | <defaults content="{$content}"> | |
99 | <description>running tests</description> | |
100 | <descriptionDone>run tests</descriptionDone> | |
101 | <warnOnFailure/> | |
102 | </defaults> | |
103 | <copy-with-defaults content="{$content}"> | |
104 | <command> | |
105 | export DYLD_LIBRARY_PATH=../lib | |
106 | cd tests && | |
107 | ./test && | |
108 | ./test_gui | |
109 | </command> | |
110 | </copy-with-defaults> | |
111 | </test> | |
112 | </xsl:template> | |
113 | ||
114 | </bot> |