General

What does this project aim at?

This project's aim is to provide all kind of build meta data to a Maven project. This information can be included in the generated artifacts for further reference. The plugin provides basic meta data without any configuration burden for its users. If some information is not provided by default, users are free to add provider implementations without the need to write a Maven plugin by themselves.

[top]


Is this free software?
Yes. For details please refer to the license of this project. Note that this project depends on libraries that have different licenses. Have a look at the Dependencies' Licenses for details.

[top]


What are similar projects?
The buildnumber-maven-plugin provides a build number, too. While the maven-buildmetadata-plugin aims to make it easy to include any meta data within the generated artifact, the buildnumber-maven-plugin focuses on handling build numbers. If the way the maven-buildmetadata-plugin deals with build numbers does not meet your needs, we recommend to have a look at the buildnumber-maven-plugin.

[top]

User FAQ

I'm looking for a unique build number generated to identify the artifact created. Is a build number part of the meta data generated by this plugin?

No, we do not generate a consecutive build number. The problem is that this number has to be stored somewhere. In previous versions of this plugin this number was stored in the POM and then has to be given to the SCM. But changing the POM by each build seems somewhat odd. This information is relevant to the artifact created, but not to the source.

If you are looking for a unique number identifying the artifact, have a look at the revision number and/or the timestamp. The revision number ties the artifact to a state of your code base, while the timestamp uniquely identifies the time (in milliseconds) the artifact has been built.

If you still require this sequential number, please have a look at the Provider SPI. There you'll learn how to integrate your own implementation of a meta data provider.

[top]


The plugin fetched an SVN revision that is not part of the project's history. For instance, the reported SVN revision is 11102, but the history in my IDE only shows 11101 and 11103. What is wrong?

Probably nothing is wrong. The revision 11102 is the revision of the tag and may not be shown in the history of the trunk. If you list all revisions you will get something like the following list:

11103	21.03.12 23:33	1	robert.reiner	[maven-release-plugin] prepare for next development iteration
11102	21.03.12 23:33	1	robert.reiner	[maven-release-plugin]  copy for tag bugzilla-maven-plugin-0.4.1
11101	21.03.12 23:33	1	robert.reiner	[maven-release-plugin] prepare release bugzilla-maven-plugin-0.4.1
       

The revision number, the plugin receives from SVN, is that of the tag.

[top]


What SCM providers are supported?

Currently only the SVN provider has been tested. The implementation uses the mechanisms implemented by the maven-changelog-plugin. It is expected that the revision returned by the SCM on the latest file change is a revision number suitable to fetch the whole project.

[top]

Trouble Shooting

I added a properties element and the properties show up in the build.properties. But the report does not show the correct label. Instead the name of the property is shown.

Probably you have configured the properties in the plugin section, but it should be done in the report plugin section. This way one configuration is used for both mojos.

[top]