PedanticDependencyOrderEnforcer - ferstl/pedantic-pom-enforcers GitHub Wiki

Since: 1.0.0

This enforcer makes sure that all artifacts in your dependencies section are ordered. The ordering can be defined by any combination of scope, groupId and artifactId. Each of these attributes may be given a priority.

Example

<rules>
  <dependencyOrder implementation="com.github.ferstl.maven.pomenforcers.PedanticDependencyOrderEnforcer">
    <!-- order by scope, groupId and artifactId (default) -->
    <orderBy>scope,groupId,artifactId</orderBy>
    <!-- runtime scope should occur before provided scope -->
    <scopePriorities>compile,runtime,provided</scopePriorities>
    <!-- all group IDs starting with com.myproject and com.mylibs should occur first -->
    <groupIdPriorities>com.myproject,com.mylibs</groupIdPriorities>
    <!-- all artifact IDs starting with commons- and utils- should occur first -->
    <artifactIdPriorities>commons-,utils-</artifactIdPriorities>
  </dependencyOrder>
</rules>

Configuration Options

Option Default Description
orderBy scope, groupId, artifactId Comma-separated list of dependency elements that defines the ordering. Since: 1.0.0
groupIdPriorities n/a Comma-separated list of group IDs that should be listed first in the dependencies declaration. All group IDs that start with any of the prioritized group IDs in the given list, are required to be located first in the dependencies section. Since: 1.0.0
artifactIdPriorities n/a Comma-separated list of artifact IDs that should be listed first in the dependencies declaration. All artifact IDs that start with any of the prioritized IDs in the given list, are required to be located first in the dependencies section. Since: 1.0.0
scopePriorities import, compile, provided, runtime, system, test Comma-separated list of scopes that should be listed first in the dependencies declaration. All scopes that equal any of the scopes in the given list, are required to be located first in the dependencies section. Since: 1.0.0
⚠️ **GitHub.com Fallback** ⚠️