Skip to content

Guides

Maven Packages

Stout implements the Maven repository protocol with POM and JAR serving, dynamic maven-metadata.xml generation, and checksum verification.

Configure Your Client

Add the Stout repository to your pom.xml:

<!-- pom.xml -->
<repositories>
  <repository>
    <id>stout</id>
    <url>https://registry.stout.io/maven/myorg</url>
  </repository>
</repositories>

For Gradle:

repositories {
    maven {
        url = uri("https://registry.stout.io/maven/myorg")
    }
}

Install a Package

mvn dependency:resolve

Or with Gradle:

gradle dependencies

Publish a Package

Stout builds from source. Submit a build via the API:

curl -X POST https://registry.stout.io/api/v1/builds \
  -H "Authorization: Bearer $STOUT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "format": "maven",
    "repo": "https://github.com/myorg/my-library",
    "version": "1.2.0"
  }'

Authentication

For private packages, configure credentials in ~/.m2/settings.xml:

<!-- ~/.m2/settings.xml -->
<settings>
  <servers>
    <server>
      <id>stout</id>
      <username>token</username>
      <password>${env.STOUT_TOKEN}</password>
    </server>
  </servers>
</settings>

Endpoints

Method Path Description
GET /maven/:owner/*path Serve JAR, POM, metadata, checksums