Releases: britter/maven-plugin-development
Gradle 8 compatibility
Java 17 support
This release only contains a single change (#89) which restores Java 17 compatibility. Thank you @dariuszkuc for contributing this fix.
Mojo class hierarchy support
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 fromGenerateMavenPluginDescriptorTask
without replacement.
Full Changelog: 0.3.1...0.4.0
Minor fixes and improvements
Fixed UP-TO-DATE checking
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 ofhelpMojoPackage
Breaking changes
- Class
de.benediktritter.maven.plugin.development.task.HelpGeneratorAccessor
has been removed
Better documentation
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
Extended DSL
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
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)
}