Hi I think this is due to the fact you deleted the folder manually. Once you have made a build, it should be ok.
with kind regards Ruben Willems On Mon, Jul 20, 2009 at 5:02 PM, Dave Carson <[email protected]> wrote: > > 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 -
