simpligility technologies inc. presents
The Progressive Company Super POM is a pom project for Apache Maven. It implements a so called "Company" or "Organizational POM", by locking down the versions of Maven plugins and further configuration. This is an important best practice for any organization using Maven.
It is called "progressive" because we are trying to keep up to date with the latest releases of all the referenced plugins. This is done by the believe that each new release of a plugin brings more good features and bug fixes tahn bad ones. New versions are therefore an improvement worth adopting. This is done even if this early adoption ends up finding issues in the believe that finding issues early by adopting new versions soon gets them fixed earlier.
The pom is deployed to the Central Repository and can therefore be used by just adding the following snippet to your project pom.xml file.
<parent> <groupId>com.simpligility.maven</groupId> <artifactId>progressive-company-super-pom</artifactId> <version>0.5.0</version> </parent>
Once you have done that, you can reference any plugin without a version and will inherit the latest version automatically from the Progressive Company Super POM e.g. like that
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> </plugin>
If, for some reason (unlikely but possible), you can not adopt the latest version of a specific plugin, you can and should still use this project as a parent pom and just override the one plugin version that is the offender. If you encounter this situation be sure to report the issue with the respective plugin.
The same applies for any plugin configuration inherited from this pom.
The first publicly announced release will be 1.0.0. Following versions will always use semantic versioning. Whenever one of the referenced plugins upgrades a major version, this project will upgrade major version by one. The same process will be followed with minor as well as bugfix versions. We also aim for a regular release schedule aiming initially for at least every 3 months, ideally every month, as well as ad hoc releases whenever often used plugins provide important updates.
Apache License, Version 2.0
For full text see LICENSE.txt file or http://www.apache.org/licenses/LICENSE-2.0
This is appropriately licensed to be easily used by commercial and open source projects alike. Please let us know if you are using this project and are happy to be listed here.