An open API service indexing awesome lists of open source software.

https://github.com/kylelaverty/ccnet.incrementallabeller

CCNet labeller plugin: Builds a label based on the last label and increments it by the provided value.
https://github.com/kylelaverty/ccnet.incrementallabeller

ccnet ccnet-labeller cruisecontrol cruisecontrol-net labeller

Last synced: 8 months ago
JSON representation

CCNet labeller plugin: Builds a label based on the last label and increments it by the provided value.

Awesome Lists containing this project

README

          

# Incremental labeller plugin for CCNET

This labeller plugin builds the CCNet internal label from the last label combined with a specified increment.

As any other CCNet labeller, used in conjunction with the AssemblyInfo task in [MsBuildTasks](https://github.com/loresoft/msbuildtasks) or with a manual script it allows setting the AssemblyVersion - AssemblyFileVersion attributes of an MSBuild project.

## Building the label

* Take the last label
* Take the Major, Minor and Build if configured and overwrite the last label
* If an increment is specified, increment the revision by that, otherwise increment the revision by 1
* If the Major/Minor/Build value has changed since the last label, and reset revision is set, update revision to 0
* If the last run is not success and increment of failure is false, reset revision to the last label value
* New label: [Major].[Minor].[Build].[Revision]

## Usage
```xml

10
20
30
10
true
false

```

* *major* is optional (defaults to previous value)
* *minor* is optional (defaults to previous value)
* *build* is optional (defaults to previous value)
* *revisionIncrement* is optional (defaults to 1)
* *resetRevisionAfterVersionChange* is optional (defaults to false)
* *incrementOnFailure* is optional (defaults to false)

## How to make use of the label

* In an MSBuild target you may access the value as $(CCNetLabel)
* In NAnt you may use $[CCNetLabel]
* To use the value inside the CCNet config blocks, you need to write it as a dynamic parameter, i.e. $[$CCNetLabel] . This is valid only for CCNet 1.5+

## Installation ##

* Before building, update the *ThoughtWorks.CruiseControl.Core.dll* and *ThoughtWorks.CruiseControl.Remote.dll* in the *lib* folder with the ones corresponding to your CCNET version (found in *server* subfolder of the CruiseControl.Net program files folder)

* Build the solution

* Copy the resulting *ccnet.IncrementalLabeller.plugin.dll* into the *server* subfolder.

NOTE: the assembly file name must follow the ccnet.*.plugin.dll pattern - in order to be loaded by CCNET