-
-
Notifications
You must be signed in to change notification settings - Fork 633
Vendor onboarding process
Several steps are required for vendor onboarding on SDKMAN!
- The proposed candidate is distributed as a well-formed SDK archive.
- You have a public GPG key available for sharing encrypted credentials.
- You are an owner or maintainer of the candidate to be published.
Please create a new candidate raising a PR on our database migrations project. As shown below for this bogus candidate, the migration should live in a new changelog file and declare a single changeset. Do not add any versions, as you will use the API for this purpose later. Once merged, the candidate will appear in the SDKMAN CLI and on our website with a Coming Soon! annotation.
@ChangeLog(order = "004")
class BogusMigrations {
@ChangeSet(order = "001", id = "001_add_bogus_1_2_3", author = "myGithubUser")
def migration001(implicit db: MongoDatabase) = {
Candidate(
candidate = "bogus",
name = "Bogus",
description = "This is a fake candidate.",
websiteUrl = "https://bogus.example.org/",
distribution = "UNIVERSAL"
).insert()
}
}
BogusMigrations.scala
NOTE
The ChangeLog
has an order
parameter that should be set to the next highest value in the repository. You can determine this quickly by running the following command in the database migrations repository directory:
$ grep -R --no-filename '@ChangeLog' | sort | tail -n 1
@ChangeLog(order = "099")
Choose the following number in the sequence for your new changelog. In this example, it would be 100
.
The SDKMAN Vendor API is used to publish, default and announce new versions. Export your armoured public GPG key, then send it to [email protected] as a plain text file, and you will receive a response with an encrypted message containing API credentials.
Attempt your first release using the process outlined on our vendors page on the website. You can use several options via REST, Gradle or Maven release plugins.
For help getting set up or with general troubleshooting, please join our Slack #vendors channel. If you are not an SDKMAN Slack member, feel free to sign up in your browser with our Slackin service.