Hi,

the switch to fine grained artifacts with groovy-2.5 made it harder to consistently mange package versions.

Many projects offer a bom pom (https://www.baeldung.com/spring-maven-bom), that manages all the packages so users of maven have to just import the bom pom instead of having to manage every artifact.

So you can do just this

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-bom</artifactId>
      <version>${groovy-version}</version>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

Instead of

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy</artifactId>
      <version>${groovy-version}</version>
    </dependency>
    <dependency>
      <groupId>org.codehaus.groovy</groupId>
      <artifactId>groovy-ant</artifactId>
      <version>${groovy-version}</version>
    </dependency>
... repeat for every package to be managed
  </dependencies>
</dependencyManagement>

This should be fairly easy to do as the current groovy-all is almost a bom pom, all that is needed is to move the dependency declaration into a dependencyManagement block.


https://github.com/spockframework/spock/issues/892#issuecomment-418659404