Hi Ruben, I think this is a hangover from getting the configuration working in the early days.
On a test system I've changed the xmllogger to <xmllogger /> and deleted the artifacts folder (so that I know what goes where) and although the build runs successfully and creates the artifacts & buildlogs folders (populated with the appropriate files) when I go to the web dashboard and click on the Project Report I get an exception: ======================================================= ThoughtWorks.CruiseControl.Core.CruiseControlException: Unexpected exception caught on server ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\svnworkarea\WebServices\artifacts \buildlogs'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.Directory.InternalGetFileDirectoryNames (String path, String userPathOriginal, String searchPattern, Boolean includeFiles, Boolean includeDirs, SearchOption searchOption) at System.IO.DirectoryInfo.GetFiles(String searchPattern, SearchOption searchOption) at System.IO.DirectoryInfo.GetFiles(String searchPattern) at ThoughtWorks.CruiseControl.Core.LogFileUtil.GetLogFileNames(String path) at ThoughtWorks.CruiseControl.Core.Project.GetBuildNames() at ThoughtWorks.CruiseControl.Core.Project.GetMostRecentBuildNames(Int32 buildCount) at ThoughtWorks.CruiseControl.Core.CruiseServer.GetMostRecentBuildNames (String projectName, Int32 buildCount) at ThoughtWorks.CruiseControl.Core.CruiseManager.GetMostRecentBuildNames (String projectName, Int32 buildCount) --- End of inner exception stack trace --- Server stack trace: at ThoughtWorks.CruiseControl.Core.CruiseManager.GetMostRecentBuildNames (String projectName, Int32 buildCount) at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage (IntPtr md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.PrivateProcessMessage (RuntimeMethodHandle md, Object[] args, Object server, Int32 methodPtr, Boolean fExecuteInContext, Object[]& outArgs) at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage (IMessage msg, Int32 methodPtr, Boolean fExecuteInContext) Exception rethrown at [0]: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type) at ThoughtWorks.CruiseControl.Remote.ICruiseManager.GetMostRecentBuildNames (String projectName, Int32 buildCount) at ThoughtWorks.CruiseControl.WebDashboard.ServerConnection.ServerAggregatingCruiseManagerWrapper.GetMostRecentBuildSpecifiers (IProjectSpecifier projectSpecifier, Int32 buildCount) at ThoughtWorks.CruiseControl.WebDashboard.Plugins.ProjectReport.ProjectReportProjectPlugin.Execute (ICruiseRequest cruiseRequest) at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ServerCheckingProxyAction.Execute (ICruiseRequest cruiseRequest) at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ProjectCheckingProxyAction.Execute (ICruiseRequest cruiseRequest) at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.CruiseActionProxyAction.Execute (IRequest request) at ThoughtWorks.CruiseControl.WebDashboard.MVC.Cruise.ExceptionCatchingActionProxy.Execute (IRequest request) ======================================================= the path 'C:\svnworkarea\WebServices\artifacts\buildlogs' does exist, in fact CCNet created it during the build, so wht is it apparently having problems with it now..? Cheers On Jul 20, 3:14 pm, Ruben Willems <[email protected]> wrote: > Hi > > I would use the plain xmllogger <xmllogger> > and use the artifact folder for specifying where the artifacts go > > this works perfectly > > with kind regards > Ruben Willems > > > > On Mon, Jul 20, 2009 at 4:06 PM, Dave Carson <[email protected]> wrote: > > > Hi Ruben, > > > I think my problem is that I have configured the <xmllogger> and > > <artifactDirectory> to use the same folder, i.e. the artifact folder. > > > Should/Could I configure the xmllogger to use a different folder and > > if so should this be a subfolder within artifacts? > > > Cheers > > > Dave > > > On Jul 20, 2:47 pm, Ruben Willems <[email protected]> wrote: > > > Hi > > > > I'll double check this, because the delete builds options should only > > delete > > > build files, > > > and these are in the buildlog folder, as the code below shows. > > > > So how did your statistics file get there in the first place? > > > > with kind regards > > > Ruben Willems > > > > On Mon, Jul 20, 2009 at 2:13 PM, Dave Carson <[email protected]> > > wrote: > > > > > I've done a little poking around using Reflector and I think I have > > > > found the problem. > > > > > The DeleteBuildsOlderThanXDays method is using the Creation Date/Time > > > > of a file to determine whether or not to delete it. The statistics > > > > file was created back in January so it was deleted - even though it > > > > was modfied during the build process. > > > > > private void DeleteBuildsOlderThanXDays(string buildLogFolder, int > > > > daysToKeep) > > > > { > > > > this.SetFilesToNormalAttribute(buildLogFolder); > > > > foreach (string str in Directory.GetFiles(buildLogFolder)) > > > > { > > > > if (File.GetCreationTime(str).Date < DateTime.Now.Date.AddDays > > > > ((double) -daysToKeep)) > > > > { > > > > File.Delete(str); > > > > } > > > > } > > > > } > > > > > I'll look at raising this as a bug and see how we go. > > > > > Cheers > > > > > On Jul 20, 11:44 am, DilbertDave <[email protected]> wrote: > > > > > Our Network Admin was recently moaning about a lack of space on the > > > > > servers so I took a look at the artifactcleanup publisher to allow > > > > > CCNet to keep its house in order. > > > > > > I started with the KeepLastXBuilds option and it did exactly what it > > > > > said on the tin. The problem arose when I decided to use > > > > > DeleteBuildsOlderThanXDays instead - because I wanted to retain about > > > > > 2 weeks of history for the dashboard and could not be sure how many > > > > > builds this would be. > > > > > > When the integration ran it duly removed all the log files older than > > > > > the 20 days that I specified but also removed the report.xml and > > > > > statistics.csv files as well - losing about 6 months of stats. > > > > > Now these are not vital to us (so they were not backed up) but it's a > > > > > little annoying to lose them. > > > > > > The question is, why did this option remove the statistics file? Is > > it > > > > > supposed to or is this a bug? > > > > > > Thanks in Advance- Hide quoted text - > > > > - Show quoted text -- Hide quoted text - > > - Show quoted text -
