Add support for webflux in spring-cloud-function

Closes gh-733
This commit is contained in:
Dave Syer 2018-09-12 09:31:00 +01:00 committed by Andy Wilkinson
parent 1e07eb3a3d
commit 26813fac24
2 changed files with 17 additions and 0 deletions

View File

@ -22,6 +22,7 @@ import java.util.List;
import io.spring.initializr.generator.ProjectRequest;
import io.spring.initializr.metadata.Dependency;
import io.spring.initializr.metadata.InitializrMetadata;
import io.spring.initializr.util.Version;
import org.springframework.stereotype.Component;
@ -41,6 +42,8 @@ class SpringCloudFunctionRequestPostProcessor
static final Dependency WEB_ADAPTER = Dependency.withId("cloud-function-web",
"org.springframework.cloud", "spring-cloud-function-web");
static final Version BOOT_21 = Version.parse("2.1.0.x");
@Override
public void postProcessAfterResolution(ProjectRequest request,
InitializrMetadata metadata) {
@ -54,6 +57,10 @@ class SpringCloudFunctionRequestPostProcessor
if (hasDependency(request, "web")) {
swap.add(WEB_ADAPTER);
}
if (hasDependency(request, "webflux")
&& Version.parse(request.getBootVersion()).compareTo(BOOT_21) >= 0) {
swap.add(WEB_ADAPTER);
}
if (!swap.isEmpty()) {
request.getResolvedDependencies().remove(cloudFunction);
request.getResolvedDependencies().addAll(swap);

View File

@ -17,6 +17,7 @@
package io.spring.initializr.service.extension;
import io.spring.initializr.generator.ProjectRequest;
import org.junit.Test;
/**
@ -62,4 +63,13 @@ public class SpringCloudFunctionRequestPostProcessorTests
.hasDependenciesCount(3);
}
@Test
public void webflux() {
ProjectRequest request = createProjectRequest("webflux", "cloud-function");
request.setBootVersion("2.1.0.BUILD-SNAPSHOT");
generateMavenPom(request).hasDependency(getDependency("webflux"))
.hasDependency(SpringCloudFunctionRequestPostProcessor.WEB_ADAPTER)
.hasDependenciesCount(4);
}
}