Skip to content

Releases: groovy/GMavenPlus

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

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