Skip to content

Releases: groovy/GMavenPlus

1.6.2

14 Oct 19:48
Compare
Choose a tag to compare

Bugs

  • Fixed that could error saying no Groovy dependency when it shouldn't because no Groovy sources exist (ef3a3d5).

Enhancements

  • Support for Java 10 bytecode (#104)
  • Support for Java 11 bytecode (#106)

Potentially breaking changes

None

Notes

None

1.6.1

06 May 16:46
Compare
Choose a tag to compare

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

24 Mar 21:50
Compare
Choose a tag to compare
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 and stubsOutputDirectory inadvertently got renamed to outputDirectory, 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

24 Mar 21:56
Compare
Choose a tag to compare
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

  • This was the last release to use Codehaus Jira, Nexus, and Confluence Jiras moved to GitHub issues, Confluence moved to GitHub wiki and GitHub pages, and Nexus moved to Sonatype OSS.

1.4

24 Mar 22:03
Compare
Choose a tag to compare
1.4

Bugs

Enhancements

None

Potentially breaking changes

None

Notes

None

1.3

24 Mar 22:16
Compare
Choose a tag to compare
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

24 Mar 22:32
Compare
Choose a tag to compare
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 of project.
  • [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

24 Mar 22:38
Compare
Choose a tag to compare
1.1

Bugs

None

Enhancements

Potentially breaking changes

None

Notes

None

1.0-beta-3

24 Mar 22:54
Compare
Choose a tag to compare
1.0-beta-3 Pre-release
Pre-release

Bugs

  • Fixed that compilation wasn't working for Groovy < 1.6.0 (was calling a CompilationUnit constructor that didn't exist).

Enhancements

  • Use separate separate classpath configurators so that each mojo can depend on only what it needs.
  • Moved adding test sources out of addSources mojo and into addTestSources.
  • Ensure script execution requires Groovy >= 1.5.0.
  • Fixed that log message of count of classes compiled and stubs generated was plural even if only 1 classes was compiled / 1 stub was generated.
  • Added ability to specify custom properties for script execution.
  • Allow execute goal to use Groovy from plugin classpath so users aren't forced to add Groovy to project classpath.
  • Added mavenSession to properties available in Groovy scripts.
  • Added project to properties available in Groovy scripts.
  • Prevent Groovy < 1.8.2 from being used for stub generation since it silently doesn't create stubs.
  • Prevent Groovy < 1.5.0 from being used for compilation since previous versions didn't include needed classes.
  • Use test classpath instead of compile classpath for execution so users can use test dependencies in scripts.

Potentially breaking changes

  • Renamed addSource goal to addSources.
  • Moved adding test sources out of addSources mojo and into addTestSources.

Notes

None

1.0-beta-2

24 Mar 22:54
Compare
Choose a tag to compare
1.0-beta-2 Pre-release
Pre-release

Bugs

  • Fixed that GroovyDoc didn't include Java sources by default.
  • Fixed that stubs were missing imports.
  • Fixed that stub generation was bound to compile rather than generate-sources.

Enhancements

  • Log number of Groovy sources before compiling.
  • Log GroovyDoc sources.
  • Added links argument to GroovyDoc.

Potentially breaking changes

None

Notes

None