Skip to content

Releases: britter/maven-plugin-development

Gradle 8 compatibility

05 Jun 21:07
0.4.2
66308d4
Compare
Choose a tag to compare

What's Changed

  • Upgraded Gradle Wrapper to 8.1.1 by @nulls in #94

New Contributors

  • @nulls made their first contribution in #94

Full Changelog: 0.4.1...0.4.2

Java 17 support

20 Jan 19:53
0.4.1
3d2f608
Compare
Choose a tag to compare

This release only contains a single change (#89) which restores Java 17 compatibility. Thank you @dariuszkuc for contributing this fix.

Mojo class hierarchy support

12 Mar 20:03
0.4.0
3334eeb
Compare
Choose a tag to compare

Bug fixes

  • Descriptor generation is up to date although mojo dependency changed (#13)
  • @Parameter in abstract classes in other modules are ignored (#73)

Breaking changes

  • The mojo configuration was removed without replacement. The plugin now searches the compile classpath instead.
  • Property mojoDependencies dropped from GenerateMavenPluginDescriptorTask without replacement.

Full Changelog: 0.3.1...0.4.0

Minor fixes and improvements

27 Sep 14:55
0.3.1
94867f6
Compare
Choose a tag to compare
  • Build cache support (#7)
  • Plugin jar contains LICENSE file (#26)
  • Additional project metadata added to published plugin POMs (#47)
  • More idiomatic task dependency modelling (#35)

Fixed UP-TO-DATE checking

02 Aug 14:57
0.3.0
01df2eb
Compare
Choose a tag to compare

This release fixes UP-TO-DATE checking which previously did not work.
This come however at the cost of an incompatible change so users have to modify their builds in order to continue using the plugin.

Note: This release includes a change in behavior of the HelpMojo generation.
Before 0.3.0 generation of a HelpMojo could be turned on by setting generateHelpMojo to true.
Starting with 0.3.0 generateHelpMojo is deprecated and replaced by helpMojoPackage.
Users now need to define the package of the HelpMojo.
This fixes problems with up-to-date checking (see #16).

Bug fixes

  • Task descriptions for help and descriptor task are swapped (#34)
  • Help mojo task is never up to date because descriptor tasks modifies outputs (#16)

Deprecations

  • The generateHelpMojo setting has been deprecated in favor of helpMojoPackage

Breaking changes

  • Class de.benediktritter.maven.plugin.development.task.HelpGeneratorAccessor has been removed

Better documentation

02 May 16:16
0.2.1
8b8fa8c
Compare
Choose a tag to compare

I'm happy to announce the third release of maven-plugin-development! 🎉 Most of the work in this release went into the documentation which is no based on Asciidoctor and can be viewed on here.

New Features

  • Tasks provide proper descriptions (#22)

Bug Fixes

  • Build fails when java plugin is not applied explicitly (#19)
  • Typing of parameters API is incorrect (#23)

Extended DSL

16 Apr 19:34
0.2.0
5c15ba3
Compare
Choose a tag to compare

I'm happy to announce the second release of the maven-plugin-development plugin. This release features an extend DSL that give build others more control over what is written to the generated maven plugin descriptor.

New Features

  • Add DSL for declaring mojos in the build script (#4)
  • Provide way to configure plugin dependencies (#12)
  • Define dedicated configuration for projects providing mojos (#11)
  • Add support for mojos from other projects (#3)

Bug Fixes

  • Force version upgrade of qdox (#9)

Breaking changes

  • Package de.benediktritter.maven.plugin.development.model has been removed.

Initial release

05 Apr 16:50
0.1.0
b7ea07d
Compare
Choose a tag to compare

I'm proud to announce the initial release of the maven-plugin-development plugin 🎉
This plugin aims to fill the tiny gap for people who need to create an Apache Maven plugin from a Gradle build.
To do this the plugin wraps around the Maven Plugin Tools API and feeds it with the right inputs from the Gradle build.

Features

  • Automatic generation of a maven plugin descriptor containing all mojos in the selected source set (by default the plugin looks for mojo implementations in the main source set)
  • Support for annotation and JavaDoc tag based mojo implementations
  • Optional generation of a help mojo implementation

Usage

Once applied, the plugin adds a MavenPluginDevelopmentExtension with name mavenPlugin to the project.
All meta data for the plugin, e.g. groupId, artifactId, description is extracted from the corresponding project properties.
The only setting that users might want to configure is generateHelpMojo which is false be default, meaning not help mojo will be generated.

Gradle Groovy DSL

plugins {
  id 'de.benediktritter.maven-plugin-development' version '0.1.0'
}

mavenPlugin {
  // optional, false by default
  generateHelpMojo = true
}

Gradle Kotlin DSL

plugins {
  id("de.benediktritter.maven-plugin-development") version "0.1.0"
}

mavenPlugin {
  // optional, false by default
  generateHelpMojo.set(true)
}