You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kh...@apache.org on 2018/01/06 14:31:14 UTC
[maven-enforcer] 02/04: Another step better.
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 <kh...@apache.org>
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
"commits@maven.apache.org" <co...@maven.apache.org>.