This is easy to correct (your crash) -- open the .sln file for the plugin; then remove the references to all the Thoughtworks.CruiseControl.Core and Thoughtworks.CruiseControl.Remote assemblies (they are targeting 1.6); and re-add references to your Thoughtworks.CruiseControl.Core and Thoughtworks.CruiseControl.Remote assemblies. Those are found in your CCNET install dir, in the \Server folder.
This solved the problem of the plugin not loading; but didn't solve the root problem of it not doing what I expected. :) Andrew -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Mike M Sent: Tuesday, April 27, 2010 8:13 PM To: ccnet-user Subject: [ccnet-user] Re: Using named values in condition blocks Hi Andrew, Unfortunately I am not able to answer your question, but after seeing your code I have tried to implement some functionality using the conidtional plugin and am having some difficulties making it work. I am assuming the one you are using is from http://ccnetconditional.codeplex.com/. I downloaded this and put it in the server folder and have the following code in my project: <!-- omitted for brevity --> <conditional> <conditions> <compareCondition value1="$[ProjectType]" value2="copen" evaluation="equal" ignoreCase="true"/> <compareCondition value1="$[OperationType]" value2="compile" evaluation="equal" ignoreCase="true"/> </conditions> <tasks> <nant> <executable>C:\Program Files\nant-0.85\bin\nant.exe</ executable> <baseDirectory>C:\OAS</baseDirectory> <buildFile>Oracle9i_Automation_v2.build</buildFile> <targetList> <target>build</target> </targetList> <buildArgs>xxx</buildArgs> </nant> </tasks> <elsetasks/> </conditional> <parameters> <selectParameter name="ProjectType"> <description>The type of project to operate on.</description> <allowedValues> <value name="COPEN">copen</value> <value name="BCS">bcs</value> <value name="FCDD">fcdd</value> </allowedValues> </selectParameter> <selectParameter name="OperationType"> <description>The type of operation to do.</description> <allowedValues> <value name="Compile?">compile</value> <value name="Compile and deploy?">compiledeploy</value> </allowedValues> </selectParameter> </parameters> <!-- omitted for brevity --> However, when I try to start the CCNet server, it crashes with the following error: [1:ERROR] INTERNAL ERROR: Unable to load types from assembly CCNet.Conditional.Plugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: Failed to load 1 of the 17 types defined in the assembly. Exceptions: - Unable to load type: CCNet.Conditional.Plugin.GeneralTaskResult Exception: System.TypeLoadException: Method 'CheckIfSuccess' in type 'CCNet.Conditional.Plugin.GeneralTaskResult' from assembly 'CCNet.Conditional.Plugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation. ---------- Exortech.NetReflector.NetReflectorTypeLoadException: Unable to load types from assembly CCNet.Conditional.Plugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null:Failed to load 1 of the 17 types defined in the assembly. Exceptions: - Unable to load type: CCNet.Conditional.Plugin.GeneralTaskResult Exception: System.TypeLoadException: Method 'CheckIfSuccess' in type 'CCNet.Conditional.Plugin.GeneralTaskResult' from assembly 'CCNet.Conditional.Plugin, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation. at Exortech.NetReflector.NetReflectorTypeTable.GetTypes(Assembly assembly) at Exortech.NetReflector.NetReflectorTypeTable.Add(Assembly assembly) at Exortech.NetReflector.NetReflectorTypeTable.Add(String assemblyFilename) at Exortech.NetReflector.NetReflectorTypeTable.Add(String path, String searchPattern) at ThoughtWorks.CruiseControl.Core.Config.NetReflectorConfigurationReader..ctor () at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.NewConfigurationService( String configFile) at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateLocal(String configFile) at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.CreateRemote(String configFile) at ThoughtWorks.CruiseControl.Core.CruiseServerFactory.Create(Boolean remote, String configFile) at ThoughtWorks.CruiseControl.Core.ConsoleRunner.LaunchServer() at ThoughtWorks.CruiseControl.Core.ConsoleRunner.Run() at ThoughtWorks.CruiseControl.Console.AppRunner.Run(String[] args, Boolean usesShadowCopying) ---------- Do you have any ideas on how to fix this issue? Thanks in advance! On Apr 28, 5:01 am, Andrew Hayes <[email protected]> wrote: > I'm still struggling with this; any clues anyone could suggest would be very > helpful... > > Thanks > Andrew > > > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > Behalf Of andrew > Sent: Friday, April 16, 2010 9:12 AM > To: ccnet-user > Subject: [ccnet-user] Using named values in condition blocks > > We are running two basic types of builds: Normal and Nightly "Big" > builds. Normal builds on changes to the depot; and doesn't build some > of the really big projects we have. Nightly builds everything; and so > we restrict that to run once a day; starting at 1am. > > Our trigger has this block: > <parameterTrigger> > <trigger type="scheduleTrigger" time="01:00" > buildCondition="ForceBuild" name="Nightly post-scorch build" /> > <parameters> > <namedValue name="isNightlyBuild" value="yes"/ > > </parameters> > </parameterTrigger> > > We also want users, when forcing a build, to have the option of > running a nightly build as well; so we are using parameters for that. > Our project definition has this block: > > <parameters> > <selectParameter> > <name>isNightlyBuild</name> > <allowedValues> > <value name="Nightly Big-Build">yes</value> > <value name="Normal Build">no</value> > </allowedValues> > <display>Nightly BIG Build?</display> > <description>removed for brevity...</description> > <default>Normal Build</default> > <required>false</required> > </selectParameter> > </parameters> > > To scope what is/is not built we installed the Conditional plugin. > > To test what is happening we added this line to the top of our tasks > block: > <!-- Output the build type to the log --> > <conditional description="Log state of isNightlyBuild > flag"> > <conditions> > <compareCondition value1="$[isNightlyBuild]" > value2="yes" evaluation="equal" ignoreCase="true"/> > </conditions> > <tasks> > <commentTask message="isNightlybuild is true"/ > > </tasks> > <elseTasks> > <commentTask message="isNightlybuild is false"/ > > </elseTasks> > </conditional> > > The problem is that if you start the build with a force, and set > isNightlyBuild to Yes; it works (logs as you would expect); but the > NIGHTLY trigger at 1am does not seem to set this flag correctly. > > Any suggestions? > > Thanks > Andrew > > -- > Subscription settings:http://groups.google.com/group/ccnet-user/subscribe?hl=en > > > > smime.p7s > 4KViewDownload- Hide quoted text - > > - Show quoted text -
smime.p7s
Description: S/MIME cryptographic signature
