Releases: groovy/GMavenPlus
Releases · groovy/GMavenPlus
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
1.2
Bugs
- [GMAVENPLUS-17] - Fixed that compilation classpath was getting polluted with GMavenPlus dependencies.
- [GMAVENPLUS-18] - Fixed Java 5 Support. While GMavenPlus was compiled for Java 5 there were API calls that were incompatible with Java 5. These have been fied and Animal Sniffer has been added to the build to prevent that from happening again.
Enhancements
- [GMAVENPLUS-19] - Default JLine Provided. It is no longer necessary to include JLine for using Groovysh, unless you are using Groovy < 2.2.0-beta-1.
- [GMAVENPLUS-24] - You can now configure your scripts to use the GMaven style, for example
properties['project']
instead of the default style ofproject
. - [GMAVENPLUS-14] - The following properties have been added
Property | Description |
---|---|
ant | This is a groovy.util.AntBuilder object. Note that for Groovy >= 2.3.0-rc-1, you'll also need to include the groovy-ant dependency. GMavenPlus includes Ant by default for your convenience. The version can be overridden, of course. |
log | This is the org.apache.maven.plugin.logging.Log object used by GMavenPlus for logging. |
Potentially breaking changes
- Compile & Runtime Groovy Versions Must Match in Compilation Goals. You used to be able to override the version of Groovy used to compile your project and use a different version at runtime. While this practice was never recommended, as a consequence of the classpath isolation fix, you can't do this anymore. You still can specify the Groovy to use as a plugin dependency for the execution goals though.
- [GMAVENPLUS-15] - System.exit Calls Forbade in Scripts, Console, and Shell. If you were using System.exit calls (or an equivalent) in your scripts, you need to replace these with an exception, or set the allowSystemExits property to true.
- [GMAVENPLUS-20] - Removed groovy-jar Packaging. If you were using groovy-jar packaging, you need to change to the executions style of invocation.
- [GMAVENPLUS-16] - Renamed some script properties. Perform the following replacements
Old Value | New Value |
---|---|
settings | session.settings |
localRepository | session.localRepository |
reactorProjects | session.sortedProjects |
Notes
None
1.1
Bugs
None
Enhancements
- [GMAVENPLUS-7] - GroovyConsole and GroovyShell are now bound to your project.
- [GMAVENPLUS-10] - Support for configuration scripts for things like global static compilation the same way you can in Ant Groovyc.
Potentially breaking changes
None
Notes
None