mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-171774 Configuration of repository library isn't updated after changing its version
This commit is contained in:
@@ -21,6 +21,7 @@ import com.intellij.notification.Notification;
|
||||
import com.intellij.notification.NotificationType;
|
||||
import com.intellij.notification.Notifications;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
import com.intellij.openapi.application.ModalityState;
|
||||
import com.intellij.openapi.application.Result;
|
||||
import com.intellij.openapi.application.WriteAction;
|
||||
import com.intellij.openapi.components.PathMacroManager;
|
||||
@@ -212,7 +213,7 @@ public class JarRepositoryManager {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
public static void loadDependenciesAsync(Project project,
|
||||
public static void loadDependenciesAsync(@NotNull Project project,
|
||||
RepositoryLibraryProperties libraryProps,
|
||||
boolean loadSources,
|
||||
boolean loadJavadoc,
|
||||
@@ -233,7 +234,7 @@ public class JarRepositoryManager {
|
||||
);
|
||||
}
|
||||
|
||||
public static void loadDependenciesAsync(Project project, JpsMavenRepositoryLibraryDescriptor desc, final Set<ArtifactKind> artifactKinds, @Nullable List<RemoteRepositoryDescription> repos, @Nullable String copyTo, Consumer<Collection<OrderRoot>> resultProcessor) {
|
||||
public static void loadDependenciesAsync(@NotNull Project project, JpsMavenRepositoryLibraryDescriptor desc, final Set<ArtifactKind> artifactKinds, @Nullable List<RemoteRepositoryDescription> repos, @Nullable String copyTo, Consumer<Collection<OrderRoot>> resultProcessor) {
|
||||
if (repos == null || repos.isEmpty()) {
|
||||
repos = RemoteRepositoriesConfiguration.getInstance(project).getRepositories();
|
||||
}
|
||||
@@ -372,10 +373,11 @@ public class JarRepositoryManager {
|
||||
}
|
||||
|
||||
private static <T> Future<T> submitBackgroundJob(@Nullable final Project project, final String title, final Function<ProgressIndicator, T> job){
|
||||
final ModalityState startModality = ModalityState.defaultModalityState();
|
||||
return JobExecutor.INSTANCE.submit(() -> {
|
||||
try {
|
||||
ourTasksInProgress++;
|
||||
final ProgressIndicator indicator = new EmptyProgressIndicator();
|
||||
final ProgressIndicator indicator = new EmptyProgressIndicator(startModality);
|
||||
return ProgressManager.getInstance().runProcess(() -> job.apply(indicator), indicator);
|
||||
}
|
||||
catch (ProcessCanceledException ignored){
|
||||
|
||||
+18
-10
@@ -16,8 +16,10 @@
|
||||
package com.intellij.jarRepository;
|
||||
|
||||
import com.intellij.jarRepository.settings.RepositoryLibraryPropertiesDialog;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.OrderRootType;
|
||||
import com.intellij.openapi.roots.libraries.ui.LibraryEditorComponent;
|
||||
import com.intellij.openapi.roots.libraries.ui.OrderRoot;
|
||||
import com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryEditor;
|
||||
import com.intellij.openapi.roots.ui.configuration.libraryEditor.LibraryPropertiesEditorBase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
@@ -26,6 +28,8 @@ import org.jetbrains.idea.maven.utils.library.RepositoryLibraryProperties;
|
||||
import org.jetbrains.idea.maven.utils.library.RepositoryUtils;
|
||||
import org.jetbrains.idea.maven.utils.library.propertiesEditor.RepositoryLibraryPropertiesModel;
|
||||
|
||||
import java.util.Collection;
|
||||
|
||||
public class RepositoryLibraryWithDescriptionEditor
|
||||
extends LibraryPropertiesEditorBase<RepositoryLibraryProperties, RepositoryLibraryType> {
|
||||
|
||||
@@ -47,8 +51,12 @@ public class RepositoryLibraryWithDescriptionEditor
|
||||
properties.getVersion(),
|
||||
RepositoryUtils.libraryHasSources(myEditorComponent.getLibraryEditor()),
|
||||
RepositoryUtils.libraryHasJavaDocs(myEditorComponent.getLibraryEditor()));
|
||||
|
||||
final Project project = myEditorComponent.getProject();
|
||||
assert project != null : "EditorComponent's project must not be null in order to be used with RepositoryLibraryWithDescriptionEditor";
|
||||
|
||||
RepositoryLibraryPropertiesDialog dialog = new RepositoryLibraryPropertiesDialog(
|
||||
myEditorComponent.getProject(),
|
||||
project,
|
||||
model,
|
||||
RepositoryLibraryDescription.findDescription(properties),
|
||||
true);
|
||||
@@ -60,15 +68,15 @@ public class RepositoryLibraryWithDescriptionEditor
|
||||
myEditorComponent.renameLibrary(RepositoryLibraryType.getInstance().getDescription(properties));
|
||||
}
|
||||
final LibraryEditor libraryEditor = myEditorComponent.getLibraryEditor();
|
||||
final String copyTo = RepositoryUtils.getStorageRoot(myEditorComponent.getLibraryEditor().getUrls(OrderRootType.CLASSES), myEditorComponent.getProject());
|
||||
JarRepositoryManager.loadDependenciesAsync(
|
||||
myEditorComponent.getProject(), properties, model.isDownloadSources(), model.isDownloadJavaDocs(), null, copyTo,
|
||||
roots -> {
|
||||
libraryEditor.removeAllRoots();
|
||||
if (roots != null) {
|
||||
libraryEditor.addRoots(roots);
|
||||
}
|
||||
}
|
||||
final String copyTo = RepositoryUtils.getStorageRoot(myEditorComponent.getLibraryEditor().getUrls(OrderRootType.CLASSES), project);
|
||||
final Collection<OrderRoot> roots = JarRepositoryManager.loadDependenciesModal(
|
||||
project, properties, model.isDownloadSources(), model.isDownloadJavaDocs(), copyTo, null
|
||||
);
|
||||
libraryEditor.removeAllRoots();
|
||||
if (roots != null) {
|
||||
libraryEditor.addRoots(roots);
|
||||
}
|
||||
myEditorComponent.updateRootsTree();
|
||||
updateDescription();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user