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

https://github.com/mam-dev/foss-parent

Parent POM for 1-and-1 open source projects using Maven.
https://github.com/mam-dev/foss-parent

Last synced: 22 days ago
JSON representation

Parent POM for 1-and-1 open source projects using Maven.

Awesome Lists containing this project

README

          

Parent POM for 1-and-1 open source projects.

Contains common configuration for projects that use github and Sonatype OSS Repository Hosting.
Default License is Apache 2.0.

[![Build Status](https://travis-ci.org/1and1/foss-parent.svg?branch=master)](https://travis-ci.org/1and1/foss-parent)
[![Build Status](https://gitlab.com/mfriedenhagen/foss-parent/badges/master/build.svg)](https://gitlab.com/mfriedenhagen/foss-parent/commits/master)
[![Release](https://img.shields.io/maven-central/v/net.oneandone.maven.poms/foss-parent.svg)](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.oneandone.maven.poms%22%20AND%20a%3A%22foss-parent%22)
[![GitHub license](https://img.shields.io/github/license/1and1/foss-parent.svg)]()

Changelog
---------
http://1and1.github.io/foss-parent/github-report.html

How to use the POM
------------------

* for general information about using a parent pom take a look at http://maven.apache.org/guides/introduction/introduction-to-the-pom.html.
* it boils down to define a parent element in your own POM:

```

4.0.0

net.oneandone.maven.poms
foss-parent
${project.version}

sample-groupId
sample-project
1-SNAPSHOT
[...]

```

Latest releases
---------------

... may be found at [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.oneandone.maven.poms%22%20AND%20a%3A%22foss-parent%22%20AND%20p%3A%22pom%22
).

Rules for versions
------------------

* **Major** version bump for cases where the user of the ``pom`` MUST change or add stuff in her project (new file is needed, plugin or dependency not defined in the ``pom``anymore)
* **Minor** version bump for cases where versions of managed dependencies or managed plugins receive a major update so most of the times a quick fix would be to freeze the versions of the aforementioned dependencies or plugins in the project's ``pom``. This includes additions of managed plugins or dependencies as well.
* **Micro** version bump for cases where where versions of managed dependencies or managed plugins receive a minor update.

Releasing a project
-------------------

... to [Maven Central](http://maven.apache.org/guides/mini/guide-central-repository-upload.html) via [Sonatype OSS Repository Hosting](http://central.sonatype.org/pages/ossrh-guide.html):

* add the following to your settings:

>
>
>
> sonatype-nexus-snapshots
> sonatype-user
> sonatype-pwd
>
>
> sonatype-nexus-staging
> sonatype-user
> sonatype-pwd
>
>
>

* `mvn release:prepare`
* `mvn release:perform`
* close and release staging repository: https://oss.sonatype.org/index.html#stagingRepositories

TODO: http://www.sonatype.com/books/nexus-book/reference/staging-sect-managing-plugin.html

Deploy site to github
---------------------

To deploy a site to github using [maven-scm-publish-plugin](http://maven.apache.org/plugins/maven-scm-publish-plugin/):

* Add a new branch `gh-pages` [manually](https://help.github.com/articles/creating-project-pages-manually).
* Add `src/site/resources/.nojekyll` [to add hidden files (e.g. for jacoco)](http://illegalstateexception.blogspot.de/2013/01/publishing-maven-site-having-jacoco.html) as well.
* Run `mvn clean verify site site:stage scm-publish:publish-scm -Dscmpublish.content=target/staging/ARTIFACTID`.

Adjust license headers
----------------------

> mvn license:format