You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2021/03/25 22:51:38 UTC

[maven] 01/01: [MNG-7128] keep blocked attribute from mirrors in artifact repositories

This is an automated email from the ASF dual-hosted git repository.

hboutemy pushed a commit to branch MNG-7128
in repository https://gitbox.apache.org/repos/asf/maven.git

commit d295dc362fe7d7b189b4976a5742a17362eb51a1
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Thu Mar 25 23:51:26 2021 +0100

    [MNG-7128] keep blocked attribute from mirrors in artifact repositories
---
 .../maven/artifact/repository/ArtifactRepository.java      |  6 ++++++
 .../artifact/repository/DefaultArtifactRepository.java     | 12 ++++++++++++
 .../maven/repository/legacy/LegacyRepositorySystem.java    |  5 +++++
 .../src/main/java/org/apache/maven/RepositoryUtils.java    |  1 +
 .../artifact/repository/LegacyLocalRepositoryManager.java  |  9 +++++++++
 .../maven/artifact/repository/MavenArtifactRepository.java | 14 ++++++++++++++
 .../org/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 0b33345..47839ea 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 16b82c5..ef487b8 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<ArtifactRepository> mirroredRepositories = Collections.emptyList();
 
+    private boolean blocked;
+
     /**
      * Create a local repository or a test repository.
      *
@@ -264,4 +266,14 @@ public class DefaultArtifactRepository
         }
     }
 
+    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 e3e7781..fd62e6c 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 class LegacyRepositorySystem
 
             effectiveRepository.setMirroredRepositories( mirroredRepos );
 
+            effectiveRepository.setBlocked( aliasedRepo.isBlocked() );
+
             effectiveRepositories.add( effectiveRepository );
         }
 
@@ -502,6 +504,7 @@ public class LegacyRepositorySystem
                     mirror.setId( repo.getId() );
                     mirror.setUrl( repo.getUrl() );
                     mirror.setLayout( repo.getContentType() );
+                    mirror.setBlocked( repo.isBlocked() );
                     return mirror;
                 }
             }
@@ -538,6 +541,8 @@ public class LegacyRepositorySystem
             {
                 repository.setLayout( getLayout( mirror.getLayout() ) );
             }
+
+            repository.setBlocked( mirror.isBlocked() );
         }
     }
 
diff --git a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
index c1e21c4..80e5874 100644
--- a/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
+++ b/maven-core/src/main/java/org/apache/maven/RepositoryUtils.java
@@ -210,6 +210,7 @@ public class RepositoryUtils
             builder.setAuthentication( toAuthentication( repo.getAuthentication() ) );
             builder.setProxy( toProxy( repo.getProxy() ) );
             builder.setMirroredRepositories( toRepos( repo.getMirroredRepositories() ) );
+            builder.setBlocked( repo.isBlocked() );
             result = builder.build();
         }
         return result;
diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
index 634b63c..acd7d5f 100644
--- a/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
+++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/LegacyLocalRepositoryManager.java
@@ -427,6 +427,15 @@ public class LegacyLocalRepositoryManager
         {
         }
 
+        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 c330fda..46197a4 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<ArtifactRepository> mirroredRepositories = Collections.emptyList();
 
+    private boolean blocked;
+
     public MavenArtifactRepository()
     {
     }
@@ -160,6 +162,8 @@ public class MavenArtifactRepository
             sb.append( ", update => " ).append( releases.getUpdatePolicy() ).append( "]\n" );
         }
 
+        sb.append( "   blocked: " ).append( isBlocked() ).append( '\n' );
+
         return sb.toString();
     }
 
@@ -414,4 +418,14 @@ public class MavenArtifactRepository
         }
     }
 
+    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 90bfdcd..72e8b4f 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 @@ public class MavenRepositorySystem
                     mirror.setId( repo.getId() );
                     mirror.setUrl( repo.getUrl() );
                     mirror.setLayout( repo.getContentType() );
+                    mirror.setBlocked( repo.isBlocked() );
                     return mirror;
                 }
             }
@@ -226,6 +227,8 @@ public class MavenRepositorySystem
             {
                 repository.setLayout( getLayout( mirror.getLayout() ) );
             }
+
+            repository.setBlocked( mirror.isBlocked() );
         }
     }
 
@@ -671,6 +674,8 @@ public class MavenRepositorySystem
 
             effectiveRepository.setMirroredRepositories( mirroredRepos );
 
+            effectiveRepository.setBlocked( aliasedRepo.isBlocked() );
+
             effectiveRepositories.add( effectiveRepository );
         }