Releases: groovy/GMavenPlus
1.12.0
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
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
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
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
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
ortestArtifactType
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
1.9.0
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 toskipGroovydoc
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
Bugs
- #147 Change sourcesets internal storage from
HashSet
toTreeSet
, 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.exit
s to allowing them.
Notes
None
1.8.0
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
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