public class ReactorModuleConvergence extends AbstractNonCacheableEnforcerRule
Modifier and Type | Field and Description |
---|---|
private boolean |
ignoreModuleDependencies |
private org.apache.maven.plugin.logging.Log |
logger |
Constructor and Description |
---|
ReactorModuleConvergence() |
Modifier and Type | Method and Description |
---|---|
private void |
addDep(java.util.Map<org.apache.maven.project.MavenProject,java.util.List<org.apache.maven.model.Dependency>> result,
org.apache.maven.project.MavenProject project,
org.apache.maven.model.Dependency dependency)
Convenience method to handle adding a dependency to the Map of List.
|
private void |
addMessageIfExist(java.lang.StringBuilder sb)
This will add the given user message to the output.
|
private java.util.List<org.apache.maven.project.MavenProject> |
areParentsFromTheReactor(java.lang.String reactorVersion,
java.util.List<org.apache.maven.project.MavenProject> sortedProjects) |
private java.util.Map<org.apache.maven.project.MavenProject,java.util.List<org.apache.maven.model.Dependency>> |
areThereDependenciesWhichAreNotPartOfTheReactor(java.lang.String reactorVersion,
java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
Go through the list of modules in the builds and check if we have dependencies.
|
private void |
checkDependenciesWithinReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) |
private void |
checkMissingParentsInReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
Convenience method to create a user readable message.
|
private void |
checkParentsInReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
Convenience method to create a user readable message.
|
private void |
checkParentsPartOfTheReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) |
private void |
checkReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
Convenience method to create user readable message.
|
void |
execute(EnforcerRuleHelper helper)
This is the interface into the rule.
|
private java.util.List<org.apache.maven.project.MavenProject> |
existModulesWithoutParentsInReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
Assume we have a module which is a child of a multi module build but this child does not have a parent.
|
private java.util.List<org.apache.maven.project.MavenProject> |
existParentsWhichAreNotPartOfTheReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) |
private boolean |
hasDependencies(java.util.List<org.apache.maven.model.Dependency> dependencies) |
private boolean |
hasParent(org.apache.maven.project.MavenProject mavenProject) |
private boolean |
isDependencyPartOfTheReactor(org.apache.maven.model.Dependency dependency,
java.util.List<org.apache.maven.project.MavenProject> sortedProjects) |
private boolean |
isGAPartOfTheReactor(java.lang.String groupId,
java.lang.String artifactId,
java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
This will check if the given
groupId/artifactId is part of the current reactor. |
boolean |
isIgnoreModuleDependencies() |
private boolean |
isProjectPartOfTheReactor(org.apache.maven.project.MavenProject project,
java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
This will check of the groupId/artifactId can be found in any reactor project.
|
private java.util.List<org.apache.maven.project.MavenProject> |
isReactorVersionConsistent(java.util.List<org.apache.maven.project.MavenProject> projectList)
This method will check the following situation within a multi-module build.
|
void |
setIgnoreModuleDependencies(boolean ignoreModuleDependencies) |
getCacheId, isCacheable, isResultValid
getLevel, getMessage, setLevel, setMessage
private boolean ignoreModuleDependencies
private org.apache.maven.plugin.logging.Log logger
public void execute(EnforcerRuleHelper helper) throws EnforcerRuleException
EnforcerRule
helper
- The helper provides access to the log, MavenSession and has
helpers to get common components. It is also able to lookup components
by class name.EnforcerRuleException
- the enforcer rule exceptionprivate void checkParentsPartOfTheReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) throws EnforcerRuleException
EnforcerRuleException
private void checkMissingParentsInReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) throws EnforcerRuleException
sortedProjects
- The list of reactor projects.EnforcerRuleException
- In case of a violation.private void checkDependenciesWithinReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) throws EnforcerRuleException
EnforcerRuleException
private void checkParentsInReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) throws EnforcerRuleException
sortedProjects
- The list of reactor projects.EnforcerRuleException
- In case of a violation.private void checkReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects) throws EnforcerRuleException
sortedProjects
- The list of reactor projects.EnforcerRuleException
- In case of a violation.private java.util.List<org.apache.maven.project.MavenProject> areParentsFromTheReactor(java.lang.String reactorVersion, java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
private java.util.List<org.apache.maven.project.MavenProject> existParentsWhichAreNotPartOfTheReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
private boolean isProjectPartOfTheReactor(org.apache.maven.project.MavenProject project, java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
project
- The project which should be checked if it is contained in the sortedProjects.sortedProjects
- The list of existing projects.private boolean isDependencyPartOfTheReactor(org.apache.maven.model.Dependency dependency, java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
private boolean isGAPartOfTheReactor(java.lang.String groupId, java.lang.String artifactId, java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
groupId/artifactId
is part of the current reactor.groupId
- The groupIdartifactId
- The artifactIdsortedProjects
- The list of projects within the reactor.private java.util.List<org.apache.maven.project.MavenProject> existModulesWithoutParentsInReactor(java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
sortedProjects
- The sorted list of the reactor modules.private void addDep(java.util.Map<org.apache.maven.project.MavenProject,java.util.List<org.apache.maven.model.Dependency>> result, org.apache.maven.project.MavenProject project, org.apache.maven.model.Dependency dependency)
result
- The result List which should be handled.project
- The MavenProject which will be added.dependency
- The dependency which will be added.private java.util.Map<org.apache.maven.project.MavenProject,java.util.List<org.apache.maven.model.Dependency>> areThereDependenciesWhichAreNotPartOfTheReactor(java.lang.String reactorVersion, java.util.List<org.apache.maven.project.MavenProject> sortedProjects)
reactorVersion
- The version of the reactor.sortedProjects
- The list of existing projects within this build.private java.util.List<org.apache.maven.project.MavenProject> isReactorVersionConsistent(java.util.List<org.apache.maven.project.MavenProject> projectList)
<parent> <groupId>...</groupId> <artifactId>...</artifactId> <version>1.0-SNAPSHOT</version> </parent> <version>1.1-SNAPSHOT</version>
projectList
- The sorted list of the reactor modules.private boolean hasDependencies(java.util.List<org.apache.maven.model.Dependency> dependencies)
private boolean hasParent(org.apache.maven.project.MavenProject mavenProject)
public boolean isIgnoreModuleDependencies()
public void setIgnoreModuleDependencies(boolean ignoreModuleDependencies)
private void addMessageIfExist(java.lang.StringBuilder sb)
sb
- The already initialized exception message part.