Releases: groovy/GMavenPlus
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
1.7.0
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
1.6.2
1.6.1
Bugs
- Fixed that was logging Groovy version as not supporting config script if config script file didn't exist
- Fixed NPE when calling mojo without Groovy dependency
- Fixed that was logging compile classpath instead of test classpath during test GroovyDoc generation
Enhancements
None
Potentially breaking changes
None
Notes
None
1.6
Bugs
- [38] - Compilation doesn't allow indy back far enough (thanks for pointing this out @PascalSchumacher!)
Enhancements
- [36] - Allow script files to be executed as filenames as well as URLs (see Significant changes of note for an example)
- [41] - Verify Groovy version supports target bytecode (See Potentially breaking changes for a description)
- [46] - Remove scriptExtensions config option
- [31/58] - Goals not consistantly named / IntelliJ improperly adding stub directories to sources
- [61] - You can now skip Groovydoc generation with new skipGroovyDoc property (Thanks @rvenutolo!)
- [45] - GROOVY-7423 (JEP 118) Support (requires Groovy 2.5.0-alpha-1 or newer and enabled with new parameters boolean property)
Potentially breaking changes
- 46 will break your build if you are using . But the fix is simple, just the delete the configuration option and GMavenPlus will automatically do the right thing.
- 41 will break your build if you were passing an invalid target bytecode. GMavenPlus will no longer allow Groovy to silently default to 1.4 or 1.5. It will verify that the bytecode is supported by your Groovy version (that is, the option exists in org.codehaus.groovy.control.CompilerConfiguration), and fail if it isn't.
- 58 will require renaming goals testGenerateStubs to generateTestStubs and testCompile to compileTests. IntelliJ has hard-coded the goal names in their plugin, and these names will make IntelliJ work with both GMaven and GMavenPlus.
- In order to support using the latest Maven plugins (and to make GMavenPlus easier to maintain), GMavenPlus now requires Java 6 or newer and Maven 3.0.1 or newer (previously was Java 5 or newer and Maven 2.2.1 or newer).
- Due to an unintended side-effect of logging order change, adding a GMavenPlus goal without Groovy dependency will fail if there are no Groovy sources to use that goal with. If this is an issue for you, please let me know, and I'll consider reversing the order back.
testStubsOutputDirectory
andstubsOutputDirectory
inadvertently got renamed tooutputDirectory
, which conflicts with the configuration in the compile and compileTests goals. You may need to setup separate executions with separate configurations for each if you need to set that configuration option.
Notes
- You can now use this syntax for executing scripts
<script>${project.basedir}/src/main/resources/groovyScripts/helloWorld.groovy</script>
in addition to the original style of
<script>file:///${project.basedir}/src/main/resources/groovyScripts/helloWorld.groovy</script>
- This will be the last release that doesn't follow semantic versioning conventions.
1.5
Bugs
- [GMAVENPLUS-35] - Groovy version cannot be detected if Groovy classes are contained in the build classes folder
- [GMAVENPLUS-36] - Groovy 1.5.8 should be blacklisted for Groovydoc
Enhancements
None
Potentially breaking changes
None
Notes
1.4
Bugs
- [GMAVENPLUS-34] - Exception when running maven build with -T
Enhancements
None
Potentially breaking changes
None
Notes
None
1.3
Bugs
None
Enhancements
- [GMAVENPLUS-27] - Set targetBytecode from maven.compiler.target
- [GMAVENPLUS-28] - Use project.build.sourceEncoding for Groovydoc stylesheet default encoding. This can break your build if all the below condtions are met.
- You are using the groovydoc and/or testGroovydoc goal
- You have specified stylesheetFile
- You have not specified stylesheetEncoding
- Your system has a default encoding other than UTF-8
- The file specified by stylesheetFile contains characters outside the ASCII range
- [GMAVENPLUS-31] - Bind MavenProjectHelper to tool properties
- [GMAVENPLUS-32] - Support grooid classifier. An example usage is available.
Potentially breaking changes
None
Notes
None