Interface VersionedSettingsUpdater

  • All Known Implementing Classes:
    VersionedSettingsUpdaterImpl

    public interface VersionedSettingsUpdater
    Updates project settings on disk with changes from VCS
    • Method Detail

      • updateFromVcs

        void updateFromVcs​(@NotNull
                           VersionedSettingsUpdateConfig config,
                           @Nullable
                           Supplier<String> skipReasonSupplier)
        Update TeamCity settings from VCS according to given config
        Parameters:
        config - update configuration
        skipReasonSupplier - if not null this supplier will be called during the update process, if it returns not null String then update will be cancelled and this String will be used as a reason of the cancellation
      • scheduleUpdateFromVcs

        void scheduleUpdateFromVcs​(@NotNull
                                   VersionedSettingsUpdateConfig config,
                                   @Nullable
                                   Supplier<String> skipReasonSupplier)
        Schedules update from VCS with the given config. The method will return immediately and operation will be performed in background.
        Parameters:
        config -
        skipReasonSupplier -
        Since:
        2020.2.1
      • isSettingsUpdateInProgress

        boolean isSettingsUpdateInProgress​(@NotNull
                                           String projectExtId)
        Returns true if project's settings are being updated
        Parameters:
        projectExtId - project's external id
        Returns:
        see above
      • runAsUpdateFromVcs

        void runAsUpdateFromVcs​(@NotNull
                                String projectExtId,
                                @NotNull
                                Runnable action)
        Runs the given action with projectExtId marked as being updated from VCS: isSettingsUpdateInProgress(String) will return true for the specified projectExtId if called inside the action.