[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
This commit is contained in:
Vladislav.Yaroshchuk
2023-12-20 00:26:17 +04:00
committed by intellij-monorepo-bot
parent 901d31c156
commit 6de7456694

View File

@@ -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());