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

khmarbaise pushed a commit to branch MENFORCER-268-ci-friendly
in repository https://gitbox.apache.org/repos/asf/maven-enforcer.git

commit dc9bc3557d9b685512166716b034ae75780bd730
Author: Karl Heinz Marbaise <[email protected]>
AuthorDate: Sat Jan 6 01:01:38 2018 +0100

    Another step better.
---
 .../plugins/enforcer/RequireNoRepositories.java    | 10 +++---
 .../enforcer/TestRequireNoRepositories.java        | 40 +++++++++++++++++++++-
 2 files changed, 45 insertions(+), 5 deletions(-)

diff --git 
a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
 
b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
index 9d7cbfc..6419b73 100644
--- 
a/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
+++ 
b/enforcer-rules/src/main/java/org/apache/maven/plugins/enforcer/RequireNoRepositories.java
@@ -41,6 +41,8 @@ import org.codehaus.plexus.util.StringUtils;
 public class RequireNoRepositories
     extends AbstractNonCacheableEnforcerRule
 {
+    private static final String VERSION = " version:";
+
     /**
      * Whether to ban non-plugin repositories. By default they are banned.
      * 
@@ -132,13 +134,13 @@ public class RequireNoRepositories
             for ( MavenProject mavenProject : sortedProjects )
             {
                 logger.debug( "Scanning project: " + mavenProject.getGroupId() 
+ ":" + mavenProject.getArtifactId()
-                    + " version:" + mavenProject.getVersion() );
+                    + VERSION + mavenProject.getVersion() );
                 models.add( mavenProject.getOriginalModel() );
             }
             
             List<Model> badModels = new ArrayList<Model>();
 
-            StringBuffer newMsg = new StringBuffer();
+            StringBuilder newMsg = new StringBuilder();
             newMsg.append( "Some poms have repositories defined:\n" );
 
             for ( Model model : models )
@@ -154,7 +156,7 @@ public class RequireNoRepositories
                         {
                             badModels.add( model );
                             newMsg.append(
-                                model.getGroupId() + ":" + 
model.getArtifactId() + " version:" + model.getVersion()
+                                model.getGroupId() + ":" + 
model.getArtifactId() + VERSION + model.getVersion()
                                     + " has repositories " + bannedRepos );
                         }
                     }
@@ -170,7 +172,7 @@ public class RequireNoRepositories
                         {
                             badModels.add( model );
                             newMsg.append(
-                                model.getGroupId() + ":" + 
model.getArtifactId() + " version:" + model.getVersion()
+                                model.getGroupId() + ":" + 
model.getArtifactId() + VERSION + model.getVersion()
                                     + " has plugin repositories " + 
bannedRepos );
                         }
                     }
diff --git 
a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
 
b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
index cd92ae2..0da2d64 100644
--- 
a/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
+++ 
b/enforcer-rules/src/test/java/org/apache/maven/plugins/enforcer/TestRequireNoRepositories.java
@@ -121,7 +121,7 @@ public class TestRequireNoRepositories
         releasePolicy.setEnabled( true );
         releasePolicy.setUpdatePolicy( "never" );
         r.setReleases( releasePolicy );
-        
+
         return r;
     }
 
@@ -152,6 +152,14 @@ public class TestRequireNoRepositories
         return project;
     }
 
+    private MavenProject addEmptyRepository( MavenProject project )
+    {
+        Model originalModel = project.getOriginalModel();
+        List<Repository> repositories = new ArrayList<Repository>();
+        when( originalModel.getRepositories() ).thenReturn( repositories );
+        return project;
+    }
+
     private MavenProject addPluginRepository( MavenProject project, Repository 
r )
     {
         Model originalModel = project.getOriginalModel();
@@ -161,6 +169,14 @@ public class TestRequireNoRepositories
         return project;
     }
 
+    private MavenProject addEmptyPluginRepository( MavenProject project )
+    {
+        Model originalModel = project.getOriginalModel();
+        List<Repository> repositories = new ArrayList<Repository>();
+        when( originalModel.getPluginRepositories() ).thenReturn( repositories 
);
+        return project;
+    }
+
     /**
      * This model contains a single module maven project without any 
repository.
      */
@@ -356,4 +372,26 @@ public class TestRequireNoRepositories
         rule.execute( helper );
     }
 
+    @Test
+    public void testAllBannedWithEmptyRepository()
+        throws EnforcerRuleException
+    {
+        MavenProject baseProject = createStandAloneProject();
+        addEmptyRepository( baseProject );
+        setupSortedProjects( Collections.singletonList( baseProject ) );
+
+        rule.execute( helper );
+    }
+
+    @Test
+    public void testAllBannedWithEmptyPluginRepository()
+        throws EnforcerRuleException
+    {
+        MavenProject baseProject = createStandAloneProject();
+        addEmptyPluginRepository( baseProject );
+        setupSortedProjects( Collections.singletonList( baseProject ) );
+
+        rule.execute( helper );
+    }
+
 }

-- 
To stop receiving notification emails like this one, please contact
"[email protected]" <[email protected]>.

Reply via email to