Spotify Root

The Spotify Root project helps establish consistent Maven conventions by being the parent POM for other participating projects.

License

License

GroupId

GroupId

com.spotify
ArtifactId

ArtifactId

foss-root
Last Version

Last Version

15
Release Date

Release Date

Type

Type

pom
Description

Description

Spotify Root
The Spotify Root project helps establish consistent Maven conventions by being the parent POM for other participating projects.
Project URL

Project URL

https://github.com/spotify/foss-root
Source Code Management

Source Code Management

https://github.com/spotify/foss-root

Download foss-root

Filename Size
foss-root-15.pom 9 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.spotify/foss-root/ -->
<dependency>
    <groupId>com.spotify</groupId>
    <artifactId>foss-root</artifactId>
    <version>15</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.spotify/foss-root/
implementation 'com.spotify:foss-root:15'
// https://jarcasting.com/artifacts/com.spotify/foss-root/
implementation ("com.spotify:foss-root:15")
'com.spotify:foss-root:pom:15'
<dependency org="com.spotify" name="foss-root" rev="15">
  <artifact name="foss-root" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.spotify', module='foss-root', version='15')
)
libraryDependencies += "com.spotify" % "foss-root" % "15"
[com.spotify/foss-root "15"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

foss-root

A root pom for configuring common release related plugins for open source maven projects.

Usage

There's still some boilerplate that has to go into your project pom.xml. Use the template below.

<project>
  <parent>
    <groupId>com.spotify</groupId>
    <artifactId>foss-root</artifactId>
    <version>LATEST-VERSION</version>
  </parent>
  
  <artifactId>YOUR_ARTIFACT_NAME</artifactId>
  <version>VERSION-SNAPSHOT</version>
  
  <licenses>
    <license>
      <name>The Apache Software License, Version 2.0</name>
      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
      <distribution>repo</distribution>
    </license>
  </licenses>
  
  <developers>
    <developer>
      ...
    </developer>
  </developers>
  
  <scm>
    <url>https://github.com/spotify/YOUR_REPO</url>
    <connection>scm:git:[email protected]:spotify/YOUR_REPO.git</connection>
    <developerConnection>scm:git:[email protected]:spotify/YOUR_REPO.git</developerConnection>
    <tag>HEAD</tag>
  </scm>
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-checkstyle-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-enforcer-plugin</artifactId>
      </plugin>
      <plugin>
        <artifactId>maven-failsafe-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
 </project>

By default your project will target Java 8. If you don't need Java 8 compatibility and you would like to target a later version of Java, set the maven.compiler.release property in your project, like so:

<properties>
  <maven.compiler.release>11</maven.compiler.release>
</properties>

After setting this up, you'll be able to

add license headers to all sources

mvn license:update-file-header

deploy snapshots

mvn deploy

deploy releases

mvn release:prepare
mvn release:perform
com.spotify

Spotify

Versions

Version
15
14
13
12
10
9
8
7
6
5
4
3
2
1