github groovy/GMavenPlus 5.0.0

5 hours ago

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 Changelog: 4.3.1...5.0.0

Don't miss a new GMavenPlus release

NewReleases is sending notifications on new releases.