[ANNOUNCE] GMavenPlus 5.0.0

1 view
Skip to first unread message

Keegan Witt

unread,
Jun 3, 2026, 11:27:09 AM (4 days ago) Jun 3
to us...@groovy.apache.org, GMavenPlus

GMavenPlus 5.0.0 has been released. The biggest changes this release are to support the new GroovyDoc features in Groovy 6, fixing Groovy 5/6 Groovysh support, and no longer including Ant, Ivy, Jansi, and JLine dependencies.

-Keegan


Bugs

  • Fix Javadoc mismatch in ReflectionUtils.getDeclaredMethods (#365)
  • Remove unneeded fork parameter (#361)
  • Fix Groovy 5 shell support (closes #367) (#380)

Enhancements

  • Support Groovy 6 changes to GroovyDoc (closes #381) (#382)

Potentially breaking changes

  • Removed the fork parameter
  • GMavenPlus no longer includes JLine, Jansi, Ant, or Ivy dependencies

Notes

  • GMavenPlus used to include the Jansi 2.4 and JLine 2.14.6 so that Groovy 2.2.0-beta-1 and newer would have colors work in Groovysh out of the box. However, JLine 2 is EOL, Groovy 5.x uses Jline 3, and Groovy 6.x uses JLine 4. Additionally, Maven 3.9 introduces a JLine 2.x into the classpath. This meant that Groovy 5.x and 6.x would never have their colors work with Maven 3.9.
  • GMavenPlus used to include Ant and Ivy, to make it easy to use @Grab and AntBuilder in scripts, Groovysh, and Groovy Console. The need to remove JLine/Jansi gave a reason to revisit this philosophy. Here are the reasons why this was abandoned.
    • The plugin version can win over the version in the project (unless you make sure to use an <exclusion>
    • To avoid downloading dependencies you may or may not need
    • If future Groovy versions use other versions of Ant/Ivy (like we ran into with JLine/Jansi), we'll have a similar breaking change needed
  • Here are examples of how to add back the dependencies you need
    <plugin>
      <groupId>org.codehaus.gmavenplus</groupId>
      <artifactId>gmavenplus-plugin</artifactId>
      <version>5.0.0</version>
      <executions>
        <execution>
          <goals>
            <goal>execute</goal>
          </goals>
        </execution>
      </executions>
      <dependencies>
        <!-- Add Apache Ant if using AntBuilder -->
        <dependency>
          <groupId>org.apache.ant</groupId>
          <artifactId>ant</artifactId>
          <version>1.10.15</version>
        </dependency>
        <!-- Add Apache Ivy if using @Grab -->
        <dependency>
          <groupId>org.apache.ivy</groupId>
          <artifactId>ivy</artifactId>
          <version>2.5.3</version>
        </dependency>
        <!-- Add JLine 2 if using shell with Groovy 2.x/3.x/4.x -->
        <dependency>
          <groupId>jline</groupId>
          <artifactId>jline</artifactId>
          <version>2.14.6</version>
        </dependency>
        <!-- Add JAnsi 1.x for terminal colors with JLine 2 -->
        <dependency>
          <groupId>org.fusesource.jansi</groupId>
          <artifactId>jansi</artifactId>
          <version>1.18</version>
        </dependency>
      </dependencies>
    </plugin>

Full Changelog4.3.1...5.0.0


Reply all
Reply to author
Forward
0 new messages