I'm using CCNet release 1.4.0 (v1.4.0.3524).
One of my project is using a build publisher to copy the output file
to a given location.
That project is a version updater, used in the build process by other
projects. Each time the tool is updated, the build publisher is run to
autoreplace the version in use on the server.
This worked perfectly for a while.
I made some changes to the project file and did a major refactor of
the SVN repository, requiring me to change the Build Publisher's
sourceDir value (the publishDir stayed the same, all through the
changes).
I am now getting an exception at each build (forced or not).
Here is the exception:
System.ArgumentException: Access to the path is denied.
at System.IO.FileSystemInfo.set_Attributes(FileAttributes value)
at
ThoughtWorks.CruiseControl.Core.Publishers.BuildPublisher.RecurseSubDirectories
(DirectoryInfo srcDir, DirectoryInfo pubDir)
at ThoughtWorks.CruiseControl.Core.Publishers.BuildPublisher.Run
(IIntegrationResult result)
at ThoughtWorks.CruiseControl.Core.Project.RunTasks
(IIntegrationResult result, IList tasksToRun)
at ThoughtWorks.CruiseControl.Core.Project.Run(IIntegrationResult
result)
at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build
(IIntegrationResult result)
Here is the offending Build Publisher (the only Build Publisher in the
project file):
<buildpublisher>
<!-- We take it from the Release output -->
<sourceDir>$(versionUpdaterProjectWorkingDirectory)\Sources
\VersionUpdater\bin\Release</sourceDir>
<!-- We deploy it to replace the existing scripts -->
<publishDir>$(VersionUpdaterPath)</publishDir>
<useLabelSubDirectory>false</useLabelSubDirectory>
</buildpublisher>
Notes:
* $(versionUpdaterProjectWorkingDirectory) resolves to D:\Build
directory\Tools\VersionUpdater - Release 1.0
* $(VersionUpdaterPath) resolves to D:/Program Files/VersionUpdater/
* I tried restarting CCNet service to see if it was a "one time" bug,
but it did not change anything. The same exception comes back each
time.
* This worked for a while, before I made changes to the config file
and to the sourceDir of the Build Publisher.
* The rest of the project executes successfully (namely, a Visual
Studio task).
Any help would be appreciated!