From d295dc362fe7d7b189b4976a5742a17362eb51a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Herv=C3=A9=20Boutemy?= Date: Thu, 25 Mar 2021 23:51:26 +0100 Subject: [PATCH] [MNG-7128] keep blocked attribute from mirrors in artifact repositories --- .../artifact/repository/ArtifactRepository.java | 6 ++++++ .../repository/DefaultArtifactRepository.java | 12 ++++++++++++ .../repository/legacy/LegacyRepositorySystem.java | 5 +++++ .../java/org/apache/maven/RepositoryUtils.java | 1 + .../repository/LegacyLocalRepositoryManager.java | 9 +++++++++ .../repository/MavenArtifactRepository.java | 14 ++++++++++++++ .../apache/maven/bridge/MavenRepositorySystem.java | 5 +++++ 7 files changed, 52 insertions(+) diff --git a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java index 0b33345c73b..47839eadc6a 100644 --- a/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java +++ b/maven-artifact/src/main/java/org/apache/maven/artifact/repository/ArtifactRepository.java @@ -73,6 +73,12 @@ public interface ArtifactRepository @Deprecated void setBlacklisted( boolean blackListed ); + /** @since 3.8.1 **/ + boolean isBlocked(); + + /** @since 3.8.1 **/ + void setBlocked( boolean blocked ); + // // New interface methods for the repository system. // diff --git a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java index 16b82c50700..ef487b8ad34 100644 --- a/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java +++ b/maven-compat/src/main/java/org/apache/maven/artifact/repository/DefaultArtifactRepository.java @@ -54,6 +54,8 @@ public class DefaultArtifactRepository private List mirroredRepositories = Collections.emptyList(); + private boolean blocked; + /** * Create a local repository or a test repository. * @@ -264,4 +266,14 @@ public void setMirroredRepositories( List mirroredRepositori } } + public boolean isBlocked() + { + return blocked; + } + + public void setBlocked( boolean blocked ) + { + this.blocked = blocked; + } + } diff --git a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java index e3e77812080..fd62e6c7131 100644 --- a/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java +++ b/maven-compat/src/main/java/org/apache/maven/repository/legacy/LegacyRepositorySystem.java @@ -446,6 +446,8 @@ public List getEffectiveRepositories( List mirroredRepositori { } + public boolean isBlocked() + { + return false; + } + + public void setBlocked( boolean blocked ) + { + } + } } diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java index c330fda4286..46197a4558e 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/MavenArtifactRepository.java @@ -57,6 +57,8 @@ public class MavenArtifactRepository private List mirroredRepositories = Collections.emptyList(); + private boolean blocked; + public MavenArtifactRepository() { } @@ -160,6 +162,8 @@ public String toString() sb.append( ", update => " ).append( releases.getUpdatePolicy() ).append( "]\n" ); } + sb.append( " blocked: " ).append( isBlocked() ).append( '\n' ); + return sb.toString(); } @@ -414,4 +418,14 @@ public void setMirroredRepositories( List mirroredRepositori } } + public boolean isBlocked() + { + return blocked; + } + + public void setBlocked( boolean blocked ) + { + this.blocked = blocked; + } + } diff --git a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java index 90bfdcdce28..72e8b4fbca9 100644 --- a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java +++ b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java @@ -190,6 +190,7 @@ private Mirror getMirror( RepositorySystemSession session, ArtifactRepository re mirror.setId( repo.getId() ); mirror.setUrl( repo.getUrl() ); mirror.setLayout( repo.getContentType() ); + mirror.setBlocked( repo.isBlocked() ); return mirror; } } @@ -226,6 +227,8 @@ private void injectMirror( ArtifactRepository repository, Mirror mirror ) { repository.setLayout( getLayout( mirror.getLayout() ) ); } + + repository.setBlocked( mirror.isBlocked() ); } } @@ -671,6 +674,8 @@ public List getEffectiveRepositories( List