Class DependencyParametersProvider
- java.lang.Object
-
- jetbrains.buildServer.serverSide.parameters.AbstractBuildParametersProvider
-
- jetbrains.buildServer.serverSide.parameters.DependencyParametersProvider
-
- All Implemented Interfaces:
BuildsCleanupExtension
,BuildParametersProvider
,ServerExtension
,TeamCityExtension
public class DependencyParametersProvider extends AbstractBuildParametersProvider implements BuildsCleanupExtension
Adds all server-side parameters of all the snapshot dependencies as references. Transitive dependencies are also considered. The parameters are added in the form: "dep.. ". - Author:
- Yegor.Yarko Date: 21.01.2009
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEPENDENCY_REFERENCE_PREFIX
static String
EXPORTED_PARAMETERS_FILTER_ENABLED
-
Constructor Summary
Constructors Constructor Description DependencyParametersProvider(RevisionRuleBuildFinders finders, ProjectManager projectManager, BuildFactory buildFactory, EventDispatcher<BuildServerListener> dispatcher, ExecutorServices executorServices, SQLRunnerEx sqlRunner)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
cleanupBuildsData(BuildCleanupContext cleanupContext)
Invoked afterBuildsCleanupExtension.prepareBuildsData(jetbrains.buildServer.serverSide.cleanup.BuildCleanupContext)
is called for all extensions.int
getCleanupBuildsDataConcurrencyLevel()
This method is called beforeBuildsCleanupExtension.cleanupBuildsData(jetbrains.buildServer.serverSide.cleanup.BuildCleanupContext)
to calculate the number of threads that will be used for processing build package.Map<String,String>
getParameters(SBuild build, boolean emulationMode)
Returns additional build parameters.String
getPrefix()
boolean
isInsideParametersProvider()
-
Methods inherited from class jetbrains.buildServer.serverSide.parameters.AbstractBuildParametersProvider
getParametersAvailableOnAgent
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jetbrains.buildServer.serverSide.cleanup.BuildsCleanupExtension
getDisplayName, prepareBuildsData
-
-
-
-
Field Detail
-
EXPORTED_PARAMETERS_FILTER_ENABLED
public static final String EXPORTED_PARAMETERS_FILTER_ENABLED
- See Also:
- Constant Field Values
-
DEPENDENCY_REFERENCE_PREFIX
public static final String DEPENDENCY_REFERENCE_PREFIX
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DependencyParametersProvider
public DependencyParametersProvider(@NotNull RevisionRuleBuildFinders finders, @NotNull ProjectManager projectManager, @NotNull BuildFactory buildFactory, @NotNull EventDispatcher<BuildServerListener> dispatcher, @NotNull ExecutorServices executorServices, @NotNull SQLRunnerEx sqlRunner)
-
-
Method Detail
-
getParameters
@NotNull public Map<String,String> getParameters(@NotNull SBuild build, boolean emulationMode)
Description copied from interface:BuildParametersProvider
Returns additional build parameters.- Specified by:
getParameters
in interfaceBuildParametersProvider
- Overrides:
getParameters
in classAbstractBuildParametersProvider
- Parameters:
build
- the build for which parameters should be addedemulationMode
- if true then parameters are calculated in the emulation mode and provided build is a mock build. There are two cases when emulationMode is true:- when a build for which we need to compute parameters is still in the queue
- when parameters should be calculated in a context of a build configuration when there is no build at all
BuildPromotionOwner.getBuildPromotion()
will return an instance of aBuildPromotion
which is in the queue (BuildPromotion.getQueuedBuild()
will return a not null object), while in the second case a mock ofBuildPromotion
without any associated queued or started builds will be returned- Returns:
- the map of the parameter name - parameter value pairs
To provide descriptions for the properties
ParameterDescriptionProvider
-
getPrefix
@NotNull public String getPrefix()
- Specified by:
getPrefix
in interfaceBuildParametersProvider
- Overrides:
getPrefix
in classAbstractBuildParametersProvider
- Returns:
- a common prefix used for all parameter names generated by this provider, returns empty string if there is no common prefix
-
isInsideParametersProvider
public boolean isInsideParametersProvider()
-
cleanupBuildsData
public void cleanupBuildsData(@NotNull BuildCleanupContext cleanupContext) throws Exception
Description copied from interface:BuildsCleanupExtension
Invoked afterBuildsCleanupExtension.prepareBuildsData(jetbrains.buildServer.serverSide.cleanup.BuildCleanupContext)
is called for all extensions. There is no guarantee about ordering of the method execution for different extensions, they may be called simultaneously etc. It should perform db operations in current thread otherwise deadlock can occur.- Specified by:
cleanupBuildsData
in interfaceBuildsCleanupExtension
- Parameters:
cleanupContext
- cleanup context- Throws:
CleanupInterruptedException
- if the cleanup process was interruptedException
- on any other error
-
getCleanupBuildsDataConcurrencyLevel
public int getCleanupBuildsDataConcurrencyLevel()
Description copied from interface:BuildsCleanupExtension
This method is called beforeBuildsCleanupExtension.cleanupBuildsData(jetbrains.buildServer.serverSide.cleanup.BuildCleanupContext)
to calculate the number of threads that will be used for processing build package. Once the number is calculated, build package will be evenly splitted among these threads andBuildsCleanupExtension.cleanupBuildsData(jetbrains.buildServer.serverSide.cleanup.BuildCleanupContext)
will be called for each of them.- Specified by:
getCleanupBuildsDataConcurrencyLevel
in interfaceBuildsCleanupExtension
- Returns:
- Maximum bumber of threads that will be invoking
BuildsCleanupExtension.cleanupBuildsData(jetbrains.buildServer.serverSide.cleanup.BuildCleanupContext)
method for build package.
-
-