Package com.atlassian.bamboo.task
Class TaskManagerImpl
java.lang.Object
com.atlassian.bamboo.task.TaskManagerImpl
- All Implemented Interfaces:
TaskManager
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionTaskManagerImpl(com.atlassian.plugin.PluginAccessor pluginAccessor, CapabilitySetManager capabilitySetManager, ElasticAccountBean elasticAccountBean, VcsRepositoryManager vcsRepositoryManager) -
Method Summary
Modifier and TypeMethodDescriptionvoidcalculateRequirementsForTaskDefinition(@NotNull Job job, @NotNull TaskDefinition taskDefinition) Attempts to addRequirements to the specifiedBuildableif theTaskConfiguratoris an implementor ofBuildTaskRequirementSupportIf requirements are already present for the specifiedTaskDefinitionthey will be removed and recalculatedvoidcalculateRequirementsForTaskDefinition(@NotNull Job job, @NotNull TaskDefinition taskDefinition, boolean dockerPipelinesEnabled) Attempts to addRequirements to the specifiedBuildableif theTaskConfiguratoris an implementor ofBuildTaskRequirementSupportIf requirements are already present for the specifiedTaskDefinitionthey will be removed and recalculatedvoidcalculateRequirementsForTaskDefinition(@NotNull RequirementSet requirementSet, @NotNull TaskDefinition taskDefinition, Supplier<Set<Requirement>> requirementSupplier, boolean dockerPipelinesEnabled) Attempts to addRequirements to the specifiedRequirementSet.@NotNull List<TaskModuleDescriptor>@NotNull List<TaskModuleDescriptor>@NotNull List<TaskModuleDescriptor>getCapabilitiesWithExecutables(@NotNull Set<String> interestingExecutableTypes) Returns a set of capabilities that have executable types defined for them in the system.Returns a map of currently available "configured" executables - uniquely identified by a label.Returns a map of currently available "configured" executables - identified by a label.@Nullable TaskModuleDescriptorgetTaskDescriptor(@Nullable String pluginKey) Get the task type descriptor matching a particular plugin key.@NotNull Collection<Requirement>getTasksRequirements(@NotNull Job job) ReturnRequirements for all tasks ofBuildableif theTaskConfiguratoris an implementor ofBuildTaskRequirementSupportvoidrecalculateRequirementsForJob(Job job, boolean dockerPipelinesEnabled) Recalculates requirements for job with given docker pipelines flag.voidremoveRequirementsForTaskDefinition(@NotNull Buildable buildable, @NotNull TaskDefinition taskDefinition) Removes all theRequirements that belong to theTaskDefinitionvoidremoveRequirementsForTaskDefinition(@NotNull RequirementSet requirementSet, @NotNull TaskDefinition taskDefinition) Removes all theRequirements that belong to theTaskDefinitionbooleantaskProducesTestResults(@NotNull TaskDefinition taskDefinition) Return true iff task defined inTaskDefinitionis configured to produce test results.voidupdateRepositoryIdsInTask(@NotNull TaskDefinition taskDefinition, @NotNull Map<Long, Long> repositoryIdChanges) Updates task configurations affected by repository edition.voidupdateWorkingDirSelectors(@NotNull ImmutableBuildable job, @NotNull BuildDefinition buildDefinition, @NotNull Map<Long, Long> repositoryIdsChanges) Calculates id of the repository that defines working directory after repository or task edition.
-
Field Details
-
DOCKERBOX_REQUIREMENT
Referential DockerBox requirement
-
-
Constructor Details
-
TaskManagerImpl
public TaskManagerImpl(com.atlassian.plugin.PluginAccessor pluginAccessor, CapabilitySetManager capabilitySetManager, ElasticAccountBean elasticAccountBean, VcsRepositoryManager vcsRepositoryManager)
-
-
Method Details
-
getTaskDescriptor
@Nullable public @Nullable TaskModuleDescriptor getTaskDescriptor(@Nullable @Nullable String pluginKey) Description copied from interface:TaskManagerGet the task type descriptor matching a particular plugin key.- Specified by:
getTaskDescriptorin interfaceTaskManager- Parameters:
pluginKey- - key to match- Returns:
- TaskModuleDescriptor matching the given key if it exists. Null if the plugin can not be found.
-
getAvailableTaskDescriptors
- Specified by:
getAvailableTaskDescriptorsin interfaceTaskManager- Returns:
- Provides a list of available tasks types. Returns both Build Tasks and DeploymentTasks
-
getAvailableBuildTaskDescriptors
- Specified by:
getAvailableBuildTaskDescriptorsin interfaceTaskManager- Returns:
- Provides a list of available build task types.
-
getAvailableDeploymentTaskDescriptors
- Specified by:
getAvailableDeploymentTaskDescriptorsin interfaceTaskManager- Returns:
- Provides a list of available deployment task types.
-
calculateRequirementsForTaskDefinition
public void calculateRequirementsForTaskDefinition(@NotNull @NotNull Job job, @NotNull @NotNull TaskDefinition taskDefinition, boolean dockerPipelinesEnabled) Description copied from interface:TaskManagerAttempts to addRequirements to the specifiedBuildableif theTaskConfiguratoris an implementor ofBuildTaskRequirementSupportIf requirements are already present for the specifiedTaskDefinitionthey will be removed and recalculated- Specified by:
calculateRequirementsForTaskDefinitionin interfaceTaskManager
-
calculateRequirementsForTaskDefinition
public void calculateRequirementsForTaskDefinition(@NotNull @NotNull Job job, @NotNull @NotNull TaskDefinition taskDefinition) Description copied from interface:TaskManagerAttempts to addRequirements to the specifiedBuildableif theTaskConfiguratoris an implementor ofBuildTaskRequirementSupportIf requirements are already present for the specifiedTaskDefinitionthey will be removed and recalculated- Specified by:
calculateRequirementsForTaskDefinitionin interfaceTaskManager
-
calculateRequirementsForTaskDefinition
public void calculateRequirementsForTaskDefinition(@NotNull @NotNull RequirementSet requirementSet, @NotNull @NotNull TaskDefinition taskDefinition, Supplier<Set<Requirement>> requirementSupplier, boolean dockerPipelinesEnabled) Description copied from interface:TaskManagerAttempts to addRequirements to the specifiedRequirementSet. How to get the requirements from the task Definition is determined by the supplier. If requirements are already present for the specifiedTaskDefinitionthey will be removed and recalculated. If docker pipelines is enabled than requirements from requirementSupplier won't be added toRequirementSet, instead of this docker requirement will be added.- Specified by:
calculateRequirementsForTaskDefinitionin interfaceTaskManager- Parameters:
requirementSet- to add requirements update requirements intaskDefinition- to calculate requirements fromdockerPipelinesEnabled- flag for docker pipelines
-
removeRequirementsForTaskDefinition
public void removeRequirementsForTaskDefinition(@NotNull @NotNull Buildable buildable, @NotNull @NotNull TaskDefinition taskDefinition) Description copied from interface:TaskManagerRemoves all theRequirements that belong to theTaskDefinition- Specified by:
removeRequirementsForTaskDefinitionin interfaceTaskManager- Parameters:
buildable- to remove requirements fromtaskDefinition- that was removed
-
removeRequirementsForTaskDefinition
public void removeRequirementsForTaskDefinition(@NotNull @NotNull RequirementSet requirementSet, @NotNull @NotNull TaskDefinition taskDefinition) Description copied from interface:TaskManagerRemoves all theRequirements that belong to theTaskDefinition- Specified by:
removeRequirementsForTaskDefinitionin interfaceTaskManager- Parameters:
requirementSet- to remove requirements fromtaskDefinition- that was removed
-
updateRepositoryIdsInTask
public void updateRepositoryIdsInTask(@NotNull @NotNull TaskDefinition taskDefinition, @NotNull @NotNull Map<Long, Long> repositoryIdChanges) Description copied from interface:TaskManagerUpdates task configurations affected by repository edition.- Specified by:
updateRepositoryIdsInTaskin interfaceTaskManagerrepositoryIdChanges- mapping between old and new repositories ids
-
updateWorkingDirSelectors
public void updateWorkingDirSelectors(@NotNull @NotNull ImmutableBuildable job, @NotNull @NotNull BuildDefinition buildDefinition, @NotNull @NotNull Map<Long, Long> repositoryIdsChanges) Description copied from interface:TaskManagerCalculates id of the repository that defines working directory after repository or task edition.- Specified by:
updateWorkingDirSelectorsin interfaceTaskManager- Parameters:
job- affected jobrepositoryIdsChanges- mapping between old and new repositories ids
-
getTasksRequirements
Description copied from interface:TaskManagerReturnRequirements for all tasks ofBuildableif theTaskConfiguratoris an implementor ofBuildTaskRequirementSupport- Specified by:
getTasksRequirementsin interfaceTaskManager- Returns:
- requirements
-
taskProducesTestResults
Description copied from interface:TaskManagerReturn true iff task defined inTaskDefinitionis configured to produce test results.- Specified by:
taskProducesTestResultsin interfaceTaskManager- Returns:
- producesTestResults
-
getExecutableLabelTypeMap
Description copied from interface:TaskManagerReturns a map of currently available "configured" executables - uniquely identified by a label.Maps label -> taskExecutableType.getExecutableKey().
The executables are backed by available capabilities system wide, filtered by executables which are actually activated in the plugin system.
- Specified by:
getExecutableLabelTypeMapin interfaceTaskManager- Returns:
- executableTypeLabelMaps
-
getExecutableLabelTypesMap
Description copied from interface:TaskManagerReturns a map of currently available "configured" executables - identified by a label.Maps label -> collection of taskExecutableType.getExecutableKey().
The executables are backed by available capabilities system wide, filtered by executables which are actually activated in the plugin system.
- Specified by:
getExecutableLabelTypesMapin interfaceTaskManager- Returns:
- executableTypeLabelMultiMaps
-
getCapabilitiesWithExecutables
public Set<String> getCapabilitiesWithExecutables(@NotNull @NotNull Set<String> interestingExecutableTypes) Description copied from interface:TaskManagerReturns a set of capabilities that have executable types defined for them in the system.- Specified by:
getCapabilitiesWithExecutablesin interfaceTaskManager
-
recalculateRequirementsForJob
Description copied from interface:TaskManagerRecalculates requirements for job with given docker pipelines flag.- Specified by:
recalculateRequirementsForJobin interfaceTaskManager
-