Re: No Builder Added Error

Steve Murphy <[email protected]> Mon, 19 Sep 2011 14:16:41 +0100
Newsgroups gmane.comp.java.cruise-control.user
Message-ID <[email protected]>
By removing things in a more systematic way I've narrowed it down.  When I 
remove the first project in the file (PROJ_32_Linux) cruise starts up ok. 
If I undo that change and remove the 2nd project (PROJ_FULL_32_Linux) the 
'no builders added' error still occurs.  So there is something wrong in the 
PROJ_32_Linux project.  Apart from some of the paths and names being project 
depended the only difference that I can tell are the 'requireModification' 
setting and the 'composite time' setting.

Maybe a fresh pair of eyes can find the fault.

Regards,
Steve

Here is my config file, I have removed some of log merge files & some of the 
emails and change some names, but other than that it's the same.

<cruisecontrol>
  <!-- Load environment variables -->
    <property environment="env" toupper="true" />
    <property name="CC"         value="${env.CCDIR}" />
    <property name="CC.proj"     value="${CC}/projects/CC" />
    <property name="ant.home"    value="${env.ANT_HOME}"  />
    <property name="xsldir"     value="${CC}/webapps/cruisecontrol/xsl" />
   <property name="cc.css" 
value="${CC}/webapps/cruisecontrol/css/cruisecontrol.css" />
    <property name="PROJ.res"     value="${CC}/testing/work.xtc/ESCONF" />
    <property name="PROJ.blddir"     value="${CC}/projects/cc/PROJbld" />
    <property name="svn.PROJ"     value="${CC}/projects/CC/PROJ" />
    <property name="testing.utils" 
value="${CC}/projects/testing/work.xtc/ESSHARED" />
    <property name="svn.id"     value="escc" />
    <property name="svn.password"     value="CC1adm1n" />
    <property name="svn.root"     value="http://my-svn/PROJ/trunk/tip" />
    <property name="svn.module"     value="PROJ" />
    <property name="testing.svn"     value="http://my-svn/testware/tip" />
    <property name="ant.buildFile"     value="antPROJ_UNIX.xml" />

    <plugin name="project">
    <bootstrappers>
        <svnbootstrapper
            localWorkingCopy="${svn.PROJ}"
            username="${svn.id}"
            password="${svn.password}"
         />
    </bootstrappers>

    <modificationset quietPeriod="10" >
          <svn
              repositoryLocation="${svn.root}"
              localWorkingCopy="${svn.PROJ}"
              username="${svn.id}"
              password="${svn.password}"
              useLocalRevision="false"
          />
    </modificationset>


     <log>
       <merge dir="${PROJ.logs}/BUILD-PROJ.xml"/>
       <merge dir="${PROJ.logs}/INIT-UTILS.xml"/>
       <merge dir="${PROJ.logs}/CONF1.xml"/>
       <merge dir="${PROJ.logs}/CONF1-64.xml"/>
       <merge dir="${PROJ.logs}/CONF2.xml"/>
       <merge dir="${PROJ.logs}/CONF2-64.xml"/>
     </log>


    <publishers>
        <htmlemail mailHost="wgateout.mycompany.com" 
returnAddress="${return.address}" CSS="${cc.css}" logDir="${PROJ.logs}" 
XSLDir="${xsldir}" spamWhileBroken="true" reportSuccess="true" >
            <map alias="stevenm" address="[email protected]" />
            <map alias="dev1" address="[email protected]" />
            <map alias="dev2" address="[email protected]" />

            <always address="[email protected]" />

            <ignore user="local" />
            <ignore user="User" />

            <ignore user="SVN" />
<!-- ignore while system is developed -->
            <ignore user="dev1" />
            <ignore user="dev2" />

        </htmlemail>

    </publishers>
    </plugin>

<!-- START OF CONFIDENCE TEST RUN PROJECT -->
  <project buildAfterFailed="false" name="PROJ_32_Linux" 
requireModification="true">

    <labelincrementer separator="_" defaultLabel="BUILD_1" 
preBuildIncrementer="true" />

    <property name="PROJ.logs"             value="${CC}/logs/PROJ_32_Linux" 
/>
    <property name="return.address" 
value="[email protected]" />
    <property name="CC.lable"             value="${projectlabel}" />
    <property name="buildPub.file" 
value="logs/PROJ_32_Linux/buildstatus.txt" />
    <property name="build.Name"         value="CONF32_Linux" />
    <property name="build.bit"             value="32" />

    <listeners>
      <currentbuildstatuslistener file="logs/PROJ_32_Linux/buildstatus.txt" 
/>
    </listeners>

    <!-- Run the PROJ-CC.bat file -->
    <schedule>
       <composite>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="echoenv">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
<!-- Disable until system works
<ant buildfile="${ant.buildFile}" uselogger="false" anthome="${ant.home}" 
antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" target="STARTMAIL">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
-->
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="INITRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="CLEANRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="BUILD">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="COPYTEST">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="INITUTILS">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
<!-- 
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="DUMMYTEST">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
-->-
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="RUNTEST">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>

          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="COPYRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
<!--
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="DUMMYRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="DUMMYSLEEP">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="MOVEFILES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
-->
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="CHECKRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
       </composite>
    </schedule>
  </project>

<!-- START OF 32BIT NIGHTLY FULL TEST RUN PROJECT -->
  <project buildAfterFailed="false" name="PROJ_FULL_32_Linux" 
requireModification="false">

    <labelincrementer separator="_" defaultLabel="BUILD_1" 
preBuildIncrementer="true" />

<property name="PROJ.logs"     value="${CC}/logs/PROJ_FULL_32_Linux" />
<property name="return.address" 
value="[email protected]" />
<property name="CC.lable"             value="${projectlabel}" />
<property name="buildPub.file" 
value="logs/PROJ_FULL_32_Linux/buildstatus.txt" />
<property name="build.Name"         value="ESFULL32_Linux" />
<property name="build.bit"             value="32" />

    <listeners>
      <currentbuildstatuslistener 
file="logs/PROJ_FULL_32_Linux/buildstatus.txt" />
    </listeners>

<!-- Run the PROJ-CC.bat file -->
    <schedule>
       <composite time="2300">
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="echoenv">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
<!--
<ant buildfile="${ant.buildFile}" uselogger="false" anthome="${ant.home}" 
antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" target="STARTMAIL">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
-->
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="INITRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="CLEANRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="BUILD">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="COPYTEST">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="INITUTILS">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
<!--
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="DUMMYTEST">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
-->
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="RUNTEST">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="COPYRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
<!--
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="DUMMYRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="DUMMYSLEEP">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="MOVEFILES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
-->
          <ant buildfile="${ant.buildFile}" uselogger="false" 
anthome="${ant.home}" antworkingdir="${CC.proj}" saveLogDir="${PROJ.logs}" 
target="CHECKRES">
                      <property name="BUILD_NAME" value="${build.Name}" />
                      <property name="BIT" value="${build.bit}" />
                      <property name="CC_LOGS" value="${PROJ.logs}" />
          </ant>
       </composite>
    </schedule>
  </project>
</cruisecontrol>

-----Original Message----- 
From: Steve Murphy
Sent: Monday, September 19, 2011 11:38 AM
To: [email protected]
Subject: [Cruisecontrol-user] No Builder Added Error

Hello,

I’ve managed to break my CruiseControl configuration script.  When I start
cruise I get the following error message.  I’ve tried reverting back to a
backup and removing whole sections of the file, but I cannot pinpoint the
offending part of the script.

Does one of the numbers in the CruiseControlException error refer the the
line in the config file that is bad?

Thanks,
Steve

2011-09-19 09:07:06,307 [main     ] INFO  Main             - CruiseControl
Version 2.7.1 Compiled on September 4 2007 1821
2011-09-19 09:07:06,349 [main     ] INFO  XMLConfigManager - reading
settings from config file [/home/user1/cruise/config.xml]
2011-09-19 09:07:06,734 [main     ] ERROR Main             - error setting
config file on controller
net.sourceforge.cruisecontrol.CruiseControlException: no builders added
    at
net.sourceforge.cruisecontrol.util.ValidationHelper.fail(ValidationHelper.java:90)
    at
net.sourceforge.cruisecontrol.util.ValidationHelper.assertFalse(ValidationHelper.java:99)
    at
net.sourceforge.cruisecontrol.builders.CompositeBuilder.validate(CompositeBuilder.java:133)
    at net.sourceforge.cruisecontrol.Schedule.validate(Schedule.java:462)
    at
net.sourceforge.cruisecontrol.ProjectConfig.validate(ProjectConfig.java:112)
    at
net.sourceforge.cruisecontrol.CruiseControlConfig.handleProject(CruiseControlConfig.java:309)
    at
net.sourceforge.cruisecontrol.CruiseControlConfig.parse(CruiseControlConfig.java:124)
    at
net.sourceforge.cruisecontrol.CruiseControlConfig.<init>(CruiseControlConfig.java:104)
    at
net.sourceforge.cruisecontrol.config.XMLConfigManager.loadConfig(XMLConfigManager.java:88)
    at
net.sourceforge.cruisecontrol.config.XMLConfigManager.<init>(XMLConfigManager.java:80)
    at
net.sourceforge.cruisecontrol.CruiseControlController.setConfigFile(CruiseControlController.java:94)
    at net.sourceforge.cruisecontrol.Main.createController(Main.java:139)
    at net.sourceforge.cruisecontrol.Main.start(Main.java:114)
    at net.sourceforge.cruisecontrol.launch.Launcher.run(Launcher.java:244)
    at net.sourceforge.cruisecontrol.launch.Launcher.main(Launcher.java:108)
2011-09-19 09:07:06,736 [main     ] FATAL Main             - no builders
added


------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1
_______________________________________________
Cruisecontrol-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cruisecontrol-user 


------------------------------------------------------------------------------
BlackBerry&reg; DevCon Americas, Oct. 18-20, San Francisco, CA
Learn about the latest advances in developing for the 
BlackBerry&reg; mobile platform with sessions, labs & more.
See new tools and technologies. Register for BlackBerry&reg; DevCon today!
http://p.sf.net/sfu/rim-devcon-copy1 
_______________________________________________
Cruisecontrol-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cruisecontrol-user