Hi
that integration test I added had a bug in it, thanks to Jermey for finding it. so the pre-processor seems to work! Next I copied the config files you provided into the involved filenames, and these are parsed ok. CCValidator says : all ok Attached are the files I used to validate. I would suggest to install the latest 1.5 build, and see if you still have the problem. you can just unzip the ccvalidator to a separate folder, and check if your config passes validation. If not, can you provide me your config files? (off list is also ok) with kind regards Ruben Willems On Mon, Apr 12, 2010 at 11:22 AM, Cedric <[email protected]>wrote: > Chaps, > > I've trimmed the config files that I use for the server. I have also > downloaded the latest build and it does still fail. > > There are three files here and are typical of our usage of CCNET. > > Hope this helps. > > > Cedric > > > > > CCNET.CONFIG > <cruisecontrol xmlns:cb="urn:ccnet.config.builder"> > > <!-- Definition Blocks --> > <cb:include href="Definitions.xml" > xmlns:cb="urn:ccnet.config.builder"/> > > <!-- Project files --> > <cb:include href="project.xml" xmlns:cb="urn:ccnet.config.builder"/> > > </cruisecontrol> > > > DEFINITIONS.XML > <cb:config-template xmlns:cb="urn:ccnet.config.builder"> > <!--# Location of the tools folder on the server--> > <cb:define rootPath="C:" /> > > <!--# Location of the tools folder on the server--> > <cb:define outputRootPath="C:" /> > > <!--# Location of the program files folder on the server--> > <cb:define programFilesPath="$(rootPath)\Program Files" /> > > <!--# Location of the tools folder on the server--> > <cb:define toolsPath="$(programFilesPath)\IntroducerTools" /> > > <!--# Location of the tools folder on the server--> > <cb:define svnBinPath="$(programFilesPath)\VisualSVN Server\bin" /> > > <!--# Location of the State folder on the server--> > <cb:define statePath="$(rootPath)\CC_State" /> > > <!--# Location of the WorkingFolder on the server--> > <cb:define workingPath="$(rootPath)\CC_WorkingFolder" /> > > <!--# Location of the Artifacts folder on the server--> > <cb:define artifactsPath="$(outputRootPath)\CC_Artifacts" /> > > <!--# Location of the Logs folder on the server--> > <cb:define logsPath="$(rootPath)\CC_Logs" /> > > <!--# Location of the Builds folder on the server--> > <cb:define buildsPath="$(outputRootPath)\CC_Builds" /> > > <!--# Location of the CCNet server path on the server --> > <cb:define ccnetServerPath="$(programFilesPath)\CruiseControl.NET > \server" /> > > <!--# Location of the CCNet server path on the server --> > <cb:define ncoverPath="$(programFilesPath)\ncover" /> > > > <!--# BUILD BLOCKS --> > <!--# > The COMMON_SourceControl Block is used for access to the source > control system. > > DO NOT CHANGE THE USER NAME/PASSWORD UNLESS YOU HAVE BEEN TOLD TO > > *VARS* > trunkPath - the path in SVN has has the source code to build > tagPath - the path in SVN has has the tags in it > --> > <cb:define name="COMMON_SourceControl"> > <sourcecontrol type="filtered"> > <sourceControlProvider type="svn"> > <autoGetSource>true</autoGetSource> > <executable>"$(svnBinPath)\svn.exe"</executable> > > <trunkUrl>http://myServer:8080/svn/$(trunkPath)<http://myServer:8080/svn/$%28trunkPath%29> > </trunkUrl> > > <tagBaseUrl>http://myServer:8080/svn/$(tagPath)<http://myServer:8080/svn/$%28tagPath%29> > </tagBaseUrl> > <workingDirectory>$(workingFolder)</workingDirectory> > <cleanCopy>false</cleanCopy> > <cleanUp>true</cleanUp> > <revert>true</revert> > <tagOnSuccess>true</tagOnSuccess> > <username>bob</username> > <password>bob</password> > </sourceControlProvider> > <exclusionFilters> > <pathFilter> > <caseSensitive>false</caseSensitive> > <pattern>/**/AssemblyInfo.vb</pattern> > </pathFilter> > <pathFilter> > <caseSensitive>false</caseSensitive> > <pattern>/**/AssemblyInfo.cs</pattern> > </pathFilter> > </exclusionFilters> > </sourcecontrol> > </cb:define> > > <!--# > The COMMON_MSBuild35 Block is used to build a solution. > > *VARS* > workingFolder - the path on the server to the working folder > solutionFile - the name of the solution > --> > <cb:define name="COMMON_MSBuild35"> > <msbuild> > <executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</ > executable> > <workingDirectory>$(workingFolder)</workingDirectory> > <projectFile>$(solutionFile)</projectFile> > <buildArgs>/noconsolelogger /p:Configuration=Release /v:minimal</ > buildArgs> > <targets>Build</targets> > <timeout>900</timeout> > <logger>$(ccnetServerPath) > \ThoughtWorks.CruiseControl.MsBuild.dll</logger> > </msbuild> > </cb:define> > > <!--# > The COMMON_CleanResults Block is used to remove any old results that > are in the working folder of the solution being built. > > *VARS* > workingFolder - the path on the server to the wolrking folder > --> > <cb:define name="COMMON_CleanResults"> > <exec> > <description>Clean result files</description> > <executable>CleanResults.exe</executable> > <baseDirectory>$(toolsPath)</baseDirectory> > <buildArgs>"$(workingFolder)"</buildArgs> > </exec> > </cb:define> > > <!--# > The COMMON_TweakVersionInfo Block is used to adjust the version > attribute > of the assembly being built so that the version number is correct. > > *VARS* > toolsPath - the path on the server to the tools folder > workingFolder - the path on the server to the working folder > project - the name of the project to tweak > --> > <cb:define name="COMMON_TweakVersionInfo"> > <exec> > <description>Adjust Version Info</description> > <executable>AdjustSolutionInfo.exe</executable> > <baseDirectory>$(toolsPath)</baseDirectory> > <buildArgs>"$(workingFolder)" "$(project)"</buildArgs> > <successExitCodes>0,1</successExitCodes> > </exec> > <exec> > <description>Commit Version Info</description> > <executable>$(svnBinPath)\svn.exe</executable> > <baseDirectory>$(workingFolder)</baseDirectory> > <buildArgs>ci -m="Automated Commit by build process for the > Assembly Version Info files" --non-interactive --username=bob -- > password=bob</buildArgs> > </exec> > </cb:define> > > <!--# > The DEFAULT_Publisher Block is used to publish results of the build > to > the build report. This is then ultimately display to the end user in > the > latest build/build screen on CCNet > > *VARS* > none > --> > <cb:define name="DEFAULT_Publisher"> > <artifactcleanup> > <cleanUpMethod>KeepLastXBuilds</cleanUpMethod> > <cleanUpValue>75</cleanUpValue> > <description /> > </artifactcleanup> > <artifactcleanup> > <cleanUpMethod>KeepLastXSubDirs</cleanUpMethod> > <cleanUpValue>75</cleanUpValue> > <description /> > </artifactcleanup> > <modificationHistory onlyLogWhenChangesFound="true"/> > <xmllogger/> > </cb:define> > > <!--# > The COMMON_Labeller Block is used to stamp a version number into > SVN. The CCNet service > will use the revision number from SVN and an incremental build > number to produce a version > stamp. > > *VARS* > majorVersion - the Major part of a version number > minorVersion - the Minor part of a version number > --> > <cb:define name="COMMON_Labeller"> > <labeller type="assemblyVersionLabeller"> > <major>$(majorVersion)</major> > <minor>$(minorVersion)</minor> > <incrementOnFailure>false</incrementOnFailure> > </labeller> > </cb:define> > > </cb:config-template> > > PROJECT.XML > <cb:config-template xmlns:cb="urn:ccnet.config.builder"> > > <project name="configProject"> > <!--# Project Variables --> > <cb:scope > workingFolder="$(workingPath)\configProject" > artifactFolder="$(artifactsPath)\configProject" > resultsFolder="$(workingFolder)\Results" > trunkPath="configProject/trunk" > tagPath="configProject/tags" > solutionFile="configProject.sln" > solutionName="configProject" > majorVersion="2" > minorVersion="5"> > > <!--# Project Definition --> > <workingDirectory>$(workingFolder)</workingDirectory> > <artifactDirectory>$(artifactFolder)</artifactDirectory> > <category>config</category> > <state type="state" directory="$(statePath)" /> > <webURL>http://myserver/server/local/project/configProject/ > ViewProjectReport.aspx</webURL> > > <cb:COMMON_SourceControl/> > > <prebuild> > <cb:COMMON_CleanResults/> > </prebuild> > > <tasks> > <cb:COMMON_TweakVersionInfo project="configProject" /> > <cb:COMMON_MSBuild35/> > <package> > <name>$(solutionName)</name> > <compression>9</compression> > <baseDirectory>$(workingFolder)\bin\Release</baseDirectory> > <manifest type="defaultManifestGenerator" /> > <flatten>true</flatten> > <files> > <file>*.dll</file> > <file>configProject.exe</file> > <file>*.config</file> > </files> > </package> > </tasks> > > <triggers> > <scheduleTrigger time="23:30" /> > </triggers> > > <cb:COMMON_Labeller/> > > <publishers> > <cb:DEFAULT_Publisher /> > </publishers> > </cb:scope> > </project> > > </cb:config-template> > > > On Apr 11, 7:36 pm, Ruben Willems <[email protected]> wrote: > > Hi > > > > I doubt if the pre-processer is in fault here > > that patch is applied to the trunk only, which has a number of 1.6 > > > > in fact, when I view the modification history of the 1.5 branch athttp:// > ccnetlive.thoughtworks.com/ccnet/server/CCNet%20Live/project/C... > > I do not see any code changes that could cause this : > > ° CCNET-1796: work around a CVS limitation: the -d parameter only accepts > > limited relative paths so the working directory is one level up of the > > checkout dir and override checkout directory > > ° CCNET-1854: detect git merge commits * use "-c" parameter to detect > merge > > commits with "git log" > > ° CCNET-1351:Allow to enable "--force" to be passed to svn.exe to avoid > > errors like "object of the same name already exists" when updating > > ° Fixed a bug where tasks derived from TaskContainerBase did not > correctly > > update the statuses of their child tasks. Expanded the package list to > > include the packages from all builds. > > ° CCNET-1862 : Breakers list is no longer shown in CCTray > > > > could you provide a small test config that shows the problem? > > > > with kind regards > > Ruben Willems > > > > On Fri, Apr 9, 2010 at 10:34 AM, Cedric <[email protected] > >wrote: > > > > > > > > > Chaps, > > > > > Is there a know issue with the latest build regards to config files > > > (we work in a multiple file configuration)? > > > > > I applied the 1.5.7120.1 build (from 1.5.6984.6) to my server this > > > morning and tryed to start the service and got an error processing the > > > config file. I also get the same error when trying to load the config > > > file via CCValidator. I've only upgraded from version 1.5.6984.6. > > > > > I can't attach the config files in question as i'd have to mangle > > > these too much... > > > > > Cedric > > > > > -- > > > To unsubscribe, reply using "remove me" as the subject.- Hide quoted > text - > > > > - Show quoted text - >
<cb:config-template xmlns:cb="urn:ccnet.config.builder">
<project name="configProject">
<!--# Project Variables -->
<cb:scope
workingFolder="$(workingPath)\configProject"
artifactFolder="$(artifactsPath)\configProject"
resultsFolder="$(workingFolder)\Results"
trunkPath="configProject/trunk"
tagPath="configProject/tags"
solutionFile="configProject.sln"
solutionName="configProject"
majorVersion="2"
minorVersion="5">
<!--# Project Definition -->
<workingDirectory>$(workingFolder)</workingDirectory>
<artifactDirectory>$(artifactFolder)</artifactDirectory>
<category>config</category>
<state type="state" directory="$(statePath)" />
<webURL>http://myserver/server/local/project/configProject/ViewProjectReport.aspx</webURL>
<cb:COMMON_SourceControl/>
<prebuild>
<cb:COMMON_CleanResults/>
</prebuild>
<tasks>
<cb:COMMON_TweakVersionInfo project="configProject" />
<cb:COMMON_MSBuild35/>
<package>
<name>$(solutionName)</name>
<compression>9</compression>
<baseDirectory>$(workingFolder)\bin\Release</baseDirectory>
<manifest type="defaultManifestGenerator" />
<flatten>true</flatten>
<files>
<file>*.dll</file>
<file>configProject.exe</file>
<file>*.config</file>
</files>
</package>
</tasks>
<triggers>
<scheduleTrigger time="23:30" />
</triggers>
<cb:COMMON_Labeller/>
<publishers>
<cb:DEFAULT_Publisher />
</publishers>
</cb:scope>
</project>
</cb:config-template>
<cb:config-template xmlns:cb="urn:ccnet.config.builder">
<!--# Location of the tools folder on the server-->
<cb:define rootPath="C:" />
<!--# Location of the tools folder on the server-->
<cb:define outputRootPath="C:" />
<!--# Location of the program files folder on the server-->
<cb:define programFilesPath="$(rootPath)\Program Files" />
<!--# Location of the tools folder on the server-->
<cb:define toolsPath="$(programFilesPath)\IntroducerTools" />
<!--# Location of the tools folder on the server-->
<cb:define svnBinPath="$(programFilesPath)\VisualSVN Server\bin" />
<!--# Location of the State folder on the server-->
<cb:define statePath="$(rootPath)\CC_State" />
<!--# Location of the WorkingFolder on the server-->
<cb:define workingPath="$(rootPath)\CC_WorkingFolder" />
<!--# Location of the Artifacts folder on the server-->
<cb:define artifactsPath="$(outputRootPath)\CC_Artifacts" />
<!--# Location of the Logs folder on the server-->
<cb:define logsPath="$(rootPath)\CC_Logs" />
<!--# Location of the Builds folder on the server-->
<cb:define buildsPath="$(outputRootPath)\CC_Builds" />
<!--# Location of the CCNet server path on the server -->
<cb:define ccnetServerPath="$(programFilesPath)\CruiseControl.NET
\server" />
<!--# Location of the CCNet server path on the server -->
<cb:define ncoverPath="$(programFilesPath)\ncover" />
<!--# BUILD BLOCKS -->
<!--#
The COMMON_SourceControl Block is used for access to the source
control system.
DO NOT CHANGE THE USER NAME/PASSWORD UNLESS YOU HAVE BEEN TOLD TO
*VARS*
trunkPath - the path in SVN has has the source code to build
tagPath - the path in SVN has has the tags in it
-->
<cb:define name="COMMON_SourceControl">
<sourcecontrol type="filtered">
<sourceControlProvider type="svn">
<autoGetSource>true</autoGetSource>
<executable>"$(svnBinPath)\svn.exe"</executable>
<trunkUrl>http://myServer:8080/svn/$(trunkPath)</trunkUrl>
<tagBaseUrl>http://myServer:8080/svn/$(tagPath)</tagBaseUrl>
<workingDirectory>$(workingFolder)</workingDirectory>
<cleanCopy>false</cleanCopy>
<cleanUp>true</cleanUp>
<revert>true</revert>
<tagOnSuccess>true</tagOnSuccess>
<username>bob</username>
<password>bob</password>
</sourceControlProvider>
<exclusionFilters>
<pathFilter>
<caseSensitive>false</caseSensitive>
<pattern>/**/AssemblyInfo.vb</pattern>
</pathFilter>
<pathFilter>
<caseSensitive>false</caseSensitive>
<pattern>/**/AssemblyInfo.cs</pattern>
</pathFilter>
</exclusionFilters>
</sourcecontrol>
</cb:define>
<!--#
The COMMON_MSBuild35 Block is used to build a solution.
*VARS*
workingFolder - the path on the server to the working folder
solutionFile - the name of the solution
-->
<cb:define name="COMMON_MSBuild35">
<msbuild>
<executable>C:\WINDOWS\Microsoft.NET\Framework\v3.5\MSBuild.exe</executable>
<workingDirectory>$(workingFolder)</workingDirectory>
<projectFile>$(solutionFile)</projectFile>
<buildArgs>/noconsolelogger /p:Configuration=Release /v:minimal</buildArgs>
<targets>Build</targets>
<timeout>900</timeout>
<logger>$(ccnetServerPath)\ThoughtWorks.CruiseControl.MsBuild.dll</logger>
</msbuild>
</cb:define>
<!--#
The COMMON_CleanResults Block is used to remove any old results that
are in the working folder of the solution being built.
*VARS*
workingFolder - the path on the server to the wolrking folder
-->
<cb:define name="COMMON_CleanResults">
<exec>
<description>Clean result files</description>
<executable>CleanResults.exe</executable>
<baseDirectory>$(toolsPath)</baseDirectory>
<buildArgs>"$(workingFolder)"</buildArgs>
</exec>
</cb:define>
<!--#
The COMMON_TweakVersionInfo Block is used to adjust the version
attribute
of the assembly being built so that the version number is correct.
*VARS*
toolsPath - the path on the server to the tools folder
workingFolder - the path on the server to the working folder
project - the name of the project to tweak
-->
<cb:define name="COMMON_TweakVersionInfo">
<exec>
<description>Adjust Version Info</description>
<executable>AdjustSolutionInfo.exe</executable>
<baseDirectory>$(toolsPath)</baseDirectory>
<buildArgs>"$(workingFolder)" "$(project)"</buildArgs>
<successExitCodes>0,1</successExitCodes>
</exec>
<exec>
<description>Commit Version Info</description>
<executable>$(svnBinPath)\svn.exe</executable>
<baseDirectory>$(workingFolder)</baseDirectory>
<buildArgs>ci -m="Automated Commit by build process for the Assembly Version Info files" --non-interactive --username=bob --password=bob</buildArgs>
</exec>
</cb:define>
<!--#
The DEFAULT_Publisher Block is used to publish results of the build to
the build report. This is then ultimately display to the end user in the
latest build/build screen on CCNet
*VARS*
none
-->
<cb:define name="DEFAULT_Publisher">
<artifactcleanup>
<cleanUpMethod>KeepLastXBuilds</cleanUpMethod>
<cleanUpValue>75</cleanUpValue>
<description />
</artifactcleanup>
<artifactcleanup>
<cleanUpMethod>KeepLastXSubDirs</cleanUpMethod>
<cleanUpValue>75</cleanUpValue>
<description />
</artifactcleanup>
<modificationHistory onlyLogWhenChangesFound="true"/>
<xmllogger/>
</cb:define>
<!--#
The COMMON_Labeller Block is used to stamp a version number into SVN. The CCNet service
will use the revision number from SVN and an incremental build number to produce a version
stamp.
*VARS*
majorVersion - the Major part of a version number
minorVersion - the Minor part of a version number
-->
<cb:define name="COMMON_Labeller">
<labeller type="assemblyVersionLabeller">
<major>$(majorVersion)</major>
<minor>$(minorVersion)</minor>
<incrementOnFailure>false</incrementOnFailure>
</labeller>
</cb:define>
</cb:config-template>
ccnet.config
Description: XML document
