mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-105837 Intellij Idea caches maven snapshot dependencies forever
This commit is contained in:
+2
-1
@@ -29,7 +29,8 @@ public interface MavenServerEmbedder extends Remote {
|
||||
void customize(@Nullable MavenWorkspaceMap workspaceMap,
|
||||
boolean failOnUnresolvedDependency,
|
||||
@NotNull MavenServerConsole console,
|
||||
@NotNull MavenServerProgressIndicator indicator) throws RemoteException;
|
||||
@NotNull MavenServerProgressIndicator indicator,
|
||||
boolean alwaysUpdateSnapshots) throws RemoteException;
|
||||
|
||||
@NotNull
|
||||
MavenServerExecutionResult resolveProject(@NotNull File file,
|
||||
|
||||
+2
-1
@@ -586,7 +586,8 @@ public class Maven2ServerEmbedderImpl extends MavenRemoteObject implements Maven
|
||||
public void customize(@Nullable MavenWorkspaceMap workspaceMap,
|
||||
boolean failOnUnresolvedDependency,
|
||||
@NotNull MavenServerConsole console,
|
||||
@NotNull MavenServerProgressIndicator indicator) {
|
||||
@NotNull MavenServerProgressIndicator indicator,
|
||||
boolean alwaysUpdateSnapshots) {
|
||||
try {
|
||||
((CustomArtifactFactory)getComponent(ArtifactFactory.class)).customize();
|
||||
((CustomArtifactFactory)getComponent(ProjectArtifactFactory.class)).customize();
|
||||
|
||||
+8
-1
@@ -111,6 +111,8 @@ public class Maven3ServerEmbedderImpl extends MavenRemoteObject implements Maven
|
||||
|
||||
private Date myBuildStartTime;
|
||||
|
||||
private boolean myAlwaysUpdateSnapshots;
|
||||
|
||||
public Maven3ServerEmbedderImpl(MavenServerSettings settings) throws RemoteException {
|
||||
File mavenHome = settings.getMavenHome();
|
||||
if (mavenHome != null) {
|
||||
@@ -269,7 +271,8 @@ public class Maven3ServerEmbedderImpl extends MavenRemoteObject implements Maven
|
||||
public void customize(@Nullable MavenWorkspaceMap workspaceMap,
|
||||
boolean failOnUnresolvedDependency,
|
||||
@NotNull MavenServerConsole console,
|
||||
@NotNull MavenServerProgressIndicator indicator) throws RemoteException {
|
||||
@NotNull MavenServerProgressIndicator indicator,
|
||||
boolean alwaysUpdateSnapshots) throws RemoteException {
|
||||
|
||||
try {
|
||||
((CustomMaven3ArtifactFactory)getComponent(ArtifactFactory.class)).customize();
|
||||
@@ -281,6 +284,8 @@ public class Maven3ServerEmbedderImpl extends MavenRemoteObject implements Maven
|
||||
|
||||
myBuildStartTime = new Date();
|
||||
|
||||
myAlwaysUpdateSnapshots = alwaysUpdateSnapshots;
|
||||
|
||||
setConsoleAndIndicator(console, new MavenServerProgressIndicatorWrapper(indicator));
|
||||
}
|
||||
catch (Exception e) {
|
||||
@@ -349,6 +354,8 @@ public class Maven3ServerEmbedderImpl extends MavenRemoteObject implements Maven
|
||||
final MavenExecutionRequest request =
|
||||
createRequest(file, activeProfiles, Collections.<String>emptyList(), Collections.<String>emptyList());
|
||||
|
||||
request.setUpdateSnapshots(myAlwaysUpdateSnapshots);
|
||||
|
||||
final AtomicReference<MavenExecutionResult> ref = new AtomicReference<MavenExecutionResult>();
|
||||
|
||||
executeWithMavenSession(request, new Runnable() {
|
||||
|
||||
@@ -1206,7 +1206,7 @@ public class MavenProjectsTree {
|
||||
@NotNull ResolveContext context,
|
||||
@NotNull MavenProgressIndicator process) throws MavenProcessCanceledException {
|
||||
MavenEmbedderWrapper embedder = embeddersManager.getEmbedder(MavenEmbeddersManager.FOR_DEPENDENCIES_RESOLVE);
|
||||
embedder.customizeForResolve(getWorkspaceMap(), console, process);
|
||||
embedder.customizeForResolve(getWorkspaceMap(), console, process, generalSettings.isAlwaysUpdateSnapshots());
|
||||
|
||||
try {
|
||||
process.checkCanceled();
|
||||
@@ -1321,7 +1321,7 @@ public class MavenProjectsTree {
|
||||
@NotNull MavenProgressIndicator process,
|
||||
@NotNull EmbedderTask task) throws MavenProcessCanceledException {
|
||||
MavenEmbedderWrapper embedder = embeddersManager.getEmbedder(embedderKind);
|
||||
embedder.customizeForResolve(getWorkspaceMap(), console, process);
|
||||
embedder.customizeForResolve(getWorkspaceMap(), console, process, false);
|
||||
embedder.clearCachesFor(mavenProject.getMavenId());
|
||||
try {
|
||||
task.run(embedder);
|
||||
|
||||
+14
-8
@@ -49,7 +49,7 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
}
|
||||
|
||||
public void customizeForResolve(MavenConsole console, MavenProgressIndicator indicator) {
|
||||
setCustomization(console, indicator, null, false);
|
||||
setCustomization(console, indicator, null, false, false);
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
@@ -59,8 +59,8 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
});
|
||||
}
|
||||
|
||||
public void customizeForResolve(MavenWorkspaceMap workspaceMap, MavenConsole console, MavenProgressIndicator indicator) {
|
||||
setCustomization(console, indicator, workspaceMap, false);
|
||||
public void customizeForResolve(MavenWorkspaceMap workspaceMap, MavenConsole console, MavenProgressIndicator indicator, boolean alwaysUpdateSnapshot) {
|
||||
setCustomization(console, indicator, workspaceMap, false, alwaysUpdateSnapshot);
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
@@ -73,7 +73,7 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
public void customizeForStrictResolve(MavenWorkspaceMap workspaceMap,
|
||||
MavenConsole console,
|
||||
MavenProgressIndicator indicator) {
|
||||
setCustomization(console, indicator, workspaceMap, true);
|
||||
setCustomization(console, indicator, workspaceMap, true, false);
|
||||
perform(new Retriable<Object>() {
|
||||
@Override
|
||||
public Object execute() throws RemoteException {
|
||||
@@ -87,7 +87,8 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
getOrCreateWrappee().customize(myCustomization.workspaceMap,
|
||||
myCustomization.failOnUnresolvedDependency,
|
||||
myCustomization.console,
|
||||
myCustomization.indicator);
|
||||
myCustomization.indicator,
|
||||
myCustomization.alwaysUpdateSnapshot);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@@ -243,12 +244,14 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
private synchronized void setCustomization(MavenConsole console,
|
||||
MavenProgressIndicator indicator,
|
||||
MavenWorkspaceMap workspaceMap,
|
||||
boolean failOnUnresolvedDependency) {
|
||||
boolean failOnUnresolvedDependency,
|
||||
boolean alwaysUpdateSnapshot) {
|
||||
resetCustomization();
|
||||
myCustomization = new Customization(MavenServerManager.wrapAndExport(console),
|
||||
MavenServerManager.wrapAndExport(indicator),
|
||||
workspaceMap,
|
||||
failOnUnresolvedDependency);
|
||||
failOnUnresolvedDependency,
|
||||
alwaysUpdateSnapshot);
|
||||
}
|
||||
|
||||
private synchronized void resetCustomization() {
|
||||
@@ -276,15 +279,18 @@ public abstract class MavenEmbedderWrapper extends RemoteObjectWrapper<MavenServ
|
||||
|
||||
private final MavenWorkspaceMap workspaceMap;
|
||||
private final boolean failOnUnresolvedDependency;
|
||||
private final boolean alwaysUpdateSnapshot;
|
||||
|
||||
private Customization(MavenServerConsole console,
|
||||
MavenServerProgressIndicator indicator,
|
||||
MavenWorkspaceMap workspaceMap,
|
||||
boolean failOnUnresolvedDependency) {
|
||||
boolean failOnUnresolvedDependency,
|
||||
boolean alwaysUpdateSnapshot) {
|
||||
this.console = console;
|
||||
this.indicator = indicator;
|
||||
this.workspaceMap = workspaceMap;
|
||||
this.failOnUnresolvedDependency = failOnUnresolvedDependency;
|
||||
this.alwaysUpdateSnapshot = alwaysUpdateSnapshot;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user