Class BreadthFirstRunnerDiscoveryExtension
- java.lang.Object
-
- jetbrains.buildServer.serverSide.discovery.BreadthFirstRunnerDiscoveryExtension
-
- All Implemented Interfaces:
BuildRunnerDiscoveryExtension
,ServerExtension
,TeamCityExtension
public abstract class BreadthFirstRunnerDiscoveryExtension extends Object implements BuildRunnerDiscoveryExtension
Breadth first scanner. Does not go deeper specified depth and stops processing if it found some runners at some level. By default depth limit is 2.
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_DEPTH_LIMIT
-
Constructor Summary
Constructors Modifier Constructor Description protected
BreadthFirstRunnerDiscoveryExtension()
protected
BreadthFirstRunnerDiscoveryExtension(int depthLimit)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected List<DiscoveredObject>
breadthFirstScan(Element currentElement, int currentElementDepth)
List<DiscoveredObject>
discover(BuildTypeSettings settings, Browser browser)
Returns list of guessed build runners, or null if no runners were found.protected abstract List<DiscoveredObject>
discoverRunnersInDirectory(Element dir, List<Element> filesAndDirs)
Called for each found directoryprotected List<DiscoveredObject>
postProcessDiscoveredObjects(BuildTypeSettings settings, Browser browser, List<DiscoveredObject> discovered)
Called when discovery process finished.
-
-
-
Method Detail
-
discover
@Nullable public List<DiscoveredObject> discover(@NotNull BuildTypeSettings settings, @NotNull Browser browser)
Description copied from interface:BuildRunnerDiscoveryExtension
Returns list of guessed build runners, or null if no runners were found.- Specified by:
discover
in interfaceBuildRunnerDiscoveryExtension
- Parameters:
settings
- build type settingsbrowser
- project source code browser- Returns:
- see above
-
breadthFirstScan
@NotNull protected List<DiscoveredObject> breadthFirstScan(@NotNull Element currentElement, int currentElementDepth)
-
discoverRunnersInDirectory
@NotNull protected abstract List<DiscoveredObject> discoverRunnersInDirectory(@NotNull Element dir, @NotNull List<Element> filesAndDirs)
Called for each found directory- Parameters:
dir
- directoryfilesAndDirs
- directory content (both files and sub directories)- Returns:
- found runners
-
postProcessDiscoveredObjects
@NotNull protected List<DiscoveredObject> postProcessDiscoveredObjects(@NotNull BuildTypeSettings settings, @NotNull Browser browser, @NotNull List<DiscoveredObject> discovered)
Called when discovery process finished. Allows to modify list of found objects. Usually used to filter out discovered objects that are already configured in provided settings.- Parameters:
settings
- build configuration settingsbrowser
- project source code browserdiscovered
- discovered objects- Returns:
- new list of discovered objects
-
-