An open API service indexing awesome lists of open source software.

https://github.com/smallrye/smallrye-maven-plugin


https://github.com/smallrye/smallrye-maven-plugin

Last synced: 8 months ago
JSON representation

Awesome Lists containing this project

README

          

:ci: https://github.com/smallrye/smallrye-maven-plugin/actions?query=workflow%3A%22SmallRye+Build%22

image:https://github.com/smallrye/smallrye-maven-plugin/workflows/SmallRye%20Build/badge.svg?branch=main[link={ci}]
image:https://img.shields.io/github/license/smallrye/smallrye-maven-plugin.svg["License", link="http://www.apache.org/licenses/LICENSE-2.0"]
image:https://img.shields.io/maven-central/v/io.smallrye/smallrye-maven-plugin?color=green[]

= SmallRye Maven Plugin

== About

The SmallRye Maven Plugin is a project which aims to provide some automation that
can be utilized by SmallRye implementation projects in order to perform common
tasks.

== Features

=== Goal: `generate-info`

The `generate-info` goal generates a class in the base package of your project which
gives version information about that project. The following configuration parameters
are supported:

* `specVersion` (required) - The specification version being implemented
by this project. In many cases you can directly set this to the value of the property
containing the MicroProfile/Jakarta/etc. spec artifact version.
* `implementationVersion` (required, defaults to `${project.version}`) - The implementation
version.
* `packageName` (required) - The name of the base package into which the class should be generated.
Typically this is something like `io.smallrye.projectname`.
* `className` (required, defaults to `SmallRyeInfo`) - The name of the class to generate. Normally
this should be left to the default value.
* `sourceOutput` (required, defaults to `${project.build.directory}/generated-sources/smallrye-info`) -
This property determines where the generated sources are written. The directory named by this
property will automatically be added to the project as a source root.

== Usage

This plugin is intended to be consumed by SmallRye projects (not end user programs).

To include the plugin in a project, add the following plugin definition to the project POM:

.POM snippet
[source,xml]

io.smallrye
smallrye-maven-plugin









See above for information about the available goals and their configuration parameters.

The SmallRye parent POM (https://github.com/smallrye/smallrye-parent) should normally be inherited,
which will configure the correct version of this plugin.

=== Example

.POM example
[source,xml]

io.smallrye
smallrye-maven-plugin



generate-info




io.smallrye.projectname
${version.eclipse.microprofile.projectname}