<cruisecontrol xmlns:cb="urn:ccnet.config.builder">
	<!-- This is your CruiseControl.NET Server Configuration file. Add your projects below! -->
	<!-- ####################################################################### -->
	<project name="MapGuide">
		<workingDirectory>C:\CI\MapGuide\build</workingDirectory>
		<artifactDirectory>C:\CI\MapGuide\artifacts</artifactDirectory>

		<category>Category Uno</category>
		<webURL>http://localhost/ccnet-dashboard/?_action_ViewProjectReport=true&amp;server=local&amp;project=name="MapGuide"></webURL>
		<modificationDelaySeconds>60</modificationDelaySeconds>
		<triggers>
                <!-- #### Run Forced builds every hour -->
                <!--

			<intervalTrigger name="ForcedBuildTrigger" seconds="3600" buildCondition="ForceBuild" initialSeconds="30"/>
                -->

                <!-- #### Run builds if source code has changed every hour with buildCondition="IfModificationExists" -->
			<intervalTrigger name="ChangeDectectedBuildTrigger" buildCondition="IfModificationExists" seconds="3600" initialSeconds="30"/>
       
		</triggers>
		<!-- ####################################################################### -->
		<!-- Set the sourcecontrol type to subversion and point to the subversion exe-->
                <!-- TODO:  Hack up a custom build setup to pull the changeset number -->
		<sourcecontrol type="svn">
			<executable>C:\Program Files\CollabNet Subversion\svn.exe</executable>
			<trunkUrl>svn://svn/mapguide-mirror/branches/2.1</trunkUrl>
			<autoGetSource>true</autoGetSource>
			<cleanCopy>false</cleanCopy>
      <timeout units="seconds">3600</timeout>
			<username></username>
			<password></password>
		</sourcecontrol>
		<!-- ####################################################################### -->
		<tasks>
			<!-- ####################################################################### -->
			<!-- Copy Fdo SDK from C:\fdoinstall -->
			<exec>
				<executable>C:\windows\system32\xcopy.exe</executable>
				<baseDirectory>C:\</baseDirectory>
				<buildArgs>/Y /I c:\fdoinstall\bin\* c:\ci\MapGuide\build\MgDev\Oem\FDO\Bin\Release</buildArgs>
				<buildTimeoutSeconds>360</buildTimeoutSeconds>
			</exec>
			<exec>
				<executable>C:\windows\system32\xcopy.exe</executable>
				<baseDirectory>C:\</baseDirectory>
				<buildArgs>/Y /I c:\fdoinstall\bin\com\* c:\ci\MapGuide\build\MgDev\Oem\FDO\Bin\Release\com</buildArgs>
				<buildTimeoutSeconds>360</buildTimeoutSeconds>
			</exec>
			<exec>
				<executable>C:\windows\system32\xcopy.exe</executable>
				<baseDirectory>C:\</baseDirectory>
				<buildArgs>/Y /I /E c:\fdoinstall\Inc c:\ci\MapGuide\build\MgDev\Oem\FDO\Inc</buildArgs>
				<buildTimeoutSeconds>360</buildTimeoutSeconds>
			</exec>
			<exec>
				<executable>C:\windows\system32\xcopy.exe</executable>
				<baseDirectory>C:\</baseDirectory>
				<buildArgs>/Y /I c:\fdoinstall\lib\* c:\ci\MapGuide\build\MgDev\Oem\FDO\Lib</buildArgs>
				<buildTimeoutSeconds>360</buildTimeoutSeconds>
			</exec>
			<!-- Configure MSBuild to compile the updated files -->
                        <!-- Note: All timeouts are in seconds -->
			<!-- THIS SHOULD BE SPLIT UP INTO DEPENDENT PROJECTS TO MINIMIZE LOAD AND PRUNE THE LOGS -->
			<!-- ####################################################################### -->

   			<!-- ####################################################################### -->
			<!-- Execute Oem sln file -->
			<msbuild>
				<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
				<workingDirectory>C:\CI\MapGuide\build\MgDev\Oem</workingDirectory>
				<projectFile>Oem.sln</projectFile>
				<buildArgs>/noconsolelogger /p:Configuration=Release /v:normal</buildArgs>
				<timeout>3600</timeout>
				<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
			</msbuild>

   			<!-- ####################################################################### -->
			<!-- Execute CsMap sln file -->
			<msbuild>
				<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
				<workingDirectory>C:\CI\MapGuide\build\MgDev\Oem\CsMap</workingDirectory>
				<projectFile>OpenSource.sln</projectFile>
				<buildArgs>/noconsolelogger /p:Configuration=Release /v:normal</buildArgs>
				<timeout>1800</timeout>
				<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
			</msbuild>

   			<!-- ####################################################################### -->
			<!-- Execute Server sln file -->
			<msbuild>
				<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
				<workingDirectory>C:\CI\MapGuide\build\MgDev\Server</workingDirectory>
				<projectFile>Server.sln</projectFile>
				<buildArgs>/noconsolelogger /p:Configuration=Release /v:normal</buildArgs>
				<timeout>3600</timeout>
				<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
			</msbuild>

   			<!-- ####################################################################### -->
			<!-- Execute WebTier sln file -->
			<msbuild>
				<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
				<workingDirectory>C:\CI\MapGuide\build\MgDev\Web\src</workingDirectory>
				<projectFile>WebTier.sln</projectFile>
				<buildArgs>/noconsolelogger /p:Configuration=Release /v:normal</buildArgs>
				<timeout>3600</timeout>
				<logger>C:\Program Files\CruiseControl.NET\server\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
			</msbuild>

   			<!-- ####################################################################### -->
			<!-- Execute build script to build the docs -->
			<exec>
				<executable>C:\CI\MapGuide\build\MgDev\build.bat</executable>
				<buildArgs>-a=build</buildArgs>
				<baseDirectory>C:\CI\MapGuide\build\MgDev</baseDirectory>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
   			<!-- ####################################################################### -->
			<!-- Execute build script to copy build artifacts to MgDev/Release -->
			<exec>
				<executable>C:\CI\MapGuide\build\MgDev\build.bat</executable>
				<buildArgs>-a=install</buildArgs>
				<baseDirectory>C:\CI\MapGuide\build\MgDev</baseDirectory>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
			<!-- ####################################################################### -->
			<!-- Copy Apache, Php into the correct location in the installer source -->
			<exec>
				<executable>C:\CI\MapGuide\build\Installer\build.bat</executable>
				<baseDirectory>C:\CI\MapGuide\build\Installer</baseDirectory>
				<buildArgs>-a=prepare</buildArgs>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
			<!-- ####################################################################### -->
			<!-- Regenerate the WiX file includes from the source tree -->
			<exec>
				<executable>C:\CI\MapGuide\build\Installer\build.bat</executable>
				<baseDirectory>C:\CI\MapGuide\build\Installer</baseDirectory>
				<buildArgs>-a=regen</buildArgs>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
			<!-- ####################################################################### -->
			<!-- Build the installer using components from MgDev/Release -->
			<exec>
				<executable>C:\CI\MapGuide\build\Installer\build.bat</executable>
				<baseDirectory>C:\CI\MapGuide\build\Installer</baseDirectory>
				<buildArgs>-a=build</buildArgs>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
		</tasks>
		<!-- Publishers will be done after the build has completed-->
		<publishers>
		   <xmllogger>
		    <logDir>C:\CI\MapGuide\logs</logDir>
		   </xmllogger>
  		</publishers>
	</project>
	<!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -->
	<project name="MapGuide_Tests">
		<workingDirectory>C:\CI\MapGuide\build</workingDirectory>
		<artifactDirectory>C:\CI\MapGuide\artifacts</artifactDirectory>

		<category>Category Uno</category>
		<webURL>http://localhost/ccnet-dashboard/?_action_ViewProjectReport=true&amp;server=local&amp;project=name="MapGuide_Tests"></webURL>
		<modificationDelaySeconds>60</modificationDelaySeconds>
		<triggers>
                <!-- #### Run Forced builds every hour -->
                <!--

			<intervalTrigger name="ForcedBuildTrigger" seconds="3600" buildCondition="ForceBuild" initialSeconds="30"/>
                -->

                <!-- #### Run builds if source code has changed every hour with buildCondition="IfModificationExists" -->
			<intervalTrigger name="ChangeDectectedBuildTrigger" buildCondition="IfModificationExists" seconds="3600" initialSeconds="30"/>
       
		</triggers>
		<!-- ####################################################################### -->
		<tasks>
			<!-- ####################################################################### -->
			<!-- Run Tests -->
			<exec>
				<executable>mgserver.exe</executable>
				<baseDirectory>C:\CI\MapGuide\build\MgDev\Server\bin\release\</baseDirectory>
				<buildArgs>test</buildArgs>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
   				<environment>
				        <variable>
				            <name>MENTOR_DICTIONARY_PATH</name>
				            <value>C:\CI\MapGuide\build\MgDev\Oem\CsMap\Dictionaries</value>
        				</variable>
				</environment>
			</exec>		
  			<!-- ####################################################################### -->
		</tasks>
		<!-- how to read the test output? -->
		<publishers>
		   <xmllogger>
		    <logDir>C:\CI\MapGuide\logs</logDir>
		   </xmllogger>
  		</publishers>
	</project>
	<!-- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ -->

	<project name="MapGuide_Clean">
		<workingDirectory>C:\CI\MapGuide\build</workingDirectory>
		<artifactDirectory>C:\CI\MapGuide\artifacts</artifactDirectory>

		<category>Category Uno</category>
		<webURL>http://localhost/ccnet-dashboard/?_action_ViewProjectReport=true&amp;server=local&amp;project=name="MapGuide_Clean"></webURL>
		<modificationDelaySeconds>60</modificationDelaySeconds>
		<triggers>
                <!-- #### clean once a week -->
                <intervalTrigger name="continuous" seconds="30" buildCondition="ForceBuild" initialSeconds="30"/>
		</triggers>
		<!-- ####################################################################### -->
		<tasks>
   			<!-- ####################################################################### -->
			<!-- Execute build script to clean build tree -->
			<exec>
				<executable>C:\CI\MapGuide\build\MgDev\build.bat</executable>
				<buildArgs>-a=clean</buildArgs>
				<baseDirectory>C:\CI\MapGuide\build\MgDev</baseDirectory>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
   			<!-- ####################################################################### -->
			<!-- Clean installer build tree -->
			<exec>
				<executable>C:\CI\MapGuide\build\Installer\build.bat</executable>
				<baseDirectory>C:\CI\MapGuide\build\Installer</baseDirectory>
				<buildArgs>-a=clean</buildArgs>
				<buildTimeoutSeconds>3600</buildTimeoutSeconds>
			</exec>
		</tasks>
		<!-- how to read the test output? -->
		<publishers>
		   <xmllogger>
		    <logDir>C:\CI\MapGuide\logs</logDir>
		   </xmllogger>
  		</publishers>
	</project>
</cruisecontrol>