hudson.matrix
Class MatrixProject

java.lang.Object
  extended by hudson.model.AbstractModelObject
      extended by hudson.model.Actionable
          extended by hudson.model.AbstractItem
              extended by hudson.model.Job<P,R>
                  extended by hudson.model.AbstractProject<MatrixProject,MatrixBuild>
                      extended by hudson.matrix.MatrixProject
All Implemented Interfaces:
ExtensionPoint, BuildableItem, BuildableItemWithBuildWrappers, Describable<TopLevelItem>, DescriptorByNameOwner, Item, ItemGroup<MatrixConfiguration>, ModelObject, PersistenceRoot, Queue.FlyweightTask, SubTask, Queue.Task, ResourceActivity, Saveable, SCMedItem, TopLevelItem, SearchableModelObject, SearchItem, AccessControlled, ModelObjectWithContextMenu, OnMaster, org.kohsuke.stapler.HttpDeletable, org.kohsuke.stapler.StaplerOverridable

public class MatrixProject
extends AbstractProject<MatrixProject,MatrixBuild>
implements TopLevelItem, SCMedItem, ItemGroup<MatrixConfiguration>, Saveable, Queue.FlyweightTask, BuildableItemWithBuildWrappers

Job that allows you to run multiple different configurations from a single setting.

Author:
Kohsuke Kawaguchi

Nested Class Summary
static class MatrixProject.DescriptorImpl
           
 
Nested classes/interfaces inherited from class hudson.model.AbstractProject
AbstractProject.AbstractProjectDescriptor, AbstractProject.BecauseOfBuildInProgress, AbstractProject.BecauseOfDownstreamBuildInProgress, AbstractProject.BecauseOfUpstreamBuildInProgress
 
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
 
Nested classes/interfaces inherited from interface jenkins.model.ModelObjectWithContextMenu
ModelObjectWithContextMenu.ContextMenu, ModelObjectWithContextMenu.MenuItem
 
Field Summary
static MatrixProject.DescriptorImpl DESCRIPTOR
           
 
Fields inherited from class hudson.model.AbstractProject
ABORT, blockBuildWhenDownstreamBuilding, blockBuildWhenUpstreamBuilding, BUILD_NOW_TEXT, builds, disabled, transientActions, triggers
 
Fields inherited from class hudson.model.Job
HISTORY_ADAPTER, nextBuildNumber, properties
 
Fields inherited from class hudson.model.AbstractItem
description, displayName, name, PRONOUN
 
Fields inherited from interface hudson.model.Item
BUILD, CANCEL, CONFIGURE, CREATE, DELETE, DISCOVER, EXTENDED_READ, PERMISSIONS, READ, WIPEOUT, WORKSPACE
 
Constructor Summary
MatrixProject(ItemGroup parent, String name)
           
MatrixProject(String name)
           
 
Method Summary
 MatrixProject asProject()
          SCMedItem needs to be an instance of AbstractProject.
protected  void buildDependencyGraph(DependencyGraph graph)
          Builds the dependency graph.
protected  List<Action> createTransientActions()
           
 org.kohsuke.stapler.HttpResponse doDoWipeOutWorkspace()
          Also delete all the workspaces of the configuration, too.
 Collection<MatrixConfiguration> getActiveConfigurations()
          Gets all active configurations.
 Collection<? extends Job> getAllJobs()
          Gets all the jobs that this Item contains as descendants.
 AxisList getAxes()
           
protected  Class<MatrixBuild> getBuildClass()
          Determines Class<R>.
 List<Builder> getBuilders()
           
 DescribableList<Builder,Descriptor<Builder>> getBuildersList()
           
 Map<Descriptor<BuildWrapper>,BuildWrapper> getBuildWrappers()
           
 DescribableList<BuildWrapper,Descriptor<BuildWrapper>> getBuildWrappersList()
          BuildWrappers associated with this AbstractProject.
 String getChildCustomWorkspace()
          Gets the workspace location that MatrixConfiguration uses.
 String getCombinationFilter()
          Obtains the combination filter, used to trim down the size of the matrix.
 MatrixProject.DescriptorImpl getDescriptor()
          Gets the descriptor for this instance.
 Object getDynamic(String token, org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
           
 MatrixExecutionStrategy getExecutionStrategy()
           
 MatrixConfiguration getItem(Combination c)
           
 MatrixConfiguration getItem(String name)
          Gets the Item inside this group that has a given name.
 Collection<MatrixConfiguration> getItems()
          Gets all the items in this collection in a read-only view.
 JDK getJDK()
          Deprecated. 
 Set<JDK> getJDKs()
          Gets the JDKs where the builds will be run.
 Set<Label> getLabels()
          Gets the Labels where the builds will be run.
 Layouter<MatrixConfiguration> getLayouter()
           
 Publisher getPublisher(Descriptor<Publisher> descriptor)
           
 Map<Descriptor<Publisher>,Publisher> getPublishers()
           
 DescribableList<Publisher,Descriptor<Publisher>> getPublishersList()
          Returns the live list of all Publishers configured for this project.
 Set<Label> getRelevantLabels()
          MatrixProject is relevant with all the labels its configurations are relevant.
 File getRootDirFor(Combination combination)
           
 File getRootDirFor(MatrixConfiguration child)
          Assigns the root directory for children.
 MatrixConfigurationSorter getSorter()
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.getSorter(). This method tries to emulate the previous behavior the best it can, but will return null if the current MatrixExecutionStrategy is not the default one.
 String getTouchStoneCombinationFilter()
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.getTouchStoneCombinationFilter(). This method tries to emulate the previous behavior the best it can, but will return null if the current MatrixExecutionStrategy is not the default one.
 Result getTouchStoneResultCondition()
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.getTouchStoneResultCondition(). This method tries to emulate the previous behavior the best it can, but will return null if the current MatrixExecutionStrategy is not the default one.
 String getUrlChildPrefix()
          Gets the URL token that prefixes the URLs for child Items.
 List<Axis> getUserAxes()
          Deprecated. as of 1.373 System vs user difference are generalized into extension point.
 boolean hasChildCustomWorkspace()
          Do we have an explicit child custom workspace setting (true)? Or just using the default value (false)?
 boolean isFingerprintConfigured()
          True if the builds of this project produces Fingerprint records.
 boolean isRunSequentially()
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.isRunSequentially(). This method tries to emulate the previous behavior the best it can, but will return false if the current MatrixExecutionStrategy is not the default one.
 void logRotate()
          Perform log rotation.
 void onCreatedFromScratch()
          When an item is created from scratch (instead of copied), this method will be invoked.
 void onDeleted(MatrixConfiguration item)
          Internal method.
 void onLoad(ItemGroup<? extends Item> parent, String name)
          Called right after when a Item is loaded from disk.
 void onRenamed(MatrixConfiguration item, String oldName, String newName)
          Internal method.
 void setAxes(AxisList axes)
          Reconfigures axes.
 void setChildCustomWorkspace(String childCustomWorkspace)
           
 void setCombinationFilter(String combinationFilter)
          Sets the combination filter.
 void setExecutionStrategy(MatrixExecutionStrategy executionStrategy)
           
 void setRunSequentially(boolean runSequentially)
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setRunSequentially(boolean). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.
 void setSorter(MatrixConfigurationSorter sorter)
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setSorter(MatrixConfigurationSorter). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.
 void setTouchStoneCombinationFilter(String touchStoneCombinationFilter)
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setTouchStoneCombinationFilter(String). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.
 void setTouchStoneResultCondition(Result touchStoneResultCondition)
          Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setTouchStoneResultCondition(Result). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.
protected  void submit(org.kohsuke.stapler.StaplerRequest req, org.kohsuke.stapler.StaplerResponse rsp)
          Derived class can override this to perform additional config submission work.
protected  void updateTransientActions()
          effectively deprecated.
 
Methods inherited from class hudson.model.AbstractProject
_getRuns, addProperty, addToList, addTrigger, blockBuildWhenDownstreamBuilding, blockBuildWhenUpstreamBuilding, buildDescribable, buildDescribable, checkAbortPermission, checkout, createExecutable, createHistoryWidget, disable, doBuild, doBuildWithParameters, doCancelQueue, doCheckRetryCount, doConfigSubmit, doDisable, doDoDelete, doEnable, doPolling, doRssChangelog, doWs, enable, findNearest, findNearest, getActions, getAssignedLabel, getAssignedLabelString, getAuthToken, getBuild, getBuildByNumber, getBuildingDownstream, getBuildingUpstream, getBuildNowText, getBuildTriggerUpstreamProjects, getCauseOfBlockage, getCustomWorkspace, getDelay, getDownstreamProjects, getEnvironment, getFirstBuild, getHasCustomQuietPeriod, getIconColor, getLastBuild, getLastBuiltOn, getModuleRoot, getModuleRoots, getNearestBuild, getNearestOldBuild, getOwnerTask, getProminentActions, getPronoun, getQueueItem, getQuietPeriod, getRelationship, getResourceActivities, getResourceList, getRootProject, getSameNodeConstraint, getScm, getScmCheckoutRetryCount, getScmCheckoutStrategy, getSomeBuildWithWorkspace, getSomeWorkspace, getSubTasks, getTransitiveDownstreamProjects, getTransitiveUpstreamProjects, getTrigger, getTriggers, getUpstreamProjects, getWhyBlocked, getWorkspace, getWorkspaceResource, hasAbortPermission, hasCustomScmCheckoutRetryCount, hasParticipant, isBuildable, isBuildBlocked, isConcurrentBuild, isConfigurable, isDisabled, isInQueue, isParameterized, loadBuild, makeDisabled, makeSearchIndex, newBuild, performDelete, poll, pollSCMChanges, removeFromList, removeRun, removeTrigger, resolveForCLI, save, scheduleBuild, scheduleBuild, scheduleBuild, scheduleBuild, scheduleBuild, scheduleBuild2, scheduleBuild2, scheduleBuild2, scheduleBuild2, schedulePolling, setAssignedLabel, setAssignedNode, setBlockBuildWhenDownstreamBuilding, setBlockBuildWhenUpstreamBuilding, setConcurrentBuild, setCustomWorkspace, setJDK, setQuietPeriod, setScm, setScmCheckoutStrategy, supportsMakeDisabled
 
Methods inherited from class hudson.model.Job
assignBuildNumber, delete, doBuildStatus, doDescription, doDoRename, doRssAll, doRssFailed, getACL, getAllProperties, getBuildDir, getBuildDiscarder, getBuildForCLI, getBuildHealth, getBuildHealthReports, getBuilds, getBuilds, getBuildsAsMap, getBuildsByTimestamp, getBuildStatusUrl, getBuildTimeGraph, getCharacteristicEnvVars, getEstimatedDuration, getLastBuildsOverThreshold, getLastCompletedBuild, getLastFailedBuild, getLastStableBuild, getLastSuccessfulBuild, getLastUnstableBuild, getLastUnsuccessfulBuild, getLogRotator, getNewBuilds, getNextBuildNumber, getOverrides, getPermalinks, getProperties, getProperty, getProperty, getTimeline, getWidgets, isBuilding, isHoldOffBuildUntilSave, isKeepDependencies, isLogUpdated, isNameEditable, onCopiedFrom, removeProperty, removeProperty, renameTo, saveNextBuildNumber, setBuildDiscarder, setLogRotator, supportsLogRotator, updateNextBuildNumber
 
Methods inherited from class hudson.model.AbstractItem
checkPermission, delete, doConfigDotXml, doSetName, doSubmitDescription, getAbsoluteUrl, getApi, getConfigFile, getDescription, getDescriptorByName, getDisplayName, getDisplayNameOrNull, getFullDisplayName, getFullName, getName, getParent, getRelativeNameFrom, getRelativeNameFrom, getRelativeNameFromGroup, getRootDir, getSearchName, getSearchUrl, getShortUrl, getUrl, hasPermission, setDescription, setDisplayName, setDisplayNameOrNull, toString, updateByXml, updateByXml
 
Methods inherited from class hudson.model.Actionable
addAction, doContextMenu, getAction, getAction, getActions
 
Methods inherited from class hudson.model.AbstractModelObject
getSearch, getSearchIndex, requirePOST, sendError, sendError, sendError, sendError, sendError
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface hudson.model.SCMedItem
getScm, poll, pollSCMChanges
 
Methods inherited from interface hudson.model.ItemGroup
getFullDisplayName, getFullName, getUrl
 
Methods inherited from interface hudson.model.BuildableItem
scheduleBuild, scheduleBuild, scheduleBuild, scheduleBuild
 
Methods inherited from interface hudson.model.Item
delete, getAbsoluteUrl, getDisplayName, getFullDisplayName, getFullName, getName, getParent, getRelativeNameFrom, getRelativeNameFrom, getShortUrl, getUrl, onCopiedFrom
 
Methods inherited from interface hudson.search.SearchableModelObject
getSearch
 
Methods inherited from interface hudson.search.SearchItem
getSearchIndex, getSearchName, getSearchUrl
 
Methods inherited from interface hudson.security.AccessControlled
checkPermission, getACL, hasPermission
 

Field Detail

DESCRIPTOR

@Extension
public static final MatrixProject.DescriptorImpl DESCRIPTOR
Constructor Detail

MatrixProject

public MatrixProject(String name)

MatrixProject

public MatrixProject(ItemGroup parent,
                     String name)
Method Detail

getChildCustomWorkspace

public String getChildCustomWorkspace()
Gets the workspace location that MatrixConfiguration uses.

Returns:
never null even when MatrixProject uses no custom workspace, this method still returns something like "${PARENT_WORKSPACE}/${COMBINATION}" that controls how the workspace should be laid out. The return value can be absolute or relative. If relative, it is resolved against the working directory of the overarching MatrixBuild.
See Also:
MatrixRun.MatrixRunExecution.decideWorkspace(Node, WorkspaceList)

hasChildCustomWorkspace

public boolean hasChildCustomWorkspace()
Do we have an explicit child custom workspace setting (true)? Or just using the default value (false)?


setChildCustomWorkspace

public void setChildCustomWorkspace(String childCustomWorkspace)
                             throws IOException
Throws:
IOException

getRelevantLabels

public Set<Label> getRelevantLabels()
MatrixProject is relevant with all the labels its configurations are relevant.

Overrides:
getRelevantLabels in class AbstractProject<MatrixProject,MatrixBuild>
Returns:
Minimally it should contain AbstractProject.getAssignedLabel(). The set can contain null element to correspond to the null return value from AbstractProject.getAssignedLabel().

getSorter

public MatrixConfigurationSorter getSorter()
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.getSorter(). This method tries to emulate the previous behavior the best it can, but will return null if the current MatrixExecutionStrategy is not the default one.

Returns:
can be null (to indicate that the configurations should be left to their natural order.)

setSorter

public void setSorter(MatrixConfigurationSorter sorter)
               throws IOException
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setSorter(MatrixConfigurationSorter). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.

Throws:
IOException

getAxes

public AxisList getAxes()

setAxes

public void setAxes(AxisList axes)
             throws IOException
Reconfigures axes.

Throws:
IOException

getExecutionStrategy

public MatrixExecutionStrategy getExecutionStrategy()

setExecutionStrategy

public void setExecutionStrategy(MatrixExecutionStrategy executionStrategy)
                          throws IOException
Throws:
IOException

isRunSequentially

public boolean isRunSequentially()
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.isRunSequentially(). This method tries to emulate the previous behavior the best it can, but will return false if the current MatrixExecutionStrategy is not the default one.


setRunSequentially

public void setRunSequentially(boolean runSequentially)
                        throws IOException
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setRunSequentially(boolean). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.

Throws:
IOException

setCombinationFilter

public void setCombinationFilter(String combinationFilter)
                          throws IOException
Sets the combination filter.

Parameters:
combinationFilter - the combinationFilter to set
Throws:
IOException

getCombinationFilter

public String getCombinationFilter()
Obtains the combination filter, used to trim down the size of the matrix.

By default, a MatrixConfiguration is created for every possible combination of axes exhaustively. But by specifying a Groovy expression as a combination filter, one can trim down the # of combinations built.

Namely, this expression is evaluated for each axis value combination, and only when it evaluates to true, a corresponding MatrixConfiguration will be created and built.

Returns:
can be null.
Since:
1.279

getTouchStoneCombinationFilter

public String getTouchStoneCombinationFilter()
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.getTouchStoneCombinationFilter(). This method tries to emulate the previous behavior the best it can, but will return null if the current MatrixExecutionStrategy is not the default one.

Returns:
can be null (to indicate that the configurations should be left to their natural order.)

setTouchStoneCombinationFilter

public void setTouchStoneCombinationFilter(String touchStoneCombinationFilter)
                                    throws IOException
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setTouchStoneCombinationFilter(String). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.

Throws:
IOException

getTouchStoneResultCondition

public Result getTouchStoneResultCondition()
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.getTouchStoneResultCondition(). This method tries to emulate the previous behavior the best it can, but will return null if the current MatrixExecutionStrategy is not the default one.

Returns:
can be null (to indicate that the configurations should be left to their natural order.)

setTouchStoneResultCondition

public void setTouchStoneResultCondition(Result touchStoneResultCondition)
                                  throws IOException
Deprecated. as of 1.456 Use DefaultMatrixExecutionStrategyImpl.setTouchStoneResultCondition(Result). This method tries to emulate the previous behavior the best it can, but will fall back to no-op if the current MatrixExecutionStrategy is not the default one.

Throws:
IOException

createTransientActions

protected List<Action> createTransientActions()
Overrides:
createTransientActions in class AbstractProject<MatrixProject,MatrixBuild>

updateTransientActions

protected void updateTransientActions()
Description copied from class: AbstractProject
effectively deprecated. Since using updateTransientActions correctly under concurrent environment requires a lock that can too easily cause deadlocks.

Override AbstractProject.createTransientActions() instead.

Overrides:
updateTransientActions in class AbstractProject<MatrixProject,MatrixBuild>

getUserAxes

public List<Axis> getUserAxes()
Deprecated. as of 1.373 System vs user difference are generalized into extension point.

Gets the subset of AxisList that are not system axes.


getLayouter

public Layouter<MatrixConfiguration> getLayouter()

onCreatedFromScratch

public void onCreatedFromScratch()
Description copied from interface: Item
When an item is created from scratch (instead of copied), this method will be invoked. Used as the post-construction initialization.

Specified by:
onCreatedFromScratch in interface Item
Overrides:
onCreatedFromScratch in class AbstractProject<MatrixProject,MatrixBuild>

onLoad

public void onLoad(ItemGroup<? extends Item> parent,
                   String name)
            throws IOException
Description copied from class: AbstractItem
Called right after when a Item is loaded from disk. This is an opporunity to do a post load processing.

Specified by:
onLoad in interface Item
Overrides:
onLoad in class AbstractProject<MatrixProject,MatrixBuild>
name - Name of the directory (not a path --- just the name portion) from which the configuration was loaded. This usually becomes the name of this item.
Throws:
IOException

logRotate

public void logRotate()
               throws IOException,
                      InterruptedException
Description copied from class: Job
Perform log rotation.

Overrides:
logRotate in class Job<MatrixProject,MatrixBuild>
Throws:
IOException
InterruptedException

getActiveConfigurations

@Exported
public Collection<MatrixConfiguration> getActiveConfigurations()
Gets all active configurations.

In contract, inactive configurations are those that are left for archival purpose and no longer built when a new MatrixBuild is executed.

During a build, MatrixBuild.MatrixBuildExecution.getActiveConfigurations() should be used to make sure that a build is using the consistent set of active configurations from the start to the end.


getItems

public Collection<MatrixConfiguration> getItems()
Description copied from interface: ItemGroup
Gets all the items in this collection in a read-only view.

Specified by:
getItems in interface ItemGroup<MatrixConfiguration>

getAllJobs

public Collection<? extends Job> getAllJobs()
Description copied from class: AbstractItem
Gets all the jobs that this Item contains as descendants.

Specified by:
getAllJobs in interface Item
Overrides:
getAllJobs in class Job<MatrixProject,MatrixBuild>

getUrlChildPrefix

public String getUrlChildPrefix()
Description copied from interface: ItemGroup
Gets the URL token that prefixes the URLs for child Items. Like "job", "item", etc.

Specified by:
getUrlChildPrefix in interface ItemGroup<MatrixConfiguration>

getItem

public MatrixConfiguration getItem(String name)
Description copied from interface: ItemGroup
Gets the Item inside this group that has a given name.

Specified by:
getItem in interface ItemGroup<MatrixConfiguration>

getItem

public MatrixConfiguration getItem(Combination c)

getRootDirFor

public File getRootDirFor(MatrixConfiguration child)
Description copied from interface: ItemGroup
Assigns the root directory for children.

Specified by:
getRootDirFor in interface ItemGroup<MatrixConfiguration>

onRenamed

public void onRenamed(MatrixConfiguration item,
                      String oldName,
                      String newName)
               throws IOException
Description copied from interface: ItemGroup
Internal method. Called by Items when they are renamed by users.

Specified by:
onRenamed in interface ItemGroup<MatrixConfiguration>
Throws:
IOException

onDeleted

public void onDeleted(MatrixConfiguration item)
               throws IOException
Description copied from interface: ItemGroup
Internal method. Called by Items when they are deleted by users.

Specified by:
onDeleted in interface ItemGroup<MatrixConfiguration>
Throws:
IOException

getRootDirFor

public File getRootDirFor(Combination combination)

getJDK

@Deprecated
public JDK getJDK()
Deprecated. 

Description copied from class: AbstractProject
Gets the JDK that this project is configured with, or null.

Overrides:
getJDK in class AbstractProject<MatrixProject,MatrixBuild>
See Also:
getJDKs()

getJDKs

public Set<JDK> getJDKs()
Gets the JDKs where the builds will be run.

Returns:
never null but can be empty

getLabels

public Set<Label> getLabels()
Gets the Labels where the builds will be run.

Returns:
never null

getBuilders

public List<Builder> getBuilders()

getBuildersList

public DescribableList<Builder,Descriptor<Builder>> getBuildersList()

getPublishers

public Map<Descriptor<Publisher>,Publisher> getPublishers()

getPublishersList

public DescribableList<Publisher,Descriptor<Publisher>> getPublishersList()
Description copied from class: AbstractProject
Returns the live list of all Publishers configured for this project.

This method couldn't be called getPublishers() because existing methods in sub-classes return different inconsistent types.

Specified by:
getPublishersList in class AbstractProject<MatrixProject,MatrixBuild>

getBuildWrappersList

public DescribableList<BuildWrapper,Descriptor<BuildWrapper>> getBuildWrappersList()
Description copied from interface: BuildableItemWithBuildWrappers
BuildWrappers associated with this AbstractProject.

Specified by:
getBuildWrappersList in interface BuildableItemWithBuildWrappers
Returns:
can be empty but never null. This list is live, and changes to it will be reflected to the project configuration.

getBuildWrappers

public Map<Descriptor<BuildWrapper>,BuildWrapper> getBuildWrappers()

getPublisher

public Publisher getPublisher(Descriptor<Publisher> descriptor)

getBuildClass

protected Class<MatrixBuild> getBuildClass()
Description copied from class: AbstractProject
Determines Class<R>.

Specified by:
getBuildClass in class AbstractProject<MatrixProject,MatrixBuild>

isFingerprintConfigured

public boolean isFingerprintConfigured()
Description copied from class: AbstractProject
True if the builds of this project produces Fingerprint records.

Specified by:
isFingerprintConfigured in class AbstractProject<MatrixProject,MatrixBuild>

buildDependencyGraph

protected void buildDependencyGraph(DependencyGraph graph)
Description copied from class: AbstractProject
Builds the dependency graph.

Specified by:
buildDependencyGraph in class AbstractProject<MatrixProject,MatrixBuild>
See Also:
DependencyGraph

asProject

public MatrixProject asProject()
Description copied from interface: SCMedItem
SCMedItem needs to be an instance of AbstractProject.

This method must be always implemented as (AbstractProject)this, but defining this method emphasizes the fact that this cast must be doable.

Specified by:
asProject in interface BuildableItemWithBuildWrappers
Specified by:
asProject in interface SCMedItem

getDynamic

public Object getDynamic(String token,
                         org.kohsuke.stapler.StaplerRequest req,
                         org.kohsuke.stapler.StaplerResponse rsp)
Overrides:
getDynamic in class Job<MatrixProject,MatrixBuild>

submit

protected void submit(org.kohsuke.stapler.StaplerRequest req,
                      org.kohsuke.stapler.StaplerResponse rsp)
               throws IOException,
                      javax.servlet.ServletException,
                      Descriptor.FormException
Description copied from class: Job
Derived class can override this to perform additional config submission work.

Overrides:
submit in class AbstractProject<MatrixProject,MatrixBuild>
Throws:
IOException
javax.servlet.ServletException
Descriptor.FormException

doDoWipeOutWorkspace

public org.kohsuke.stapler.HttpResponse doDoWipeOutWorkspace()
                                                      throws IOException,
                                                             javax.servlet.ServletException,
                                                             InterruptedException
Also delete all the workspaces of the configuration, too.

Overrides:
doDoWipeOutWorkspace in class AbstractProject<MatrixProject,MatrixBuild>
Throws:
IOException
javax.servlet.ServletException
InterruptedException

getDescriptor

public MatrixProject.DescriptorImpl getDescriptor()
Description copied from interface: Describable
Gets the descriptor for this instance.

Descriptor is a singleton for every concrete Describable implementation, so if a.getClass()==b.getClass() then a.getDescriptor()==b.getDescriptor() must hold.

Specified by:
getDescriptor in interface Describable<TopLevelItem>
Specified by:
getDescriptor in interface TopLevelItem
See Also:
Describable.getDescriptor()


Copyright © 2004-2013. All Rights Reserved.