The Macro Engine is a core part of the CC.NET Community Plugins. It can be used to dynamically populate values of supported publishers, labellers, source controls and tasks with values from the Integration Result object, the invoking object or from executing a macro method.

Property values from the invoking object or from the Integration result object can be used by using the ${PropertyName} format. When the value is set, the value is parsed and any property that exists will be replaced with the value. If the property can not be found, the original ${PropertyName} string will remain as the value.

Macros are called with a little different syntax. The macro syntax is @{MacroMethod(arg1,arg2,...argN)}. The number of arguments depends on the macro. The arguments are passed to the macro function as a string and is the responsibility of the macro author to parse the arguments out and validate the correct number of arguments have been passed.

XPath lookups can be performed on the Integration Result Output from all executing tasks. The XPath must return an xml node of some type. The syntax for an XPath lookup is !{/root/nextnode[@id="foo"]/@name}. The example would return the value in the name attribute for the node that has an ID attribute with a value of 'foo'

Note a breaking change on builds after 1.0.506.10664 Beta. To remove conflicts with the CCNET Preprocessor engine, properties are now specified like the following: ${PropertyName}. Config files must be changed if you want the property values to process.

Last edited Sep 15, 2008 at 4:44 PM by camalot, version 4

Comments

No comments yet.