mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
Merge branch '2.2.x' into 2.3.x
This commit is contained in:
commit
aa24d623fe
@ -37,12 +37,19 @@ public class PublishToSdkmanCommand implements Command {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(PublishToSdkmanCommand.class);
|
||||
|
||||
private static final String PUBLISH_TO_SDKMAN_COMMAND = "publishToSdkman";
|
||||
|
||||
private final SdkmanService service;
|
||||
|
||||
public PublishToSdkmanCommand(SdkmanService service) {
|
||||
this.service = service;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return PUBLISH_TO_SDKMAN_COMMAND;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run(ApplicationArguments args) throws Exception {
|
||||
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.RequestEntity;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
/**
|
||||
@ -47,13 +46,15 @@ public class SdkmanService {
|
||||
|
||||
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) {
|
||||
String consumerKey = properties.getConsumerKey();
|
||||
String consumerToken = properties.getConsumerToken();
|
||||
if (StringUtils.hasLength(consumerKey)) {
|
||||
builder = builder.basicAuthentication(consumerKey, consumerToken);
|
||||
}
|
||||
this.restTemplate = builder.build();
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
public void publish(String version, boolean makeDefault) {
|
||||
@ -67,6 +68,8 @@ public class SdkmanService {
|
||||
private void broadcast(String version) {
|
||||
BroadcastRequest broadcastRequest = new BroadcastRequest(version);
|
||||
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);
|
||||
this.restTemplate.exchange(broadcastEntity, String.class);
|
||||
logger.debug("Broadcast complete");
|
||||
@ -76,6 +79,8 @@ public class SdkmanService {
|
||||
logger.debug("Making this version the default");
|
||||
Request request = new Request(version);
|
||||
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);
|
||||
this.restTemplate.exchange(requestEntity, String.class);
|
||||
logger.debug("Make default complete");
|
||||
@ -84,6 +89,8 @@ public class SdkmanService {
|
||||
private void release(String version) {
|
||||
ReleaseRequest releaseRequest = new ReleaseRequest(version, String.format(DOWNLOAD_URL, version, version));
|
||||
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);
|
||||
this.restTemplate.exchange(releaseEntity, String.class);
|
||||
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.MediaType;
|
||||
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.header;
|
||||
@ -80,10 +79,8 @@ class SdkmanServiceTests {
|
||||
|
||||
private void setupExpectation(String url, String body) {
|
||||
this.server.expect(requestTo(url)).andExpect(method(HttpMethod.POST)).andExpect(content().json(body))
|
||||
.andExpect(header("Authorization",
|
||||
"Basic " + Base64Utils.encodeToString(String
|
||||
.format("%s:%s", this.properties.getConsumerKey(), this.properties.getConsumerToken())
|
||||
.getBytes())))
|
||||
.andExpect(header("Consumer-Key", "sdkman-consumer-key"))
|
||||
.andExpect(header("Consumer-Token", "sdkman-consumer-token"))
|
||||
.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/' )
|
||||
|
||||
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"
|
||||
|
@ -2,6 +2,7 @@
|
||||
platform: linux
|
||||
inputs:
|
||||
- name: artifactory-repo
|
||||
- name: git-repo
|
||||
params:
|
||||
RELEASE_TYPE:
|
||||
BRANCH:
|
||||
|
Loading…
Reference in New Issue
Block a user