The
latest release for the
CC.NET Community Plugins has support for an
FTP Source Control. This source control provider works a lot like the
FileSystemSourceControl, except it gets the source from an FTP server. Modifications are determined based on the date of the file on the server.
The
RssBuildsPublisher and
CodePlexReleasePublisher have also been added to the project. With the addition of these publishers, it adds the ability to support macros for the values of the objects via a
Macro Engine. Currently, only these publishers support macros, but others will gain support in future releases.
The macro engine allows, when configured, values to come from properties of the Integration Result object, the object being invoked (a CodePlexReleasePublisher for example), a value generated from a
macro method, or from the Result xml.
Properties are called by using
$(PropertyName) format. If the property exists, the string will be replaced with the actual value, otherwise, it will output the original $(PropertyName) string.
Macros are called using
@{MacroMethodName(arg1,arg2,...argN)}. Arguments are passed to the method as a string and it is the responsibility of the Macro Method to parse out the arguments and check for validity. The macro engine will dynamically load external macros in to the engine. A macro must implement the IMacro namespace and the assembly name must match the
ccp.*.macro.dll format. Multiple macros can reside in an assembly, and as long as the assembly name matches the pattern, they will be available for use.
The final way to get dynamic values is from the Integration Task Results Xml. This is done by using the
!(/xpath/here) format. The xpath must be valid XPath and must select a node that has a value.