Interface ILibraryUpdater

All Known Implementing Classes:
LibraryUpdater

public interface ILibraryUpdater
The library updater for workspace dt projects. Allows to update a project library or plug a library to a project from scratch.
  • Method Details

    • updateLibrary

      CompletableFuture<LibraryCompareMergeResult> updateLibrary(IDtProject dtProject, LibraryDescriptor libraryDescriptor, MatchingStrategy matchingStrategy, boolean parseBslModuleStructure, String mergeSettingsFileName, Consumer<CompareMergeProcessBatch> mergeRunner, boolean updateExisting) throws LibraryUpdateException
      Updates the project library or plugs the library to the project via running comparison and merge.
      Parameters:
      dtProject - the workspace dt project to update/plug the library for/to, cannot be null
      libraryDescriptor - the library descriptor to update/plug by, cannot be null
      matchingStrategy - the matching strategy for comparison/merge process, cannot be null
      parseBslModuleStructure - tells whether to parse bsl module structure during comparison/merge process
      mergeSettingsFileName - the merge settings file name for comparison/merge process, may be null
      mergeRunner - starts the merge after the comparison is finished, cannot be null
      updateExisting - Update existing library (either up or down to the provided version) or plug a provided library as a new one
      Returns:
      a library update result, never null
      Throws:
      LibraryUpdateException - if failed to update or plug the library
    • updateLibrary

      CompletableFuture<LibraryCompareMergeResult> updateLibrary(IDtProject dtProject, LibraryDescriptor libraryDescriptor, MatchingStrategy matchingStrategy, boolean parseBslModuleStructure, String mergeSettingsFileName, boolean updateExisting) throws LibraryUpdateException
      Updates the project library or plugs the library to the project via running comparison and merge. The merge is being started automatically in case of comparison is performed sucessfully and no conflicts are found
      Parameters:
      dtProject - the workspace dt project to update/plug the library for/to, cannot be null
      libraryDescriptor - the library descriptor to update/plug by, cannot be null
      matchingStrategy - the matching strategy for comparison/merge process, cannot be null
      parseBslModuleStructure - tells whether to parse bsl module structure during comparison/merge process
      mergeSettingsFileName - the merge settings file name for comparison/merge process, may be null
      updateExisting - Update existing library (either up or down to the provided version) or plug a provided library as a new one
      Returns:
      a library update result, never null
      Throws:
      LibraryUpdateException - if failed to update or plug the library
    • updateLibrary

      CompletableFuture<LibraryCompareMergeResult> updateLibrary(IDtProject dtProject, Path libraryPath, MatchingStrategy matchingStrategy, boolean parseBslModuleStructure, String mergeSettingsFileName, Consumer<CompareMergeProcessBatch> mergeRunner, org.eclipse.core.runtime.IProgressMonitor monitor, boolean updateExisting) throws LibraryUpdateException
      Updates the project library or plugs the library to the project via running comparison and merge
      Parameters:
      dtProject - the workspace dt project to update/plug the library for/to, cannot be null
      libraryPath - the library path to update/plug by, cannot be null
      matchingStrategy - the matching strategy for comparison/merge process, cannot be null
      parseBslModuleStructure - tells whether to parse bsl module structure during comparison/merge process
      mergeSettingsFileName - the merge settings file name for comparison/merge process, may be null
      mergeRunner - starts the merge after the comparison is finished, cannot be null
      monitor - the monitor to indicate the progress, may be null
      updateExisting - Update existing library (either up or down to the provided version) or plug a provided library as a new one
      Returns:
      a library update result, never null
      Throws:
      LibraryUpdateException - if failed to update or plug the library