Package hudson.plugins.git.util
Class InverseBuildChooser
- java.lang.Object
-
- hudson.plugins.git.util.BuildChooser
-
- hudson.plugins.git.util.InverseBuildChooser
-
- All Implemented Interfaces:
ExtensionPoint
,Describable<BuildChooser>
,Serializable
public class InverseBuildChooser extends BuildChooser
Git build chooser which will select all branches except for those which match the configured branch specifiers.e.g. If
**/master
and**/release-*
are configured as "Branches to build" then any branches matching those patterns will not be built, unless another branch points to the same revision.This is useful, for example, when you have jobs building your
master
and variousrelease
branches and you want a second job which builds all new feature branches — i.e. branches which do not match these patterns — without redundantly buildingmaster
and the release branches again each time they change.- Author:
- Christopher Orr
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
InverseBuildChooser.DescriptorImpl
-
Nested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson
-
-
Field Summary
-
Fields inherited from class hudson.plugins.git.util.BuildChooser
gitSCM
-
-
Constructor Summary
Constructors Constructor Description InverseBuildChooser()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Collection<hudson.plugins.git.Revision>
getCandidateRevisions(boolean isPollCall, String singleBranch, org.jenkinsci.plugins.gitclient.GitClient git, TaskListener listener, BuildData buildData, BuildChooserContext context)
Get a list of revisions that are candidates to be built.-
Methods inherited from class hudson.plugins.git.util.BuildChooser
all, allApplicableTo, getCandidateRevisions, getCandidateRevisions, getDescriptor, getDisplayName, prepareWorkingTree, prevBuildForChangelog, prevBuildForChangelog, prevBuildForChangelog
-
-
-
-
Method Detail
-
getCandidateRevisions
public Collection<hudson.plugins.git.Revision> getCandidateRevisions(boolean isPollCall, String singleBranch, org.jenkinsci.plugins.gitclient.GitClient git, TaskListener listener, BuildData buildData, BuildChooserContext context) throws hudson.plugins.git.GitException, IOException, InterruptedException
Description copied from class:BuildChooser
Get a list of revisions that are candidates to be built.This method is invoked on the node where the workspace exists, which may not be the controller.
- Overrides:
getCandidateRevisions
in classBuildChooser
- Parameters:
isPollCall
- true if this method is called from pollChanges.singleBranch
- contains the name of a single branch to be built this will be non-null only in the simple case, in advanced cases with multiple repositories and/or branches specified then this value will be null.git
- Used for invoking Gitlistener
- build logbuildData
- build data to be used Information that captures what we did during the last build.context
- Object that provides access back to the model object. This is because the build chooser can be invoked on an agent where there's no direct access to the build/project for which this is invoked. IfisPollCall
is false, then call back to both project and build are available. IfisPollCall
is true, then only the callback to the project is available as there's no contextual build object.- Returns:
- the candidate revision. Can be an empty set to indicate that there's nothing to build.
- Throws:
hudson.plugins.git.GitException
- on git errorIOException
- on input or output errorInterruptedException
- when interrupted
-
-