continuous-integrationcruisecontrol.netcmdprebuild

CCNet - prebuild task cmd.exe?


Im using a command line prebuild task in the ccnet.config file to delete the contents of thw working directory before i do a clean build.

      <prebuild>
          <exec>
            <executable>%SYSTEM32%\cmd.exe</executable>
            <buildArgs>/c "if exist "C:\CruiseControl\Working" rd /s /q "C:\CruiseControl\Working""</buildArgs>
          </exec>
      </prebuild>    

The problem is I get an error:

System.IO.IOException: Unable to execute file [C:\CruiseControl\Working\cmd.exe].

it seems to be looking for cmd.exe in the working folder. So I tried adding the path to cmd.exe instead as follows:

     <prebuild>
          <exec>
            <executable>%SYSTEM32%\cmd.exe</executable>
            <buildArgs>/c "if exist "C:\CruiseControl\Working" rd /s /q "C:\CruiseControl\Working""</buildArgs>
          </exec>
      </prebuild>

Any help would be great?


Solution

  • I have found the answer to my original question:

    I simply had to put the cleanCopy true inside the sourcecontrol block.

          <sourcecontrol type="svn">                                            
            <trunkUrl>TRUNK-URL</trunkUrl>                
            <executable>SVN.EXE</executable>           
            <username>TEST</username>                                         
            <password>TEST</password> 
            <cleanCopy>true</cleanCopy>         
          </sourcecontrol>