blob: 8c0072f0e3d1c72801242e6f03cf1f4dd2b57c87 [file] [log] [blame]
david_williams7888d502007-06-29 06:26:51 +00001<project
2 name="checkout"
3 default="checkout"
4 basedir=".">
david_williamsa7f68be2007-06-20 02:17:13 +00005 <!--
david_williamsc2f548c2008-07-21 04:06:47 +00006 Standard properties pattern. Note: to be cross-platform,
7 "environment variables" are only appropriate for some variables,
8 e.g. ones we set, since properties are case sensitive, even if
9 the environment variables on your operating system are not, e.g.
10 it will be ${env.Path} not ${env.PATH} on Windows
david_williams7888d502007-06-29 06:26:51 +000011 -->
david_williamsc2f548c2008-07-21 04:06:47 +000012 <property
13 environment="env"/>
14 <!--
15 Let users override standard properties, if desired. If
16 directory, file, or some properties do not exist, then standard
17 properties will be used.
18 -->
19 <property
20 file="${env.LOCAL_BUILD_PROPERTIES_DIR}/${ant.project.name}.properties"/>
david_williams42f9b242006-11-27 18:45:14 +000021
david_williams800adca2008-06-30 22:52:33 +000022 <fail
23 unless="projectname"
david_williamsc2f548c2008-07-21 04:06:47 +000024 message="a projectname is required"/>
david_williams800adca2008-06-30 22:52:33 +000025
david_williamsf64f0222006-11-28 21:37:13 +000026 <!-- if not otherwise set, the following are good default values -->
david_williams7888d502007-06-29 06:26:51 +000027 <property
david_williamseceb39b2008-01-02 04:21:44 +000028 name="checkout.builder.clean"
david_williamsc2f548c2008-07-21 04:06:47 +000029 value="true"/>
david_williams7888d502007-06-29 06:26:51 +000030 <property
31 name="mapVersionTag"
david_williamsc2f548c2008-07-21 04:06:47 +000032 value="HEAD"/>
david_williams842e4192007-12-09 07:44:35 +000033 <property
34 name="cvsProtocol"
david_williamsc2f548c2008-07-21 04:06:47 +000035 value="${env.BUILD_CVS_WRITE_PROTOCOL}"/>
david_williams842e4192007-12-09 07:44:35 +000036 <property
37 name="cvsUser"
david_williamsc2f548c2008-07-21 04:06:47 +000038 value="${env.BUILD_CVS_WRITE_USER}"/>
david_williams842e4192007-12-09 07:44:35 +000039 <property
40 name="cvsServer"
david_williamsc2f548c2008-07-21 04:06:47 +000041 value="${env.BUILD_CVS_SERVER}"/>
david_williams842e4192007-12-09 07:44:35 +000042 <property
43 name="cvsRoot"
david_williamsc2f548c2008-07-21 04:06:47 +000044 value="${env.BUILD_CVS_ROOT}"/>
david_williams842e4192007-12-09 07:44:35 +000045
46 <!-- end required defaults-if-not-set -->
47
48
david_williams842e4192007-12-09 07:44:35 +000049 <!-- standard computed properties. Should not have to be changed. -->
david_williams7888d502007-06-29 06:26:51 +000050 <property
51 name="mapCvsRoot"
david_williamsc2f548c2008-07-21 04:06:47 +000052 value=":${cvsProtocol}:${cvsUser}@${cvsServer}:${cvsRoot}"/>
david_williams7888d502007-06-29 06:26:51 +000053 <property
54 name="codir"
david_williamsc2f548c2008-07-21 04:06:47 +000055 value="${env.PROJECT_BUILDERS}/${projectname}"/>
56 <echo
57 message="projectname: ${projectname}"/>
david_williams1e71b282008-03-10 10:12:40 +000058
david_williams800adca2008-06-30 22:52:33 +000059 <!-- main -->
60 <target
david_williams7888d502007-06-29 06:26:51 +000061 name="checkout"
david_williamsf7354602008-01-08 04:28:04 +000062 if="projectname">
david_williams42f9b242006-11-27 18:45:14 +000063 <!-- we always check and init the builder -->
david_williamsc2f548c2008-07-21 04:06:47 +000064 <antcall
65 target="getbuilder"/>
david_williams42f9b242006-11-27 18:45:14 +000066 </target>
david_williamsa7f68be2007-06-20 02:17:13 +000067 <!--
david_williamsc2f548c2008-07-21 04:06:47 +000068 The order of execution of these three worker targets is
69 critical, check.clean, initBuilders, and then getbuilder.
david_williams42f9b242006-11-27 18:45:14 +000070 -->
david_williams7888d502007-06-29 06:26:51 +000071 <target
david_williams39c5f652008-01-02 07:08:39 +000072 name="getbuilder"
david_williams7888d502007-06-29 06:26:51 +000073 depends="check.clean,initBuilders"
74 if="doClean">
david_williamsc2f548c2008-07-21 04:06:47 +000075 <!--
76 This is a special property file, that contains (only) the
david_williams39c5f652008-01-02 07:08:39 +000077 value of builderVersion. Then, that version of the builder
david_williamsc2f548c2008-07-21 04:06:47 +000078 is fetched to control the rest of the build
79 -->
80 <property
81 file="${codir}/${env.RELENG}/maps/build.cfg"/>
david_williams800adca2008-06-30 22:52:33 +000082 <fail
83 unless="builderVersion"
david_williamsc2f548c2008-07-21 04:06:47 +000084 message="Could not get builderVersion. Probably could not checkout build.cfg"/>
david_williams800adca2008-06-30 22:52:33 +000085 <!--
david_williamsc2f548c2008-07-21 04:06:47 +000086 deleting WTP builder project location: <BUILD
87 HOME>/projectBuilders/<project>/webtools.releng/releng.wtpbuilder
david_williams800adca2008-06-30 22:52:33 +000088 -->
89 <delete
david_williams2e0afe02008-01-02 04:11:40 +000090 dir="${codir}/${env.RELENG_BUILDER}"
david_williamsc2f548c2008-07-21 04:06:47 +000091 failonerror="false"/>
david_williams800adca2008-06-30 22:52:33 +000092 <!--
david_williamsc2f548c2008-07-21 04:06:47 +000093 Get a new version of the wtpbuild project from CVS, version
94 comes from build.cfg map file
david_williams800adca2008-06-30 22:52:33 +000095 -->
david_williamsc2f548c2008-07-21 04:06:47 +000096 <echo
97 message="Version tag for ${env.RELENG_BUILDER} is: ${builderVersion}"/>
david_williams7888d502007-06-29 06:26:51 +000098 <cvs
david_williams13d378c2007-08-22 04:04:54 +000099 quiet="${env.CVS_QUIET}"
100 reallyquiet="${env.CVS_REALLY_QUIET}"
david_williams7888d502007-06-29 06:26:51 +0000101 cvsRoot="${mapCvsRoot}"
david_williams2e0afe02008-01-02 04:11:40 +0000102 package="${env.RELENG_BUILDER}"
david_williams7888d502007-06-29 06:26:51 +0000103 dest="${codir}"
david_williamsc2f548c2008-07-21 04:06:47 +0000104 tag="${builderVersion}"/>
david_williams42f9b242006-11-27 18:45:14 +0000105 </target>
david_williams1e71b282008-03-10 10:12:40 +0000106 <!--
david_williamsc2f548c2008-07-21 04:06:47 +0000107 set doClean property checkout.build.clean is set in
108 checkout.properties from the project properties directory
david_williams800adca2008-06-30 22:52:33 +0000109 -->
david_williamsc2f548c2008-07-21 04:06:47 +0000110 <target
111 name="check.clean">
112 <echo
113 message="checkout.builder.clean: ${checkout.builder.clean}"/>
114 <condition
115 property="doClean">
david_williams7888d502007-06-29 06:26:51 +0000116 <equals
david_williamseceb39b2008-01-02 04:21:44 +0000117 arg1="${checkout.builder.clean}"
david_williams7888d502007-06-29 06:26:51 +0000118 arg2="true"
119 trim="true"
david_williamsc2f548c2008-07-21 04:06:47 +0000120 casesensitive="false"/>
david_williams42f9b242006-11-27 18:45:14 +0000121 </condition>
122 </target>
david_williams1e71b282008-03-10 10:12:40 +0000123 <!--
david_williamsc2f548c2008-07-21 04:06:47 +0000124 checkout releng from from CVS. We do this only to get the
125 build.cfg file which names the version of the wtpbuilder to get.
126 CVS src: webtools.map/releng/maps files dest: <BUILD
127 HOME>/projectBuilders/<project>/webtools.maps/releng/maps
david_williams800adca2008-06-30 22:52:33 +0000128 -->
david_williams7888d502007-06-29 06:26:51 +0000129 <target
130 name="initBuilders"
131 depends="check.clean"
132 if="doClean">
david_williamsc2f548c2008-07-21 04:06:47 +0000133 <echo
134 message="Version tag for ${env.RELENG}: ${mapVersionTag}"/>
david_williams7888d502007-06-29 06:26:51 +0000135 <cvs
136 quiet="true"
137 cvsRoot="${mapCvsRoot}"
david_williamsa5570522007-11-16 23:12:47 +0000138 package="${env.RELENG}"
david_williams7888d502007-06-29 06:26:51 +0000139 dest="${codir}"
david_williamsc2f548c2008-07-21 04:06:47 +0000140 tag="${mapVersionTag}"/>
david_williams42f9b242006-11-27 18:45:14 +0000141 </target>
david_williams39c5f652008-01-02 07:08:39 +0000142</project>