Hi Ruben, I got it working here, and I wanted to share my findings. I replaced the buildargs line as I mentioned in the previous post in the 1.8.1 source and compiled that. The arguments are now passed correctly.
However, I still got the directory not found exception, and when looking into the code I came to the conclusion that the working directory is set to the default scriptsDirectory. That's weird because I did set the scripts directory, but to a relative path, relative to the project working directory. I also have this in the 1.6 version. The only solution is to include a drive letter in the scriptsDirectory and only then the correct working directory is set. This is a solution for both the 1.6 and 1.8 versions. Thanks for your effort, Alex On Wednesday, September 5, 2012 10:39:42 AM UTC+2, Ruben Willems wrote: > > Hi > > found the bug and fixed it > > will release a new version this evening > sorry for the trouble > > with kind regards > Ruben Willems > > > > On 5 September 2012 09:37, Alex Vanden Abeele > <[email protected]<javascript:> > > wrote: > >> I just noticed there was an update that fixes a powershell issue, so I >> installed the 1.8.1, Still the same problem. I can specify the scripts >> directory, but I used to get another error if I did that. Now I get this: >> >> <buildresults> >> <message level="Error">The term 'modules\host\' is not recognized as the >> name of a cmdlet, function, s</message> >> <message level="Error">cript file, or operable program. Check the spelling >> of the name, or if a path w</message> >> <message level="Error">as included, verify that the path is correct and >> try again.</message> >> <message level="Error">At line:1 char:14</message> >> <message level="Error">+ modules\host\ <<<< -file >> build\tool\msvs\versionupdater.ps1</message> >> <message level="Error"> + CategoryInfo : ObjectNotFound: >> (modules\host\:String) [], Comma </message> >> <message level="Error"> ndNotFoundException</message> >> <message level="Error"> + FullyQualifiedErrorId : >> CommandNotFoundException</message> >> <message level="Error"> </message></buildresults> >> >> Which is totally different than what I got from the 1.8.0 version, so indeed >> a change has been made. >> >> But seeing this I decided to look into the code of the powershell task, and >> behold: the line >> >> if (!string.IsNullOrEmpty(BuildArgs)) builder.AppendArgument(BuildArgs); >> >> apparently is put BEFORE the -file argument, so off course this cannot work. >> >> >> Can this be fixed that it is back after the -file and script parameters, as >> it was in the 1.6 source? Thanks! >> >> >> >> >> On Wednesday, September 5, 2012 8:55:06 AM UTC+2, Alex Vanden Abeele >> wrote: >>> >>> Hello, >>> >>> I'm running the latest ccnet server version, 1.8.0.0, on a win2008 R2 >>> server (64bit). When running a powershell task I get the exception at the >>> bottom of this message. The execution policy is set to unrestricted (to be >>> sure), both for the 32bit and the 64bit version of powershell. >>> >>> For some reason the task appends folders that indeed do not exist to my >>> script paths. >>> >>> The node in my project is the following: >>> >>> <powershell> >>> <description>Updating version number of the >>> host</description> >>> <script>build/tool/msvs/**versionupdater.ps1</script> >>> <buildArgs>/modules/host/</**buildArgs> >>> </powershell> >>> >>> >>> Anybody any idea what I can do? I never had this before and I've used >>> this script often on several ccnet servers. >>> >>> <exception><![CDATA[**ThoughtWorks.CruiseControl.**Core.Tasks.BuilderException: >>> Unable to execute: FileName: >>> [C:\Windows\System32\**WindowsPowerShell\v1.0\**powershell.exe] -- >>> Arguments: [-nologo -NoProfile -NonInteractive -file >>> "C:\Users\Administrator\**Documents\WindowsPowerShell\**build/tool/msvs/**versionupdater.ps1" >>> /modules/host/] -- WorkingDirectory: >>> [C:\Users\Administrator\**Documents\WindowsPowerShell\] -- >>> StandardInputContent: [] -- Timeout: [600000] >>> System.IO.**DirectoryNotFoundException: Directory does not exist: >>> C:\Users\Administrator\**Documents\WindowsPowerShell\ >>> at ThoughtWorks.CruiseControl.**Core.Util.ProcessInfo.**CreateProcess() >>> at >>> ThoughtWorks.CruiseControl.**Core.Util.ProcessExecutor.**RunnableProcess..ctor(**ProcessInfo >>> processInfo, String projectName, String publicArgs) >>> at >>> ThoughtWorks.CruiseControl.**Core.Util.ProcessExecutor.**Execute(ProcessInfo >>> processInfo) >>> at >>> ThoughtWorks.CruiseControl.**Core.Tasks.PowerShellTask.**AttemptToExecute(ProcessInfo >>> info) ---> System.IO.**DirectoryNotFoundException: Directory does not >>> exist: C:\Users\Administrator\**Documents\WindowsPowerShell\ >>> at ThoughtWorks.CruiseControl.**Core.Util.ProcessInfo.**CreateProcess() >>> at >>> ThoughtWorks.CruiseControl.**Core.Util.ProcessExecutor.**RunnableProcess..ctor(**ProcessInfo >>> processInfo, String projectName, String publicArgs) >>> at >>> ThoughtWorks.CruiseControl.**Core.Util.ProcessExecutor.**Execute(ProcessInfo >>> processInfo) >>> at >>> ThoughtWorks.CruiseControl.**Core.Tasks.PowerShellTask.**AttemptToExecute(ProcessInfo >>> info) >>> --- End of inner exception stack trace --- >>> at >>> ThoughtWorks.CruiseControl.**Core.Tasks.PowerShellTask.**AttemptToExecute(ProcessInfo >>> info) >>> at >>> ThoughtWorks.CruiseControl.**Core.Tasks.PowerShellTask.**Execute(IIntegrationResult >>> result) >>> at >>> ThoughtWorks.CruiseControl.**Core.Tasks.TaskBase.Run(**IIntegrationResult >>> result) >>> at ThoughtWorks.CruiseControl.**Core.Project.RunTask(ITask task, >>> IIntegrationResult result, Boolean isPublisher) >>> at >>> ThoughtWorks.CruiseControl.**Core.Project.RunTasks(**IIntegrationResult >>> result, IList tasksToRun, Dictionary`2 parameterValues) >>> at ThoughtWorks.CruiseControl.**Core.Project.Run(**IIntegrationResult >>> result) >>> at >>> ThoughtWorks.CruiseControl.**Core.IntegrationRunner.Build(**IIntegrationResult >>> result) >>> at >>> ThoughtWorks.CruiseControl.**Core.IntegrationRunner.**Integrate(IntegrationRequest >>> request) BaseDirectory: >>> C:\Users\Administrator\**Documents\WindowsPowerShell\, PowerShell: >>> powershell.exe]]></exception> >>> >>> >>> >>> >
