Skip to content

Releases: groovy/GMavenPlus

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

1.7.0

05 May 19:44
Compare
Choose a tag to compare

Bugs

  • Fix executing script from URL in Groovy older than 1.7.0 (#131)
  • Use unique configuration names for every mojo, so goals don't conflict (#120)

Enhancements

  • Support Java 13 (#122)

Potentially breaking changes

#120 corrects an inadvertent breaking change made in 1.6.0 with #31/#58. Here are those changes:

  1.5 1.6 1.7
addStubSources stubsOutputDirectory outputDirectory stubsOutputDirectory
addTestStubSources testStubsOutputDirectory outputDirectory testStubsOutputDirectory
compileTests/testCompile testOutputDirectory outputDirectory testOutputDirectory
generateStubs stubsOutputDirectory outputDirectory stubsOutputDirectory
generateTestStubs/testGenerateStubs testStubsOutputDirectory outputDirectory testStubsOutputDirectory
groovydocTests/testGroovydoc groovydocJavaSources groovydocJavaSources testGroovydocJavaSources
removeStubs stubsOutputDirectory outputDirectory stubsOutputDirectory
removeTestStubs testStubsOutputDirectory outputDirectory testStubsOutputDirectory

In addition, unused parameters have been removed:
addSources

  • skipTests
  • testSources

addStubSources

  • skipTests
  • sources
  • testSources

addTestSources

  • outputDirectory
  • skipTests
  • sources

addTestStubSources

  • sources
  • testSources

compile

  • skipTests
  • testSources

compileTests

  • sources

console

  • skipTests

execute

  • skipTests

generateStubs

  • skipTests
  • testSources

generateTestStubs

  • sources

groovydoc

  • skipTests
  • testSources
  • testGroovyDocOutputDirectory

groovydocTests

  • skipTests
  • sources

removeStubs

  • skipTests
  • sources
  • testSources

removeTestStubs

  • sources
  • testSources

shell

  • skipTests

Lastly, addTestStubSources and removeTestStubs now respect the skipTests flag, for consistency.

Notes

None

1.6.3

25 Mar 01:32
Compare
Choose a tag to compare

Bugs

None

Enhancements

  • Ability to use Groovy from plugin dependencies (creates a single classpath with plugin and project dependencies) (#64 & #86)
  • Support for Java 13 bytecode (#123)
  • Log executed scripts (#119)
  • Log message from exception cause (#112)

Potentially breaking changes

None

Notes

None