Class AbstractResolveDependencies

  • All Implemented Interfaces:
    org.apache.maven.enforcer.rule.api.EnforcerRuleBase
    Direct Known Subclasses:
    BanCircularDependencies, BanDuplicateClasses, EnforceBytecodeVersion

    abstract class AbstractResolveDependencies
    extends org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
    Abstract rule for when the content of the artifacts matters.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.util.List<java.lang.String> ignoredScopes
      Optional list of dependency scopes to ignore.
      private boolean ignoreOptionals
      Ignore all dependencies which have &lt;optional&gt;true&lt;/optional&gt;.
      private org.eclipse.aether.RepositorySystem repositorySystem  
      private java.util.List<java.lang.String> scopes
      Only verify dependencies with one of these scopes
      private boolean searchTransitive
      Specify if transitive dependencies should be searched (default) or only look at direct dependencies.
      private org.apache.maven.execution.MavenSession session  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected AbstractResolveDependencies​(org.apache.maven.execution.MavenSession session, org.eclipse.aether.RepositorySystem repositorySystem)  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected static java.lang.String asRegex​(java.lang.String wildcard)
      Convert a wildcard into a regex.
      private java.util.Collection<org.eclipse.aether.graph.DependencyNode> collectProjectDependencies()  
      private org.eclipse.aether.graph.DependencyFilter createOptionalFilter()  
      private org.eclipse.aether.graph.DependencyFilter createScopeDependencyFilter()  
      void execute()  
      private java.util.Set<org.apache.maven.artifact.Artifact> getDependenciesToCheck()  
      org.apache.maven.enforcer.rule.api.EnforcerLogger getLog()  
      protected abstract void handleArtifacts​(java.util.Set<org.apache.maven.artifact.Artifact> artifacts)  
      private java.util.Set<org.apache.maven.artifact.Artifact> resolveArtifacts​(java.util.Collection<org.eclipse.aether.graph.DependencyNode> dependencies)  
      void setLog​(org.apache.maven.enforcer.rule.api.EnforcerLogger arg0)  
      • Methods inherited from class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule

        getCacheId, getLevel
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ignoredScopes

        private java.util.List<java.lang.String> ignoredScopes
        Optional list of dependency scopes to ignore. test and provided make sense here.
      • scopes

        private java.util.List<java.lang.String> scopes
        Only verify dependencies with one of these scopes
      • ignoreOptionals

        private boolean ignoreOptionals
        Ignore all dependencies which have &lt;optional&gt;true&lt;/optional&gt;.
        Since:
        1.2
      • searchTransitive

        private boolean searchTransitive
        Specify if transitive dependencies should be searched (default) or only look at direct dependencies.
      • session

        private final org.apache.maven.execution.MavenSession session
      • repositorySystem

        private final org.eclipse.aether.RepositorySystem repositorySystem
    • Constructor Detail

      • AbstractResolveDependencies

        protected AbstractResolveDependencies​(org.apache.maven.execution.MavenSession session,
                                              org.eclipse.aether.RepositorySystem repositorySystem)
    • Method Detail

      • execute

        public void execute()
                     throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Specified by:
        execute in class org.apache.maven.enforcer.rule.api.AbstractEnforcerRule
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException
      • handleArtifacts

        protected abstract void handleArtifacts​(java.util.Set<org.apache.maven.artifact.Artifact> artifacts)
                                         throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException
      • getDependenciesToCheck

        private java.util.Set<org.apache.maven.artifact.Artifact> getDependenciesToCheck()
                                                                                  throws org.apache.maven.enforcer.rule.api.EnforcerRuleException
        Throws:
        org.apache.maven.enforcer.rule.api.EnforcerRuleException
      • collectProjectDependencies

        private java.util.Collection<org.eclipse.aether.graph.DependencyNode> collectProjectDependencies()
                                                                                                  throws org.eclipse.aether.collection.DependencyCollectionException
        Throws:
        org.eclipse.aether.collection.DependencyCollectionException
      • createOptionalFilter

        private org.eclipse.aether.graph.DependencyFilter createOptionalFilter()
      • createScopeDependencyFilter

        private org.eclipse.aether.graph.DependencyFilter createScopeDependencyFilter()
      • resolveArtifacts

        private java.util.Set<org.apache.maven.artifact.Artifact> resolveArtifacts​(java.util.Collection<org.eclipse.aether.graph.DependencyNode> dependencies)
                                                                            throws org.eclipse.aether.resolution.ArtifactResolutionException
        Throws:
        org.eclipse.aether.resolution.ArtifactResolutionException
      • asRegex

        protected static java.lang.String asRegex​(java.lang.String wildcard)
        Convert a wildcard into a regex.
        Parameters:
        wildcard - the wildcard to convert.
        Returns:
        the equivalent regex.
      • 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()