mirror of
https://gitee.com/dcren/initializr.git
synced 2025-07-17 19:37:35 +08:00
Add support for webflux in spring-cloud-function
Closes gh-733
This commit is contained in:
parent
1e07eb3a3d
commit
26813fac24
@ -22,6 +22,7 @@ import java.util.List;
|
|||||||
import io.spring.initializr.generator.ProjectRequest;
|
import io.spring.initializr.generator.ProjectRequest;
|
||||||
import io.spring.initializr.metadata.Dependency;
|
import io.spring.initializr.metadata.Dependency;
|
||||||
import io.spring.initializr.metadata.InitializrMetadata;
|
import io.spring.initializr.metadata.InitializrMetadata;
|
||||||
|
import io.spring.initializr.util.Version;
|
||||||
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@ -41,6 +42,8 @@ class SpringCloudFunctionRequestPostProcessor
|
|||||||
static final Dependency WEB_ADAPTER = Dependency.withId("cloud-function-web",
|
static final Dependency WEB_ADAPTER = Dependency.withId("cloud-function-web",
|
||||||
"org.springframework.cloud", "spring-cloud-function-web");
|
"org.springframework.cloud", "spring-cloud-function-web");
|
||||||
|
|
||||||
|
static final Version BOOT_21 = Version.parse("2.1.0.x");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void postProcessAfterResolution(ProjectRequest request,
|
public void postProcessAfterResolution(ProjectRequest request,
|
||||||
InitializrMetadata metadata) {
|
InitializrMetadata metadata) {
|
||||||
@ -54,6 +57,10 @@ class SpringCloudFunctionRequestPostProcessor
|
|||||||
if (hasDependency(request, "web")) {
|
if (hasDependency(request, "web")) {
|
||||||
swap.add(WEB_ADAPTER);
|
swap.add(WEB_ADAPTER);
|
||||||
}
|
}
|
||||||
|
if (hasDependency(request, "webflux")
|
||||||
|
&& Version.parse(request.getBootVersion()).compareTo(BOOT_21) >= 0) {
|
||||||
|
swap.add(WEB_ADAPTER);
|
||||||
|
}
|
||||||
if (!swap.isEmpty()) {
|
if (!swap.isEmpty()) {
|
||||||
request.getResolvedDependencies().remove(cloudFunction);
|
request.getResolvedDependencies().remove(cloudFunction);
|
||||||
request.getResolvedDependencies().addAll(swap);
|
request.getResolvedDependencies().addAll(swap);
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
package io.spring.initializr.service.extension;
|
package io.spring.initializr.service.extension;
|
||||||
|
|
||||||
import io.spring.initializr.generator.ProjectRequest;
|
import io.spring.initializr.generator.ProjectRequest;
|
||||||
|
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -62,4 +63,13 @@ public class SpringCloudFunctionRequestPostProcessorTests
|
|||||||
.hasDependenciesCount(3);
|
.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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user