feat: introduce new broker api

This commit is contained in:
Marco Vermeulen
2025-07-23 22:50:19 +01:00
committed by Marco Vermeulen
parent b8d230b520
commit a6173ca034
6 changed files with 20 additions and 2 deletions

View File

@@ -14,10 +14,13 @@ ext.release = hasProperty('release') ? release : 'latest'
if ("$environment" == 'stable') {
ext.candidatesApi = 'https://api.sdkman.io/2'
ext.brokerApi = 'https://broker.sdkman.io'
} else if ("$environment" == 'beta') {
ext.candidatesApi = 'https://beta.sdkman.io/2'
ext.brokerApi = 'https://broker.sdkman.io'
} else {
ext.candidatesApi = 'http://localhost:8080/2'
ext.brokerApi = 'https://localhost:8080'
}
ext.sdkmanVersion = ext.release == 'latest' ? "latest+${ext.hash}".toString() : ext.release
@@ -26,6 +29,7 @@ println("Environment is set to: $environment")
println("Short git hash: $hash")
println("Release set to: $release")
println("Candidates API: $candidatesApi")
println("Broker API: $brokerApi")
println("Version: $sdkmanVersion")
apply from: 'gradle/archive.gradle'

View File

@@ -10,7 +10,8 @@ task prepareBin(type: Copy) {
filter(
ReplaceTokens,
tokens: [
SDKMAN_CANDIDATES_API: candidatesApi
SDKMAN_CANDIDATES_API: candidatesApi,
SDKMAN_BROKER_API: brokerApi
]
)
}

View File

@@ -21,6 +21,10 @@ if [ -z "$SDKMAN_CANDIDATES_API" ]; then
export SDKMAN_CANDIDATES_API="@SDKMAN_CANDIDATES_API@"
fi
if [ -z "$SDKMAN_BROKER_API" ]; then
export SDKMAN_BROKER_API="@SDKMAN_BROKER_API@"
fi
if [ -z "$SDKMAN_DIR" ]; then
export SDKMAN_DIR="$HOME/.sdkman"
fi

View File

@@ -123,7 +123,7 @@ function __sdkman_download() {
mkdir -p "${metadata_folder}"
local platform_parameter="$SDKMAN_PLATFORM"
local download_url="${SDKMAN_CANDIDATES_API}/broker/download/${candidate}/${version}/${platform_parameter}"
local download_url="${SDKMAN_BROKER_API}/download/${candidate}/${version}/${platform_parameter}"
local base_name="${candidate}-${version}"
local tmp_headers_file="${SDKMAN_DIR}/tmp/${base_name}.headers.tmp"
local headers_file="${metadata_folder}/${base_name}.headers"

View File

@@ -23,6 +23,7 @@ class SdkmanBashEnvBuilder {
private String platform = UnixUtils.inferPlatform()
private boolean offlineMode = false
private String candidatesApi = "http://localhost:8080/2"
private String brokerApi = "http://localhost:8080/2"
private String jdkHome = "/path/to/my/jdk"
private String httpProxy
private String scriptVersion
@@ -82,6 +83,11 @@ class SdkmanBashEnvBuilder {
this
}
SdkmanBashEnvBuilder withBrokerApi(String service) {
this.brokerApi = service
this
}
SdkmanBashEnvBuilder withJdkHome(String jdkHome) {
this.jdkHome = jdkHome
this
@@ -138,6 +144,7 @@ class SdkmanBashEnvBuilder {
SDKMAN_CANDIDATES_DIR: sdkmanCandidatesDir.absolutePath,
SDKMAN_OFFLINE_MODE : "$offlineMode",
SDKMAN_CANDIDATES_API: candidatesApi,
SDKMAN_BROKER_API : brokerApi,
sdkman_debug_mode : Boolean.toString(debugMode),
JAVA_HOME : jdkHome
]

View File

@@ -85,6 +85,7 @@ And(~'^an initialised environment$') { ->
bash = SdkmanBashEnvBuilder.create(sdkmanBaseDir)
.withOfflineMode(offlineMode)
.withCandidatesApi(serviceUrlEnv)
.withBrokerApi(serviceUrlEnv)
.withJdkHome(javaHome)
.withHttpProxy(HTTP_PROXY)
.withScriptVersion(sdkmanScriptVersion)
@@ -97,6 +98,7 @@ And(~'^an initialised environment without debug prints$') { ->
bash = SdkmanBashEnvBuilder.create(sdkmanBaseDir)
.withOfflineMode(offlineMode)
.withCandidatesApi(serviceUrlEnv)
.withBrokerApi(serviceUrlEnv)
.withJdkHome(javaHome)
.withHttpProxy(HTTP_PROXY)
.withScriptVersion(sdkmanScriptVersion)