diff --git a/pom.xml b/pom.xml
index 1d4464d4..19d15d77 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,7 +12,7 @@
org.springframework.cloud
spring-cloud-build
- 4.0.3
+ 4.0.6
@@ -47,6 +47,8 @@
1.1.0
1.12
4.11.0
+ 2.17.0
+ 4.0.6
@@ -145,6 +147,16 @@
awaitility
${awaitility.version}
+
+ org.jfrog.artifactory.client
+ artifactory-java-client-services
+ ${artifactory-client.version}
+
+
+ org.apache.groovy
+ groovy
+ ${groovy.version}
+
diff --git a/projects/spring-cloud/src/main/resources/application.yml b/projects/spring-cloud/src/main/resources/application.yml
index c840cfdd..320d1de6 100644
--- a/projects/spring-cloud/src/main/resources/application.yml
+++ b/projects/spring-cloud/src/main/resources/application.yml
@@ -113,3 +113,58 @@ releaser:
projects-to-skip:
- spring-boot
- spring-cloud-stream
+ bundles:
+ repos:
+ spring-cloud-build:
+ - "org/springframework/cloud/spring-cloud-build*"
+ - "org/springframework/cloud/spring-cloud-starter-build*"
+ - "org/springframework/cloud/spring-cloud-dependencies-parent*"
+ spring-cloud-config:
+ - "org/springframework/cloud/spring-cloud-config*"
+ - "org/springframework/cloud/spring-cloud-starter-config*"
+ spring-cloud-function:
+ - "org/springframework/cloud/spring-cloud-function*"
+ - "org/springframework/cloud/spring-cloud-starter-function*"
+ spring-cloud-stream:
+ - "org/springframework/cloud/spring-cloud-stream*"
+ - "org/springframework/cloud/spring-cloud-starter-stream*"
+ spring-cloud-task:
+ - "org/springframework/cloud/spring-cloud-task*"
+ - "org/springframework/cloud/spring-cloud-starter-task*"
+ spring-cloud-bus:
+ - "org/springframework/cloud/spring-cloud-bus*"
+ - "org/springframework/cloud/spring-cloud-starter-bus*"
+ spring-cloud-commons:
+ - "org/springframework/cloud/spring-cloud-commons*"
+ - "org/springframework/cloud/spring-cloud-starter-commons*"
+ spring-cloud-netflix:
+ - "org/springframework/cloud/spring-cloud-netflix*"
+ - "org/springframework/cloud/spring-cloud-starter-netflix*"
+ spring-cloud-openfeign:
+ - "org/springframework/cloud/spring-cloud-openfeign*"
+ - "org/springframework/cloud/spring-cloud-starter-openfeign*"
+ spring-cloud-consul:
+ - "org/springframework/cloud/spring-cloud-consul*"
+ - "org/springframework/cloud/spring-cloud-starter-consul*"
+ spring-cloud-circuitbreaker:
+ - "org/springframework/cloud/spring-cloud-circuitbreaker*"
+ - "org/springframework/cloud/spring-cloud-starter-circuitbreaker*"
+ spring-cloud-gateway:
+ - "org/springframework/cloud/spring-cloud-gateway*"
+ - "org/springframework/cloud/spring-cloud-starter-gateway*"
+ spring-cloud-zookeeper:
+ - "org/springframework/cloud/spring-cloud-zookeeper*"
+ - "org/springframework/cloud/spring-cloud-starter-zookeeper*"
+ spring-cloud-contract:
+ - "org/springframework/cloud/spring-cloud-contract*"
+ - "org/springframework/cloud/spring-cloud-starter-contract*"
+ spring-cloud-kubernetes:
+ - "org/springframework/cloud/spring-cloud-kubernetes*"
+ - "org/springframework/cloud/spring-cloud-starter-kubernetes*"
+ spring-cloud-vault:
+ - "org/springframework/cloud/spring-cloud-vault*"
+ - "org/springframework/cloud/spring-cloud-starter-vault*"
+ # This is Spring Cloud Release, the POM id is spring-cloud-starter-build
+ spring-cloud-starter-build:
+ - "org/springframework/cloud/spring-cloud-starter*"
+ - "org/springframework/cloud/spring-cloud-dependencies*"
diff --git a/releaser-core/pom.xml b/releaser-core/pom.xml
index 968d34e6..b0ee9beb 100644
--- a/releaser-core/pom.xml
+++ b/releaser-core/pom.xml
@@ -91,6 +91,14 @@
io.spring.initializr
initializr-metadata
+
+ org.jfrog.artifactory.client
+ artifactory-java-client-services
+
+
+ org.apache.groovy
+ groovy
+
org.springframework.boot
spring-boot-starter-test
diff --git a/releaser-core/src/test/java/releaser/internal/ReleaserTests.java b/releaser-core/src/test/java/releaser/internal/ReleaserTests.java
index 513bc71b..432e22db 100644
--- a/releaser-core/src/test/java/releaser/internal/ReleaserTests.java
+++ b/releaser-core/src/test/java/releaser/internal/ReleaserTests.java
@@ -17,6 +17,7 @@
package releaser.internal;
import java.io.File;
+import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.function.Supplier;
@@ -31,6 +32,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
import releaser.SpringCloudReleaserProperties;
import releaser.internal.buildsystem.GradleUpdater;
import releaser.internal.buildsystem.ProjectPomUpdater;
+import releaser.internal.commercial.ReleaseBundleCreator;
import releaser.internal.docs.DocumentationUpdater;
import releaser.internal.git.ProjectGitHandler;
import releaser.internal.github.ProjectGitHubHandler;
@@ -92,7 +94,13 @@ public class ReleaserTests {
Releaser releaser(Supplier originalVersionSupplier) {
return new Releaser(SpringCloudReleaserProperties.get(), this.projectPomUpdater, this.projectCommandExecutor,
this.projectGitHandler, this.projectGitHubHandler, this.templateGenerator, this.gradleUpdater,
- this.saganUpdater, this.documentationUpdater, this.postReleaseActions) {
+ this.saganUpdater, this.documentationUpdater, this.postReleaseActions,
+ new ReleaseBundleCreator(SpringCloudReleaserProperties.get()) {
+ @Override
+ public boolean createReleaseBundle(String json) throws IOException {
+ return true;
+ }
+ }) {
@Override
ProjectVersion originalVersion(File project) {
return originalVersionSupplier.get();
@@ -103,7 +111,13 @@ public class ReleaserTests {
Releaser releaser() {
return new Releaser(new ReleaserProperties(), this.projectPomUpdater, this.projectCommandExecutor,
this.projectGitHandler, this.projectGitHubHandler, this.templateGenerator, this.gradleUpdater,
- this.saganUpdater, this.documentationUpdater, this.postReleaseActions);
+ this.saganUpdater, this.documentationUpdater, this.postReleaseActions,
+ new ReleaseBundleCreator(SpringCloudReleaserProperties.get()) {
+ @Override
+ public boolean createReleaseBundle(String json) throws IOException {
+ return true;
+ }
+ });
}
@Test
diff --git a/releaser-spring/src/main/java/releaser/internal/spring/ReleaserConfiguration.java b/releaser-spring/src/main/java/releaser/internal/spring/ReleaserConfiguration.java
index dd1b20a9..9768a34b 100644
--- a/releaser-spring/src/main/java/releaser/internal/spring/ReleaserConfiguration.java
+++ b/releaser-spring/src/main/java/releaser/internal/spring/ReleaserConfiguration.java
@@ -24,6 +24,7 @@ import releaser.internal.ReleaserProperties;
import releaser.internal.ReleaserPropertiesUpdater;
import releaser.internal.buildsystem.GradleUpdater;
import releaser.internal.buildsystem.ProjectPomUpdater;
+import releaser.internal.commercial.ReleaseBundleCreator;
import releaser.internal.docs.CustomProjectDocumentationUpdater;
import releaser.internal.docs.DocumentationUpdater;
import releaser.internal.git.ProjectGitHandler;
@@ -154,10 +155,10 @@ class ReleaserConfiguration {
ProjectGitHandler projectGitHandler, ProjectGitHubHandler projectGitHubHandler,
TemplateGenerator templateGenerator, GradleUpdater gradleUpdater, SaganUpdater saganUpdater,
DocumentationUpdater documentationUpdater, PostReleaseActions postReleaseActions,
- ReleaserProperties releaserProperties) {
+ ReleaserProperties releaserProperties, ReleaseBundleCreator releaseBundleCreator) {
return new Releaser(releaserProperties, projectPomUpdater, projectCommandExecutor, projectGitHandler,
projectGitHubHandler, templateGenerator, gradleUpdater, saganUpdater, documentationUpdater,
- postReleaseActions);
+ postReleaseActions, releaseBundleCreator);
}
@Bean
@@ -173,4 +174,10 @@ class ReleaserConfiguration {
return new OptionsParser(allTasks, singleProjectReleaserTasks, context);
}
+ @Bean
+ @ConditionalOnMissingBean
+ ReleaseBundleCreator releaseBundleCreator(ReleaserProperties properties) {
+ return new ReleaseBundleCreator(properties);
+ }
+
}