views:

256

answers:

2

I am trying to make my own Labeller plugin for Cruise Control .Net 1.4.3. I have made a class based on another plug in example but I keep getting an error

Class 'AssemblyVersionLabeller' must implement 'Function Generate(integrationResult As IIntegrationResult) As String' for interface 'ThoughtWorks.CruiseControl.Core.ILabeller'

Here is my code :

Imports Exortech.NetReflector Imports ThoughtWorks.CruiseControl.Core Imports ThoughtWorks.CruiseControl.Core.Util

Namespace NetAssembly.CCNet.Label _ Public Class AssemblyVersionLabeller Implements ILabeller Public Sub Run(ByVal result As IIntegrationResult) result.Label = Generate(result) End Sub

    Public Function Generate(ByVal integrationResult As IIntegrationResult) As String
        Dim label As String = integrationResult.LastIntegration.Label

        Return label
    End Function

    <ReflectorProperty("prefix", Required:=False)> _
    Public Prefix As String = String.Empty

  End Class

End Namespace

What am I doing wrong? What have I missed?

Background Info:

I am using VS2005. I cant use CrusieControl 1.4.4 RC2 (which has an Assembly Labeller) because my source control's plugin (SCM Anywhere) doesnt work with it.

A: 

I cannot judge just by looking at your code, but if you need a sample on how to write labellers (C# code though), you could take a look at BrekiLabeller code (written by me).

Igor Brejc
A: 

I believe you forgot the overrides decleration..

Public Overrides Function Generate
Alex