From 6de7456694f7830395015fd2a79d864b2d2d37f0 Mon Sep 17 00:00:00 2001 From: "Vladislav.Yaroshchuk" Date: Wed, 20 Dec 2023 00:26:17 +0400 Subject: [PATCH] [aether-dependency-resolver] IJI-1457 Explicitly set UPDATE_ALWAYS remove Maven repository policy The default setting is UPDATE_POLICY_DAILY, and 5xx resolution errors are cached in local repository for one day and retry does not work. GitOrigin-RevId: 1dc82442cf8d27384a127e1bba32bfb541cb07ca --- .../idea/maven/aether/ArtifactRepositoryManager.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java index 19563ecb585a..0d71b84fd1de 100644 --- a/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java +++ b/aether-dependency-resolver/src/org/jetbrains/idea/maven/aether/ArtifactRepositoryManager.java @@ -552,9 +552,14 @@ public final class ArtifactRepositoryManager { public static RemoteRepository createRemoteRepository(String id, String url, ArtifactAuthenticationData authenticationData, boolean allowSnapshots) { // for maven repos repository type should be 'default' RemoteRepository.Builder builder = new RemoteRepository.Builder(id, "default", url); - if (!allowSnapshots) { - builder.setSnapshotPolicy(new RepositoryPolicy(false, null, null)); - } + + // explicitly set UPDATE_POLICY_ALWAYS, because default setting is UPDATE_POLICY_DAILY, and 5xx resolution errors are cached + // in local repository for one day and retry does not work + RepositoryPolicy enabledRepositoryPolicy = new RepositoryPolicy(true, RepositoryPolicy.UPDATE_POLICY_ALWAYS, null); + RepositoryPolicy disabledRepositoryPolicy = new RepositoryPolicy(false, null, null); + builder.setReleasePolicy(enabledRepositoryPolicy); + builder.setSnapshotPolicy(allowSnapshots ? enabledRepositoryPolicy : disabledRepositoryPolicy); + if (authenticationData != null) { AuthenticationBuilder authenticationBuilder = new AuthenticationBuilder(); authenticationBuilder.addUsername(authenticationData.getUsername());