Hi Ruben,

I did force a build but it still throws the exception. I'll try
deleting the whole project and letting CCNet check it out again and
see how it goes.

Cheers
Dave

On Jul 20, 7:36 pm, Ruben Willems <[email protected]> wrote:
> 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 -

Reply via email to