Merge branch '2.3.x'
This commit is contained in:
commit
f20c3e17f1
|
@ -37,12 +37,19 @@ public class PublishToSdkmanCommand implements Command {
|
||||||
|
|
||||||
private static final Logger logger = LoggerFactory.getLogger(PublishToSdkmanCommand.class);
|
private static final Logger logger = LoggerFactory.getLogger(PublishToSdkmanCommand.class);
|
||||||
|
|
||||||
|
private static final String PUBLISH_TO_SDKMAN_COMMAND = "publishToSdkman";
|
||||||
|
|
||||||
private final SdkmanService service;
|
private final SdkmanService service;
|
||||||
|
|
||||||
public PublishToSdkmanCommand(SdkmanService service) {
|
public PublishToSdkmanCommand(SdkmanService service) {
|
||||||
this.service = service;
|
this.service = service;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getName() {
|
||||||
|
return PUBLISH_TO_SDKMAN_COMMAND;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void run(ApplicationArguments args) throws Exception {
|
public void run(ApplicationArguments args) throws Exception {
|
||||||
logger.debug("Running 'push to SDKMAN' command");
|
logger.debug("Running 'push to SDKMAN' command");
|
||||||
|
|
|
@ -25,7 +25,6 @@ import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.http.RequestEntity;
|
import org.springframework.http.RequestEntity;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import org.springframework.util.StringUtils;
|
|
||||||
import org.springframework.web.client.RestTemplate;
|
import org.springframework.web.client.RestTemplate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -47,13 +46,15 @@ public class SdkmanService {
|
||||||
|
|
||||||
private final RestTemplate restTemplate;
|
private final RestTemplate restTemplate;
|
||||||
|
|
||||||
|
private final SdkmanProperties properties;
|
||||||
|
|
||||||
|
private final String CONSUMER_KEY_HEADER = "Consumer-Key";
|
||||||
|
|
||||||
|
private final String CONSUMER_TOKEN_HEADER = "Consumer-Token";
|
||||||
|
|
||||||
public SdkmanService(RestTemplateBuilder builder, SdkmanProperties properties) {
|
public SdkmanService(RestTemplateBuilder builder, SdkmanProperties properties) {
|
||||||
String consumerKey = properties.getConsumerKey();
|
|
||||||
String consumerToken = properties.getConsumerToken();
|
|
||||||
if (StringUtils.hasLength(consumerKey)) {
|
|
||||||
builder = builder.basicAuthentication(consumerKey, consumerToken);
|
|
||||||
}
|
|
||||||
this.restTemplate = builder.build();
|
this.restTemplate = builder.build();
|
||||||
|
this.properties = properties;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void publish(String version, boolean makeDefault) {
|
public void publish(String version, boolean makeDefault) {
|
||||||
|
@ -67,6 +68,8 @@ public class SdkmanService {
|
||||||
private void broadcast(String version) {
|
private void broadcast(String version) {
|
||||||
BroadcastRequest broadcastRequest = new BroadcastRequest(version);
|
BroadcastRequest broadcastRequest = new BroadcastRequest(version);
|
||||||
RequestEntity<BroadcastRequest> broadcastEntity = RequestEntity.post(URI.create(SDKMAN_URL + "announce/struct"))
|
RequestEntity<BroadcastRequest> broadcastEntity = RequestEntity.post(URI.create(SDKMAN_URL + "announce/struct"))
|
||||||
|
.header(CONSUMER_KEY_HEADER, this.properties.getConsumerKey())
|
||||||
|
.header(CONSUMER_TOKEN_HEADER, this.properties.getConsumerToken())
|
||||||
.contentType(MediaType.APPLICATION_JSON).body(broadcastRequest);
|
.contentType(MediaType.APPLICATION_JSON).body(broadcastRequest);
|
||||||
this.restTemplate.exchange(broadcastEntity, String.class);
|
this.restTemplate.exchange(broadcastEntity, String.class);
|
||||||
logger.debug("Broadcast complete");
|
logger.debug("Broadcast complete");
|
||||||
|
@ -76,6 +79,8 @@ public class SdkmanService {
|
||||||
logger.debug("Making this version the default");
|
logger.debug("Making this version the default");
|
||||||
Request request = new Request(version);
|
Request request = new Request(version);
|
||||||
RequestEntity<Request> requestEntity = RequestEntity.post(URI.create(SDKMAN_URL + "default"))
|
RequestEntity<Request> requestEntity = RequestEntity.post(URI.create(SDKMAN_URL + "default"))
|
||||||
|
.header(CONSUMER_KEY_HEADER, this.properties.getConsumerKey())
|
||||||
|
.header(CONSUMER_TOKEN_HEADER, this.properties.getConsumerToken())
|
||||||
.contentType(MediaType.APPLICATION_JSON).body(request);
|
.contentType(MediaType.APPLICATION_JSON).body(request);
|
||||||
this.restTemplate.exchange(requestEntity, String.class);
|
this.restTemplate.exchange(requestEntity, String.class);
|
||||||
logger.debug("Make default complete");
|
logger.debug("Make default complete");
|
||||||
|
@ -84,6 +89,8 @@ public class SdkmanService {
|
||||||
private void release(String version) {
|
private void release(String version) {
|
||||||
ReleaseRequest releaseRequest = new ReleaseRequest(version, String.format(DOWNLOAD_URL, version, version));
|
ReleaseRequest releaseRequest = new ReleaseRequest(version, String.format(DOWNLOAD_URL, version, version));
|
||||||
RequestEntity<ReleaseRequest> releaseEntity = RequestEntity.post(URI.create(SDKMAN_URL + "release"))
|
RequestEntity<ReleaseRequest> releaseEntity = RequestEntity.post(URI.create(SDKMAN_URL + "release"))
|
||||||
|
.header(CONSUMER_KEY_HEADER, this.properties.getConsumerKey())
|
||||||
|
.header(CONSUMER_TOKEN_HEADER, this.properties.getConsumerToken())
|
||||||
.contentType(MediaType.APPLICATION_JSON).body(releaseRequest);
|
.contentType(MediaType.APPLICATION_JSON).body(releaseRequest);
|
||||||
this.restTemplate.exchange(releaseEntity, String.class);
|
this.restTemplate.exchange(releaseEntity, String.class);
|
||||||
logger.debug("Release complete");
|
logger.debug("Release complete");
|
||||||
|
|
|
@ -25,7 +25,6 @@ import org.springframework.boot.test.autoconfigure.web.client.RestClientTest;
|
||||||
import org.springframework.http.HttpMethod;
|
import org.springframework.http.HttpMethod;
|
||||||
import org.springframework.http.MediaType;
|
import org.springframework.http.MediaType;
|
||||||
import org.springframework.test.web.client.MockRestServiceServer;
|
import org.springframework.test.web.client.MockRestServiceServer;
|
||||||
import org.springframework.util.Base64Utils;
|
|
||||||
|
|
||||||
import static org.springframework.test.web.client.match.MockRestRequestMatchers.content;
|
import static org.springframework.test.web.client.match.MockRestRequestMatchers.content;
|
||||||
import static org.springframework.test.web.client.match.MockRestRequestMatchers.header;
|
import static org.springframework.test.web.client.match.MockRestRequestMatchers.header;
|
||||||
|
@ -80,10 +79,8 @@ class SdkmanServiceTests {
|
||||||
|
|
||||||
private void setupExpectation(String url, String body) {
|
private void setupExpectation(String url, String body) {
|
||||||
this.server.expect(requestTo(url)).andExpect(method(HttpMethod.POST)).andExpect(content().json(body))
|
this.server.expect(requestTo(url)).andExpect(method(HttpMethod.POST)).andExpect(content().json(body))
|
||||||
.andExpect(header("Authorization",
|
.andExpect(header("Consumer-Key", "sdkman-consumer-key"))
|
||||||
"Basic " + Base64Utils.encodeToString(String
|
.andExpect(header("Consumer-Token", "sdkman-consumer-token"))
|
||||||
.format("%s:%s", this.properties.getConsumerKey(), this.properties.getConsumerToken())
|
|
||||||
.getBytes())))
|
|
||||||
.andExpect(header("Content-Type", MediaType.APPLICATION_JSON.toString())).andRespond(withSuccess());
|
.andExpect(header("Content-Type", MediaType.APPLICATION_JSON.toString())).andRespond(withSuccess());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -4,6 +4,6 @@ source $(dirname $0)/common.sh
|
||||||
|
|
||||||
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' )
|
version=$( cat artifactory-repo/build-info.json | jq -r '.buildInfo.modules[0].id' | sed 's/.*:.*:\(.*\)/\1/' )
|
||||||
|
|
||||||
java -jar /spring-boot-release-scripts.jar publishToSdkman $RELEASE_TYPE $version $BRANCH || {exit 1;}
|
java -jar /spring-boot-release-scripts.jar publishToSdkman $RELEASE_TYPE $version $BRANCH || { exit 1; }
|
||||||
|
|
||||||
echo "Push to SDKMAN complete"
|
echo "Push to SDKMAN complete"
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
platform: linux
|
platform: linux
|
||||||
inputs:
|
inputs:
|
||||||
- name: artifactory-repo
|
- name: artifactory-repo
|
||||||
|
- name: git-repo
|
||||||
params:
|
params:
|
||||||
RELEASE_TYPE:
|
RELEASE_TYPE:
|
||||||
BRANCH:
|
BRANCH:
|
||||||
|
|
Loading…
Reference in New Issue