Skip to content
This repository has been archived by the owner on Feb 15, 2024. It is now read-only.

HubSpot/dependency-management-maven-plugin

Repository files navigation

dependency-management-plugin

This plugin has been adopted by the basepom project, and now lives here

Maven Plugin for validating that the versions in dependency management and plugin management match the resolved versions. Can be run as a standalone plugin or as a rule with the maven-enforcer-plugin.

Available parameters

  • skip

    Skips plugin execution entirely. Defaults to false.

  • fail

    Whether to fail the build if any errors are found. Defaults to false.

  • requireManagement

    Wrapper for configuration to make dependency and/or plugin management required. See here for an example

Minimal usage example

<plugins>
  ...
  <plugin>
    <groupId>com.hubspot.maven.plugins</groupId>
    <artifactId>dependency-management-plugin</artifactId>
    <version>0.4</version>
    <executions>
      <execution>
        <goals>
          <goal>analyze</goal>
        </goals>
        <phase>validate</phase>
      </execution>
    </executions>
  </plugin>
  ...
</plugins>

Full usage example

<plugins>
  ...
  <plugin>
    <groupId>com.hubspot.maven.plugins</groupId>
    <artifactId>dependency-management-plugin</artifactId>
    <version>0.4</version>
    <executions>
      <execution>
        <goals>
          <goal>analyze</goal>
        </goals>
        <phase>validate</phase>
        <configuration>
          <fail>true</fail>
          <requireManagement>
            <dependencies>true</dependencies>
            <plugins>true</plugins>
            <allowVersions>false</allowVersions>
            <allowExclusions>false</allowExclusions>
            <overrides>
              <override>
                <patterns>
                  <pattern>com.example:*</pattern>
                </patterns>
                <dependencies>false</dependencies>
              </override>
            </overrides>
          </requireManagement>
        </configuration>
      </execution>
    </executions>
  </plugin>
  ...
</plugins>

Enforcer plugin example

<plugins>
  ...
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-enforcer-plugin</artifactId>
    <version>1.4</version>
    <dependencies>
      <dependency>
        <groupId>com.hubspot.maven.plugins</groupId>
        <artifactId>dependency-management-plugin</artifactId>
        <version>0.4</version>
      </dependency>
    </dependencies>
    <executions>
      <execution>
        <goals>
          <goal>enforce</goal>
        </goals>
        <configuration>
          <fail>true</fail>
          <rules>
            <dependencyManagementRule implementation="com.hubspot.maven.plugins.dependency.management.DependencyManagementRule">
              <requireManagement>
                <dependencies>true</dependencies>
                <plugins>true</plugins>
                <allowVersions>false</allowVersions>
                <allowExclusions>false</allowExclusions>                
                <exceptions>
                  <exception>com.example:*</exception>
                </exceptions>                
              </requireManagement>
            </dependencyManagementRule>
          </rules>
        </configuration>
      </execution>
    </executions>
  </plugin>
  ...
</plugins>