Skip to content

Releases: gradlex-org/maven-plugin-development

v1.0.1 - Kotlin DSL hot fix

13 Jan 09:20
v1.0.1
2a31b9e
Compare
Choose a tag to compare
  • [Fixed] #290 Configuring the plugin is broken in Kotlin DSL.

v1.0 - Move to GradleX

13 Jan 08:48
v1.0
9c20ebe
Compare
Choose a tag to compare

This release marks the move of this plugin to the GradleX project.
Consequently, this is a breaking release with features being dropped, plugin ID and code coordinate changes, and the implementation language changing from Kotlin to Java.
The minimal required Gradle version has been increased to 7.5.

  • [Fixed] #57 Remove javaClassesDir from GenerateMavenPluginDescriptorTask.
  • [Fixed] #210 Drop feature: Mojo source set.
    It's no longer possible to define a dedicated source set for defining the mojo. Use a dedicated project instead.
  • [Fixed] #212 Drop feature: Finding mojos in project dependencies.
    The plugin no longer searches for mojo implementations in dependent projects since this is not the way of modelling aggregation of build results in Gradle. Users who rely on this use case should instead apply this plugin to all projects with mojo implementations, set up a variant that exposes the descriptor, and then merge all exposed descriptor variants in an aggregator project.
  • [Fixed] 209 Drop feature: Mojo DSL.
    This feature was dropped without replacement. Annotate mojos using annotations defined in org.apache.maven.plugin-tools:maven-plugin-annotations instead of declaring them in your build script.
  • [Fixed] 278 Remove deprecated code.
    In particular this the generateHelpMojo property was removed. Users should configure helpMojoPackage with the desired target package for the generated help mojo.
  • [Fixed] 8 Support configuration cache.
  • [Fixed] 38 Don't use Property for lazy types.
    Instead of declaring fields of type Property<FileCollection> the GenerateMavenPluginDescriptorTask not declares fields of type ConfigurableFileCollection, which is more idiomatic.
  • [Fixed] 78 Migration to Java.
  • [Fixed] 203 Migration to GradleX namespace.
  • [Fixed] 283 Fix deprecation issued for accessing other projects.

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)
}