Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/52north/maven-parents

Parent POM's for 52°North
https://github.com/52north/maven-parents

maven parent-pom

Last synced: about 7 hours ago
JSON representation

Parent POM's for 52°North

Awesome Lists containing this project

README

        

# Parent POM's for 52°North [![Build Status](https://travis-ci.org/52North/maven-parents.svg?branch=master)](https://travis-ci.org/52North/maven-parents) [![Maven Central](https://img.shields.io/maven-central/v/org.n52/parent.svg)](https://search.maven.org/#search|gav|1|g:org.n52%20AND%20a:parent)

## Usage

To apply the 52°North parent pom in your project, add the following to your project's `pom.xml` file.
```xml

org.n52
parent
24

```

### Define additional repositories in your pom file
```xml

org.apache.maven.plugins
maven-enforcer-plugin



enforce





false

true


repo ids





```

### Ignore specific dependencies from analysis

If you use only constants from a dependency, you may have to declare it explicitly as used:

```xml

org.apache.maven.plugins
maven-dependency-plugin


${groupId}:${artifactId}

```

### Unused listed dependencies

If you have dependencies that are used only at runtime, e.g. SAXON XSLT processor or a logging framework such as log4j encapsuled by slf4j, then you must include these dependencies as `runtime` as shown in the example below. Otherwise the enforcer plugin will complain about unused dependencies.

```xml
[..]

org.apache.logging.log4j
log4j-slf4j-impl
${version.log4j}
runtime

net.sf.saxon
Saxon-HE
9.6.0-7
runtime

[..]
```

## Deployment

Put your [Sonatype OSS](https://oss.sonatype.org/) credentials into your `.m2/settings.xml` like this:

```xml



sonatype-nexus-releases
$username
$password


sonatype-nexus-snapshots
$username
$password

```

### Snapshot

Shouldn't be needed in most cases, as `master` is automatically deployed, but just in case:
```sh
mvn deploy
```

### Release
```sh
mvn release:prepare
mvn release:perform
```