Skip to content

A company super pom with progressive focus towards using the latest and greatest Maven plugins.

License

Notifications You must be signed in to change notification settings

basil3whitehouse/progressive-company-super-pom

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

simpligility technologies inc. presents

Progressive Company Super POM

Introduction

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.

Usage

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.

Project Versioning and Updates

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.

License

Apache License, Version 2.0

For full text see LICENSE.txt file or http://www.apache.org/licenses/LICENSE-2.0

Contributions

are very welcome. Send a pull request or report issues on GitHub.

Known users of this project

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.

About

A company super pom with progressive focus towards using the latest and greatest Maven plugins.

Resources

License

Stars

Watchers

Forks

Packages

No packages published