com.atlassian.bamboo.builder
Interface Builder

All Known Implementing Classes:
AbstractBuilder, AbstractMavenBuilder, AntBuilder, CustomCommandBuilder, Maven2Builder, MavenBuilder, ScriptBuilder, VersionNineteenToVersionTwentyUpgrader.CustomAntBuilder, VersionNineteenToVersionTwentyUpgrader.CustomMavenBuilder

public interface Builder

This interface defines a Build tool plugin.


Method Summary
 Map addDefaultLabelPathMaps(Map labelPathMaps)
           
 void addDefaultValues(BuildConfiguration configuration)
           
 BuildResults build(Build build, BuildResults preBuildResults)
          Build the given build
 void collateTestResults(BuildResults buildInfo)
          temp will morph into a TestResultsHanlder on route to a plugin!
 Map customiseLabelPathMaps(Map labelPathMaps)
          Allows the builder to add extra LabelPathMap objects as required
 Map filterParameters(Map incomingWebParams)
          Filter the parameters the builder needs from the incoming web parameters.
 String getBuildJdk()
          The label of the JDK we're using
 String getCompleteKey()
          Returns the full plugin descriptor key
 String getEditHtml(Map errors)
           
 String getEnvironmentVariables()
          Provides the ui form with the build's virtual machine parameters
 FilteredMap getFilteredParams()
           
 String getFreemarkerEditHtml(Map errors)
           
 Map getFullParams()
          Subclasses should extend this method rather than getFilteredParams() since it calls back on this method (getFillParams)
 String getKey()
           
 String getLabel()
           
 String getName()
           
 String getPath()
          The home path of the builder's command line
 String getPathHelp()
           
 String getTestResultsDirectory()
          Where are the build's xml test results files?
 String getViewHtml()
          Returns the HTML representing the builder configuration for the build
 boolean hasTests()
          Does the build have any tests to be included in the build results web pages?
 void init(ModuleDescriptor moduleDescriptor)
          Initialises the Builder with the plugin module descriptor
 boolean isLabelPathMapConfigurable()
          Returns true if the Builder can have its LabelPathMap configurable.
 boolean isPathValid(String path)
          Returns true if the passed path is valid for this builder.
 void setAdminConfig(AdministrationConfiguration adminConfig)
           
 void setBuildDir(File buildDirectory)
          Set the location of the build files.
 void setBuilderManager(BuilderManager builderManager)
           
 void setBuildJdk(String buildJdk)
          The label of the JDK we're using
 void setEnvironmentVariables(String envVars)
          Specify the optional build vm params
 void setHasTests(boolean hasTests)
          Does the build have any tests to be included in the build results web pages?
 void setLabel(String label)
           
 void setParams(FilteredMap params)
           
 ErrorCollection validate()
          Validate the Builder's current internal settings are still valid
 ErrorCollection validate(BuildConfiguration buildConfiguration)
           
 ErrorCollection validate(FilteredMap filteredParams)
          Validate the Builder's property settings when supplied from an web form
 

Method Detail

init

void init(ModuleDescriptor moduleDescriptor)
Initialises the Builder with the plugin module descriptor

Parameters:
moduleDescriptor -

build

BuildResults build(Build build,
                   BuildResults preBuildResults)
Build the given build

Parameters:
build - The build to build
preBuildResults - The change list that triggered the build
Returns:
The build results

collateTestResults

void collateTestResults(BuildResults buildInfo)
temp will morph into a TestResultsHanlder on route to a plugin!


getTestResultsDirectory

String getTestResultsDirectory()
Where are the build's xml test results files?

Returns:
the location of the unit test xml files (one or more files)

setBuildDir

void setBuildDir(File buildDirectory)
Set the location of the build files.

Parameters:
buildDirectory - The build directory

validate

ErrorCollection validate(FilteredMap filteredParams)
Validate the Builder's property settings when supplied from an web form

Parameters:
filteredParams -
Returns:
The collection of errors, or an empty list if no errors found

validate

ErrorCollection validate(BuildConfiguration buildConfiguration)

addDefaultValues

void addDefaultValues(BuildConfiguration configuration)

validate

ErrorCollection validate()
Validate the Builder's current internal settings are still valid

Returns:

hasTests

boolean hasTests()
Does the build have any tests to be included in the build results web pages?

Returns:
true if the build should have tests.

setHasTests

void setHasTests(boolean hasTests)
Does the build have any tests to be included in the build results web pages?

Parameters:
hasTests - True if the build should have tests.

setEnvironmentVariables

void setEnvironmentVariables(String envVars)
Specify the optional build vm params

Parameters:
envVars - The params

getEnvironmentVariables

String getEnvironmentVariables()
Provides the ui form with the build's virtual machine parameters

Returns:
build params

setBuildJdk

void setBuildJdk(String buildJdk)
The label of the JDK we're using

Parameters:
buildJdk - The label

getBuildJdk

String getBuildJdk()
The label of the JDK we're using

Returns:
The label

getPath

String getPath()
The home path of the builder's command line

Returns:
The path

filterParameters

Map filterParameters(Map incomingWebParams)
Filter the parameters the builder needs from the incoming web parameters.

Parameters:
incomingWebParams - Raw build parameters coming from BuildPage action
Returns:
filtered parameters relevant to this builder

getKey

String getKey()
Returns:
The simple key of this builder.

setParams

void setParams(FilteredMap params)

getFullParams

Map getFullParams()
Subclasses should extend this method rather than getFilteredParams() since it calls back on this method (getFillParams)

Returns:
Map key by the full param key (e.g. builder.ant.label). Never null

getFilteredParams

FilteredMap getFilteredParams()

getCompleteKey

String getCompleteKey()
Returns the full plugin descriptor key

Returns:

getEditHtml

String getEditHtml(Map errors)

getViewHtml

String getViewHtml()
Returns the HTML representing the builder configuration for the build

Returns:
HTML of

isLabelPathMapConfigurable

boolean isLabelPathMapConfigurable()
Returns true if the Builder can have its LabelPathMap configurable. If it can't be, it won't be displayed on the ConfigureBuilder page.

Returns:
true if LabelPathMap is configurable

customiseLabelPathMaps

Map customiseLabelPathMaps(Map labelPathMaps)
Allows the builder to add extra LabelPathMap objects as required

Parameters:
labelPathMaps - may be null

isPathValid

boolean isPathValid(String path)
Returns true if the passed path is valid for this builder. The definition of a path depends on the builder itself. It could be the path to the executable (e.g script builder) or just the home directory (e.g. Ant builder)

Parameters:
path -
Returns:
true if valid

setAdminConfig

void setAdminConfig(AdministrationConfiguration adminConfig)

setBuilderManager

void setBuilderManager(BuilderManager builderManager)

getLabel

String getLabel()

getName

String getName()

getPathHelp

String getPathHelp()

setLabel

void setLabel(String label)

addDefaultLabelPathMaps

Map addDefaultLabelPathMaps(Map labelPathMaps)

getFreemarkerEditHtml

String getFreemarkerEditHtml(Map errors)


Copyright © 2006 Atlassian Software Systems. All Rights Reserved.