maven resolver: enable repositories cache

Enable remote repositories reuse to establish connection to remote servers only once
which greatly increases artifact resolving speed

The change affects only the current instance of ArtifactRepositoryManager
which is created once per resolve session

GitOrigin-RevId: e9adf1deeb00d0938834905512559842ef754925
This commit is contained in:
Leonid Shalupov
2023-08-15 17:38:52 +02:00
committed by intellij-monorepo-bot
parent ec0d8bcd7c
commit 7952af6975

View File

@@ -4,10 +4,7 @@ package org.jetbrains.idea.maven.aether;
import com.intellij.openapi.application.ClassPathUtil;
import com.intellij.util.ArrayUtil;
import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
import org.eclipse.aether.DefaultRepositorySystemSession;
import org.eclipse.aether.DefaultSessionData;
import org.eclipse.aether.RepositorySystem;
import org.eclipse.aether.RepositorySystemSession;
import org.eclipse.aether.*;
import org.eclipse.aether.artifact.Artifact;
import org.eclipse.aether.artifact.DefaultArtifact;
import org.eclipse.aether.collection.CollectRequest;
@@ -169,6 +166,8 @@ public final class ArtifactRepositoryManager {
var metadataCachePolicy = ResolutionErrorPolicy.CACHE_NOT_FOUND;
session.setResolutionErrorPolicy(new SimpleResolutionErrorPolicy(artifactCachePolicy, metadataCachePolicy));
session.setCache(new DefaultRepositoryCache());
session.setReadOnly();
sessionTemplate = session;
myRetry = retry;