Skip to content

Vendor Onboarding

Chloe41427 edited this page Sep 27, 2026 · 1 revision

Vendor Onboarding

SDKMAN! lets SDK vendors publish their releases directly onto the platform, so that millions of developers can install them with a single sdk install command. This page explains who qualifies, how to get set up, and where to go next.

If you just want to publish versions and already have an account, jump to the Vendor API Integration Guide.


Which path applies to you?

There are three distinct routes onto SDKMAN!, and picking the right one saves everyone time.

☕ Java distributions: nothing to do

Every Java distribution on SDKMAN! (Temurin, Corretto, Zulu, GraalVM, Liberica, and the rest) is sourced automatically from the Foojay DISCO API, which pushes new builds to us directly.

You do not use the vendor API for Java. If a Java version is missing, it usually means DISCO hasn't picked it up yet - raise it with the Foojay DISCO project or the distribution vendor.

Want to add a new JDK distribution to SDKMAN!? Come and talk to us in the #vendors channel on Discord and we'll help you get it onboarded.

📦 Vendor-managed candidates: use the API

If you maintain a JVM SDK other than Java (such as a build tool, language, framework, or CLI) and you want to publish your own releases as they happen, you're a vendor-managed candidate. You get an account and publish versions yourself through the SDKMAN! State API.

This is what the rest of this guide is about. See Getting started as a vendor below.

🆕 A candidate that isn't on SDKMAN! yet

If your SDK isn't a candidate on SDKMAN! at all, it needs to be created first. See Requesting a new candidate.

🚫 What doesn't qualify

SDKMAN! is focused on the JVM ecosystem. A tool qualifies if it's either built on the JVM or directly serves JVM developers (build tools, JVM languages, frameworks, and the like).

Tools with no connection to the JVM universe are out of scope - for example Go, Rust, Node.js, Python, or Ruby toolchains. They're excellent tools; they just belong with ecosystem-specific managers rather than SDKMAN!. If you're not sure which side of the line your project falls on, ask in the #vendors channel on Discord before applying and we'll let you know.


Requesting a new candidate

Before any versions can be published, the candidate itself must exist in the SDKMAN! registry (this is what drives sdk list).

For now, new candidates are created by hand. Email info@sdkman.io with:

  • Candidate identifier - lowercase, letters and digits only, max 20 characters (e.g. gradle, springboot). This is what users type: sdk install <identifier>.
  • Display name - e.g. Gradle, Spring Boot.
  • Description - one to three sentences, starting with the product name and ending with a full stop. Factual, no marketing or exclamation marks. It shows in full in sdk list (wrapped at 80 columns), so aim for 2-5 lines; keep it to a single paragraph of plain ASCII.
  • Website URL - an https:// link to your project's homepage.

We'll register the candidate and set up your vendor account in one go.

Coming soon: a self-service, YAML-based workflow for candidate and version updates is planned to replace this manual step. Until then, email is the way.


Getting started as a vendor

  1. Request access. Join us on Discord and start a new thread in the #vendors channel introducing your project: what it is, who's behind it, and what you'd like to publish. If your candidate doesn't exist yet, see Requesting a new candidate first. Prefer email? Reach us at info@sdkman.io.
  2. Share a public PGP key. Our preferred way to deliver credentials securely is encrypted over PGP. Sending an armoured public PGP key (gpg --armor --export) is the smoothest path; if that's tricky for you, say so and we'll sort out a secure alternative.
  3. We provision your account. You'll receive a vendor email and a generated password (encrypted to your PGP key), scoped to the specific candidate(s) you're authorised to publish. Store it somewhere safe.
  4. Integrate. Follow the Vendor API Integration Guide to authenticate (JWT) and publish versions - with curl and GitHub Actions examples.

Reference

Questions? The #vendors channel on Discord is the fastest way to reach us.

Clone this wiki locally