Interface PersonalSupportBatchService

    • Method Detail

      • mapPath

        @NotNull
        MappingResult mapPath​(@NotNull
                              Collection<VcsSettings> vcsSettings,
                              @NotNull
                              String pathToMap,
                              boolean returnFirstMatch)
                       throws VcsException
        Parameters:
        vcsSettings - The collection of VcsSettings to run mapping for
        pathToMap - VCS path in a VCS-specific format. For SVN, it is repositoryUUID|relativePathUnderRepositoryRoot For Git, firstMonthRevisionHash-baseMergeRevision||relativePathUnderRepositoryRoot For Perforce, p4ServerPort://depotFilePathStartingWithSlashes
        returnFirstMatch - if true, MappingResult will contain only information about first match and won't check for duplicates and other mapping variants
        Returns:
        Mapping result object, including some diagnostics for a case when mapping cannot be found, or mapping isn't single
        Throws:
        VcsException - in a case of communication problem
        See Also:
        MappingResult
      • canAffect

        List<Boolean> canAffect​(@NotNull
                                List<VcsSettings> vcsSettings,
                                @NotNull
                                List<String> pathsToCheck,
                                boolean considerVcsRootParents)
                         throws VcsException
        Check if passed paths can affect sources under passed VCS Root settings I.e. if a path is under VCS Settings path for a some array element in vcsSettings, the corresponding array element in result collection contains true. If considerVcsRootParents is true, the passed path can also be a parent for paths belonging to VcsSettings.
           // TC 10.0:
           // VcsSettings array contains all the settings of the same type from all build types
           // 1. Used to find suitable configurations for Idea plugin, each 10 seconds with considerVcsRootParents = true and a single path from each developer workstation
           // 2. When starting a personal build, used to fill a personal build dialog with suitable configurations (considerVcsRootParents = false and paths contain all paths from remote run)
           
        Parameters:
        vcsSettings - The collection of VcsSettings to run mapping for
        pathsToCheck - list of VCS paths in VCS-specific format (see mapPath(Collection, String, boolean) for some details)
        considerVcsRootParents - if true, additionally check cases when pathsToCheck is above the path, specified in VCS Settings
        Returns:
        A list of booleans, each value representing whether corresponding element from vcsSettings array is affected by at least one path from pathsToCheck collection
        Throws:
        VcsException