Skip to content

Releases: groovy/GMavenPlus

1.12.0

13 Dec 17:56
Compare
Choose a tag to compare

Bugs

  • [#183] The classloader project dependencies are loaded onto is reused between modules, so each module was a superset of all modules that preceded it. Also, the console, execute, and shell mojos didn't pass the classloader to use into the instantiated GroovyConsole/GroovyShell, so it accidentally was using the plugin classloader, even when configured to use PROJECT_ONLY classpath. Thanks for reporting this @TobiX!

Enhancements

None

Potentially breaking changes

This should be a non-breaking change (except for unusual situations that were relying on the previous incorrect behavior). However, since it's a significant change, I'm bumping the version by more than just the patch version.

Notes

This potentially runs slower than before, since a new classloader is instantiated each execution, rather than resuing the same classloader, so the classes referenced will have to be reinitialized.

1.11.1

01 Dec 04:20
Compare
Choose a tag to compare

Bugs

  • Fixes IllegalArgumentException when consoleScript parameter was loaded from POM rather than command line property.

Enhancements

None

Potentially breaking changes

None

Notes

None

1.11.0

11 Oct 17:16
Compare
Choose a tag to compare

Bugs

None

Enhancements

  • Change JDK compatibility check to also account for Java 16.
  • Some tweaks for Groovy 4 (most notably, invokedynamic is enabled by default for Groovy 4 and cannot be disabled).
  • New parameter (attachGroovyDocAnnotation) to enable attaching GroovyDoc annotation.
  • New parameter (parallelParsing) to enable parallel parsing (enabled by default with Groovy 4).
  • Remove previewFeatures parameter from stub generation goals, since it's not used there.

Potentially breaking changes

  • If you were using the previewFeatures parameter without also including a compilation goal that would make that config valid, the build will fail because it's no longer a valid parameter. The fix would be to move that configuration to the appropriate execution(s).

Notes

None

1.10.1

21 Sep 02:12
Compare
Choose a tag to compare

Bugs

None

Enhancements

  • Ability to override classes used to generate GroovyDoc (#91)
  • Ability to override GStringTemplates used for GroovyDoc (#105)
  • Ability to bind overridden properties (by binding project properties and/or session user properties) (#72)
  • Ability to load a script when launching GroovyConsole (#165)

Potentially breaking changes

None

Notes

None

1.10.0

05 Aug 04:53
Compare
Choose a tag to compare

Bugs

None

Enhancements

  • Change default GroovyDoc jar artifact type to javadoc, so its extension gets set to "jar" by the artifact handler instead of "groovydoc" by the default handler logic which uses the type for the extension in the case of unknown types (#151).

Potentially breaking changes

  • GroovyDoc jars and test GroovyDoc jars will now be of type "javadoc" and have extension "jar".  Rather than type and extension "groovydoc".  If you do not wish to transition to this new behavior, set the new artifactType or testArtifactType property to "groovydoc" to revert to the previous behavior.

Notes

  • While the artifact type of GroovyDoc jars has changed, the Maven classifier has not.  It remains "groovydoc", and you can still override that, just as before.

1.9.1

26 Jul 19:23
Compare
Choose a tag to compare

Bugs

None

Enhancements

  • Add a property to skip script execution (#162)

Potentially breaking changes

None

Notes

None

1.9.0

04 Apr 21:02
Compare
Choose a tag to compare

Bugs

None

Enhancements

  • Support for Java 14 (#152).
  • Support for Java 15 (#153).
  • Add skipBytecodeCheck property and parameter, so if a Java version comes out the plugin doesn't recognize, you can use it without having to wait for an update.
  • Use groovy.ant.AntBuilder instead of groovy.util.AntBuilder (if available).

Potentially breaking changes

  • maven.groovydoc.skip property was renamed to skipGroovydoc so it matches the pattern of the other properties and won't seem to imply it's a property for a standard Maven plugin.
  • Using groovy.ant.AntBuilder instead of groovy.util.AntBuilder (when available on classpath).
  • Bundling Ant 1.10.7 instead of 1.10.5.
  • Bundling Ivy 2.5.0 instead of 2.4.0.

Notes

  • Now officially requires Java 7 instead of 6. This is not a breaking change, however, since this was actually already required because of plexus-classworlds. This just wasn't discovered until an enforcer rule was added to check bytecode versions of dependencies.

1.8.1

13 Nov 02:55
Compare
Choose a tag to compare

Bugs

  • #147 Change sourcesets internal storage from HashSet to TreeSet, to avoid unpredictable Groovy compiler output on certain filesystems (thanks @marcphilipp!).
  • #145 Disable system exits by default, to avoid potential thread safety issues.

Enhancements

None

Potentially breaking changes

  • #145 Changes the default of not allowing System.exits to allowing them.

Notes

None

1.8.0

22 Sep 23:28
Compare
Choose a tag to compare

Bugs

  • None

Enhancements

  • Allow for invocation using only project classpath (#140). This is accomplished with <includeClasspath>PLUGIN_ONLY</includeClasspath>.

Potentially breaking changes

#140

If you were using useSharedClasspath before, you will need to replace it with new values. In most cases, this would be

usedSharedClasspath includeClasspath
true PROJECT_AND_PLUGIN
false PROJECT_ONLY

Another notable difference is that when using this new configuration parameter in compile, compileTests, generateStubs, or generateTestStubs goals, now also uses the configurator to add the project dependencies to the classpath with the plugin's dependencies. Previously, this only happened in the goals other than the ones mentioned.

Notes

None

1.7.1

03 Jun 02:45
Compare
Choose a tag to compare

Bugs

  • Fix that Groovy 3.0.0-alpha-5 was actually released as 3.0.0-beta-1 (#133)

Enhancements

  • Support Java preview features (#125)
  • New goals to create GroovyDoc jars (#124)
  • Use the new "groovy.console.ui.Console" package, if available, fall back to "groovy.ui.Console" (#136)

Potentially breaking changes

None

Notes

None