Class DependOnAllProjects

java.lang.Object
org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
com.github.mikkoi.maven_enforcer_plugin.rule.DependOnAllProjects
All Implemented Interfaces:
org.apache.maven.enforcer.rule.api.EnforcerRuleBase

@Named("dependOnAllProjects") public class DependOnAllProjects extends org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
Maven Enforcer Custom Rule.
  • Constructor Summary

    Constructors
    Constructor
    Description
    DependOnAllProjects(org.apache.maven.execution.MavenSession session)
    Constructor.
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    Convert string for matching.
    static boolean
    dependenciesAreEquals(org.apache.maven.model.Dependency a, org.apache.maven.model.Dependency b)
    Compare two Dependency objects.
    static boolean
    dependenciesContains(Iterable<org.apache.maven.model.Dependency> projects, org.apache.maven.project.MavenProject project)
    Does the list (Iterable) of Dependency objects contain the MavenProject?
    void
    The rule logic.
    void
    The main entry point for rule.
    static String
    formatDependency(org.apache.maven.model.Dependency dependency, String indent)
    Format Dependency object to XML snippet.
    org.apache.maven.enforcer.rule.api.EnforcerLogger
     
    static boolean
    isProjectIncluded(List<String> includes, List<String> excludes, org.apache.maven.project.MavenProject mavenProject)
    Match projects with includes and excludes.
    static boolean
    projectsAreEquals(org.apache.maven.project.MavenProject a, org.apache.maven.project.MavenProject b)
    Compare two MavenProject objects.
    static boolean
    projectsContains(Iterable<org.apache.maven.project.MavenProject> projects, String projectName)
    Does any of the projects in Maven Reactor build match with this project name?
    static org.apache.maven.model.Dependency
    projectToDependency(org.apache.maven.project.MavenProject mavenProject)
    Convert MavenProject to Dependency object.
    void
    setLog(org.apache.maven.enforcer.rule.api.EnforcerLogger arg0)
     
    String representation of the rule.

    Methods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule

    getCacheId, getLevel, getRuleName

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • DependOnAllProjects

      @Inject public DependOnAllProjects(org.apache.maven.execution.MavenSession session)
      Constructor.
      Parameters:
      session - Initialized MavenSession object.
  • Method Details

    • formatDependency

      public static String formatDependency(org.apache.maven.model.Dependency dependency, String indent)
      Format Dependency object to XML snippet. User can simply copy-paste this to the project.
      Parameters:
      dependency - Dependency object
      indent - Indentation string, e.g. " "
      Returns:
      Formatted XML snippet
    • convertStringForMatching

      public static String convertStringForMatching(String s)
      Convert string for matching.
      Parameters:
      s - String
      Returns:
      converted string
    • projectsAreEquals

      public static boolean projectsAreEquals(org.apache.maven.project.MavenProject a, org.apache.maven.project.MavenProject b)
      Compare two MavenProject objects. GroupId, ArtifactId, Version and Packaging must match.
      Parameters:
      a - MavenProject a
      b - MavenProject b
      Returns:
      true if projects are equal
    • dependenciesAreEquals

      public static boolean dependenciesAreEquals(org.apache.maven.model.Dependency a, org.apache.maven.model.Dependency b)
      Compare two Dependency objects. GroupId, ArtifactId, Version and Type must match.
      Parameters:
      a - Dependency a
      b - Dependency b
      Returns:
      true if dependencies are equal
    • dependenciesContains

      public static boolean dependenciesContains(Iterable<org.apache.maven.model.Dependency> projects, org.apache.maven.project.MavenProject project)
      Does the list (Iterable) of Dependency objects contain the MavenProject?
      Parameters:
      projects - Iterable of Dependency objects
      project - a Maven project object
      Returns:
      true if project is found
    • projectsContains

      public static boolean projectsContains(Iterable<org.apache.maven.project.MavenProject> projects, String projectName)
      Does any of the projects in Maven Reactor build match with this project name? Name must not have a wildcard!
      Parameters:
      projects - Iterable of MavenProject objects
      projectName - Project name, e.g. "artifactId", "groupId:artifactId", "groupId:artifactId:packingType".
      Returns:
      Boolean
    • projectToDependency

      public static org.apache.maven.model.Dependency projectToDependency(org.apache.maven.project.MavenProject mavenProject)
      Convert MavenProject to Dependency object.
      Parameters:
      mavenProject - MavenProject object
      Returns:
      Dependency object
    • isProjectIncluded

      public static boolean isProjectIncluded(List<String> includes, List<String> excludes, org.apache.maven.project.MavenProject mavenProject)
      Match projects with includes and excludes. Includes are * by default. Then excludes are excluded from the includes.
      Parameters:
      includes - Included projects. Default: *
      excludes - Excluded projects. Default: none
      mavenProject - Initialized MavenProject object.
      Returns:
      True or false.
    • dependOnAllProjects

      public void dependOnAllProjects() throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
      The rule logic. Collect all projects in the build and filter according to includes/excludes. Match the list with the dependencies of the current project. If the two lists do not match, Raise EnforcerRuleException
      Throws:
      org.apache.maven.enforcer.rule.api.EnforcerRuleException - if rule fails.
    • execute

      public void execute() throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
      The main entry point for rule.
      Specified by:
      execute in class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
      Throws:
      org.apache.maven.enforcer.rule.api.EnforcerRuleException - if rule fails.
    • toString

      public String toString()
      String representation of the rule. Output is used in verbose Maven logs, can help during investigate problems.
      Overrides:
      toString in class Object
      Returns:
      rule description
    • setLog

      public void setLog(org.apache.maven.enforcer.rule.api.EnforcerLogger arg0)
      Specified by:
      setLog in interface org.apache.maven.enforcer.rule.api.EnforcerRuleBase
    • getLog

      public org.apache.maven.enforcer.rule.api.EnforcerLogger getLog()