david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 1 | <project |
| 2 | name="cc_project_build" |
| 3 | default="Build" |
| 4 | basedir="."> |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 5 | |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 6 | <!-- = = = standard properties pattern = = = --> |
| 7 | <!-- |
| 8 | Note to be cross-platform, "environment variables" are only appropriate for |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 9 | some variables, e.g. ones we set, since properties are case sensitive, even if |
| 10 | the environment variables on your operating system are not, e.g. it will |
| 11 | be ${env.Path} not ${env.PATH} on Windows --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 12 | <property |
| 13 | environment="env" /> |
david_williams | 70831b5 | 2007-10-05 03:27:45 +0000 | [diff] [blame] | 14 | |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 15 | <!-- |
| 16 | Let users override standard properties, if desired. |
| 17 | If directory, file, or some properties do not exist, |
| 18 | then standard properties will be used. |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 19 | --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 20 | <property |
| 21 | file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties" /> |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 22 | |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 23 | <!-- = = = end standard properties pattern = = = --> |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 24 | |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 25 | <!-- if not otherwise set, build clean --> |
| 26 | <property |
| 27 | name="build.clean" |
| 28 | value="true" /> |
david_williams | 70831b5 | 2007-10-05 03:27:45 +0000 | [diff] [blame] | 29 | |
david_williams | 0d90cde | 2008-01-05 05:59:43 +0000 | [diff] [blame] | 30 | <!-- set main builder file name, based on distribution, buildBranch and build type --> |
| 31 | <property |
| 32 | name="builder" |
| 33 | value="${env.PROJECT_BUILDERS}/${projectname}/${env.RELENG_BUILDER}/build.xml" /> |
| 34 | |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 35 | <!-- |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 36 | If not set yet, by "caller", then fail fast. |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 37 | Normally this is literally the project name from CruiseControl, but |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 38 | if running "standalone", it would have to be set to something similar |
| 39 | to one of the cc_config project name, such as wtp-R3.0-I. |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 40 | --> |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 41 | <fail |
| 42 | unless="projectname" /> |
david_williams | 42f9b24 | 2006-11-27 18:45:14 +0000 | [diff] [blame] | 43 | |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 44 | <!-- if not otherwise set, the following are good default values --> |
| 45 | <property |
| 46 | name="mapVersionTag" |
| 47 | value="HEAD" /> |
| 48 | <target |
| 49 | name="Build"> |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 50 | <antcall |
| 51 | target="doBuildPhase" /> |
| 52 | <antcall |
| 53 | target="doTestPhase" /> |
| 54 | </target> |
| 55 | <target |
| 56 | name="doBuildPhase" |
| 57 | unless="skipCleanBuild"> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 58 | <antcall |
| 59 | target="doCleanBuild" /> |
david_williams | 70831b5 | 2007-10-05 03:27:45 +0000 | [diff] [blame] | 60 | |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 61 | <!-- and create preliminary download site files --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 62 | <ant |
| 63 | antfile="${builder}" |
| 64 | target="site" /> |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 65 | <!-- upload what we have so far --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 66 | <ant |
| 67 | antfile="${builder}" |
| 68 | target="upload" /> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 69 | </target> |
| 70 | <target |
| 71 | name="doCleanBuild" |
| 72 | unless="skipCleanBuild"> |
| 73 | <!-- clean previous build --> |
| 74 | <antcall |
| 75 | target="clean" /> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 76 | <!-- check out fresh set of appropriate files for the builder --> |
| 77 | <ant |
| 78 | antfile="checkout.xml" /> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 79 | <!-- build and create preliminary download site files --> |
| 80 | <ant |
| 81 | antfile="${builder}" |
| 82 | target="build" /> |
| 83 | </target> |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 84 | |
| 85 | <!-- test phase runs tests, creates test summary files, and uploads results --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 86 | <target |
| 87 | name="doTestPhase" |
| 88 | unless="skipUnitTests"> |
david_williams | d84c220 | 2008-01-05 06:45:17 +0000 | [diff] [blame] | 89 | <delete |
| 90 | dir="${env.PROJECT_TESTS}/${projectname}" |
| 91 | failonerror="false" /> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 92 | <ant |
| 93 | antfile="${builder}" |
| 94 | target="test" /> |
| 95 | <ant |
| 96 | antfile="${builder}" |
| 97 | target="site" /> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 98 | <ant |
| 99 | antfile="${builder}" |
| 100 | target="upload" /> |
| 101 | </target> |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 102 | |
| 103 | <!-- clean task --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 104 | <target |
| 105 | name="clean" |
| 106 | depends="check.clean" |
| 107 | if="doClean"> |
| 108 | <delete |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 109 | dir="${env.PROJECT_PROJECTS}/${projectname}" |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 110 | failonerror="false" /> |
| 111 | <delete |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 112 | dir="${env.PROJECT_TESTS}/${projectname}" |
| 113 | failonerror="false" /> |
david_williams | 8f7802c | 2008-01-05 09:09:47 +0000 | [diff] [blame] | 114 | <!-- deleting ant working will be complicated, since sometimes same as releng.control --> |
| 115 | <!-- |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 116 | <delete |
| 117 | dir="${env.ANT_WORKING}" |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 118 | failonerror="false" /> |
david_williams | 8f7802c | 2008-01-05 09:09:47 +0000 | [diff] [blame] | 119 | --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 120 | </target> |
| 121 | |
david_williams | 320c033 | 2008-01-05 05:55:44 +0000 | [diff] [blame] | 122 | <!-- if build.clean if true, or does not exist, set doClean to true --> |
david_williams | 39c5f65 | 2008-01-02 07:08:39 +0000 | [diff] [blame] | 123 | <target |
| 124 | name="check.clean"> |
| 125 | <condition |
| 126 | property="doClean"> |
| 127 | <or> |
| 128 | <not> |
| 129 | <isset |
| 130 | property="build.clean" /> |
| 131 | </not> |
| 132 | <equals |
| 133 | arg1="${build.clean}" |
| 134 | arg2="true" /> |
| 135 | </or> |
| 136 | </condition> |
| 137 | </target> |
| 138 | </project> |