Interface TaskManager

  • All Known Implementing Classes:
    TaskManagerImpl

    @PublicApi
    public interface TaskManager
    Since:
    3.1
    • Method Detail

      • getAvailableTaskDescriptors

        @NotNull
        @NotNull List<TaskModuleDescriptor> getAvailableTaskDescriptors()
        Returns:
        Provides a list of available tasks types. Returns both Build Tasks and DeploymentTasks
      • getAvailableBuildTaskDescriptors

        @NotNull
        @NotNull List<TaskModuleDescriptor> getAvailableBuildTaskDescriptors()
        Returns:
        Provides a list of available build task types.
        Since:
        5.0
      • getAvailableDeploymentTaskDescriptors

        @NotNull
        @NotNull List<TaskModuleDescriptor> getAvailableDeploymentTaskDescriptors()
        Returns:
        Provides a list of available deployment task types.
        Since:
        5.0
      • getTaskDescriptor

        @Nullable
        @Nullable TaskModuleDescriptor getTaskDescriptor​(@Nullable
                                                         @Nullable String pluginKey)
        Get the task type descriptor matching a particular plugin key.
        Parameters:
        pluginKey - - key to match
        Returns:
        TaskModuleDescriptor matching the given key if it exists. Null if the plugin can not be found.
      • calculateRequirementsForTaskDefinition

        void calculateRequirementsForTaskDefinition​(@NotNull
                                                    @NotNull RequirementSet requirementSet,
                                                    @NotNull
                                                    @NotNull TaskDefinition taskDefinition,
                                                    Supplier<Set<Requirement>> requirementSupplier,
                                                    boolean dockerPipelinesEnabled)
        Attempts to add Requirements to the specified RequirementSet. How to get the requirements from the task Definition is determined by the supplier. If requirements are already present for the specified TaskDefinition they will be removed and recalculated. If docker pipelines is enabled than requirements from requirementSupplier won't be added to RequirementSet, instead of this docker requirement will be added.
        Parameters:
        requirementSet - to add requirements update requirements in
        taskDefinition - to calculate requirements from
        dockerPipelinesEnabled - flag for docker pipelines
      • removeRequirementsForTaskDefinition

        void removeRequirementsForTaskDefinition​(@NotNull
                                                 @NotNull Buildable buildable,
                                                 @NotNull
                                                 @NotNull TaskDefinition taskDefinition)
        Removes all the Requirements that belong to the TaskDefinition
        Parameters:
        buildable - to remove requirements from
        taskDefinition - that was removed
      • removeRequirementsForTaskDefinition

        void removeRequirementsForTaskDefinition​(@NotNull
                                                 @NotNull RequirementSet requirementSet,
                                                 @NotNull
                                                 @NotNull TaskDefinition taskDefinition)
        Removes all the Requirements that belong to the TaskDefinition
        Parameters:
        requirementSet - to remove requirements from
        taskDefinition - that was removed
      • taskProducesTestResults

        boolean taskProducesTestResults​(@NotNull
                                        @NotNull TaskDefinition taskDefinition)
        Return true iff task defined in TaskDefinition is configured to produce test results.
        Parameters:
        taskDefinition -
        Returns:
        producesTestResults
      • getExecutableLabelTypeMap

        @Deprecated
        @NotNull
        @NotNull Map<String,​String> getExecutableLabelTypeMap()
        Deprecated.
        since 8.0 labels are not unique across different executable types. Use {getExecutableLabelTypesMap()} instead.
        Returns 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.

        Returns:
        executableTypeLabelMaps
      • getExecutableLabelTypesMap

        @NotNull
        @NotNull com.google.common.collect.Multimap<String,​String> getExecutableLabelTypesMap()
        Returns 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.

        Returns:
        executableTypeLabelMultiMaps
      • updateRepositoryIdsInTask

        void updateRepositoryIdsInTask​(@NotNull
                                       @NotNull TaskDefinition taskDefinition,
                                       @NotNull
                                       @NotNull Map<Long,​Long> repositoryIdChanges)
        Updates task configurations affected by repository edition.
        Parameters:
        taskDefinition -
        repositoryIdChanges - mapping between old and new repositories ids
        Since:
        4.3
      • updateWorkingDirSelectors

        void updateWorkingDirSelectors​(@NotNull
                                       @NotNull ImmutableBuildable job,
                                       @NotNull
                                       @NotNull BuildDefinition buildDefinition,
                                       @NotNull
                                       @NotNull Map<Long,​Long> repositoryIdsChanges)
        Calculates id of the repository that defines working directory after repository or task edition.
        Parameters:
        job - affected job
        buildDefinition -
        repositoryIdsChanges - mapping between old and new repositories ids
      • getCapabilitiesWithExecutables

        Set<String> getCapabilitiesWithExecutables​(@NotNull
                                                   @NotNull Set<String> executableType)
        Returns a set of capabilities that have executable types defined for them in the system.
      • recalculateRequirementsForJob

        void recalculateRequirementsForJob​(Job job,
                                           boolean dockerPipelinesEnabled)
        Recalculates requirements for job with given docker pipelines flag.
        Parameters:
        job -
        dockerPipelinesEnabled -
        Since:
        6.4