From 0998cac0257cf43b3dfb2f786611ee9857781593 Mon Sep 17 00:00:00 2001 From: Guillaume Smet Date: Fri, 18 Mar 2022 16:32:05 +0100 Subject: [PATCH] Make RESTEasy Reactive the default codestart Also only add the default codestart if no extensions have been selected. Quarkus is more than a REST framework and this behavior is annoying for anything that is not REST and does not have a codestart. --- .../test/java/io/quarkus/cli/CliProjectMavenTest.java | 4 ++-- .../codestarts/quarkus/QuarkusCodestartCatalog.java | 9 +++++---- .../src_main_java_org_acme_GreetingResource.java | 2 +- .../src_test_java_org_acme_GreetingResourceTest.java | 2 +- .../generateDefaultProject/dir-tree.snapshot | 2 +- .../java/io/quarkus/maven/it/CreateProjectMojoIT.java | 2 +- 6 files changed, 11 insertions(+), 10 deletions(-) diff --git a/devtools/cli/src/test/java/io/quarkus/cli/CliProjectMavenTest.java b/devtools/cli/src/test/java/io/quarkus/cli/CliProjectMavenTest.java index c47badb7820466..102944d06f218b 100644 --- a/devtools/cli/src/test/java/io/quarkus/cli/CliProjectMavenTest.java +++ b/devtools/cli/src/test/java/io/quarkus/cli/CliProjectMavenTest.java @@ -51,8 +51,8 @@ public void testCreateAppDefaults() throws Exception { String pomContent = validateBasicIdentifiers(CreateProjectHelper.DEFAULT_GROUP_ID, CreateProjectHelper.DEFAULT_ARTIFACT_ID, CreateProjectHelper.DEFAULT_VERSION); - Assertions.assertTrue(pomContent.contains("quarkus-resteasy"), - "pom.xml should contain quarkus-resteasy:\n" + pomContent); + Assertions.assertTrue(pomContent.contains("quarkus-resteasy-reactive"), + "pom.xml should contain quarkus-resteasy-reactive:\n" + pomContent); CliDriver.valdiateGeneratedSourcePackage(project, "org/acme"); diff --git a/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/codestarts/quarkus/QuarkusCodestartCatalog.java b/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/codestarts/quarkus/QuarkusCodestartCatalog.java index 8434784f169faf..2d7f1be227343b 100644 --- a/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/codestarts/quarkus/QuarkusCodestartCatalog.java +++ b/independent-projects/tools/devtools-common/src/main/java/io/quarkus/devtools/codestarts/quarkus/QuarkusCodestartCatalog.java @@ -66,7 +66,7 @@ public enum Tooling implements DataKey { public enum ExtensionCodestart implements DataKey { RESTEASY, - RESTEAST_REACTIVE, + RESTEASY_REACTIVE, SPRING_WEB } @@ -127,14 +127,15 @@ protected Collection select(QuarkusCodestartProjectInput projectInput .filter(c -> !isExample(c) || projectInput.getExample() == null || c.matches(projectInput.getExample())) .collect(Collectors.toCollection(ArrayList::new)); - // include default codestarts if no code selected + // include default codestarts if no code selected and no extensions have been selected if (projectInput.getAppContent().contains(CODE) + && projectInput.getExtensions().isEmpty() && projectCodestarts.stream() .noneMatch(c -> c.getType() == CodestartType.CODE && !c.getSpec().isPreselected())) { final Codestart defaultCodestart = codestarts.stream() - .filter(c -> c.matches(ExtensionCodestart.RESTEASY.key())) + .filter(c -> c.matches(ExtensionCodestart.RESTEASY_REACTIVE.key())) .findFirst().orElseThrow(() -> new CodestartStructureException( - ExtensionCodestart.RESTEASY.key() + " codestart not found")); + ExtensionCodestart.RESTEASY_REACTIVE.key() + " codestart not found")); final String languageName = findLanguageName(projectCodestarts); if (defaultCodestart.implementsLanguage(languageName)) { projectCodestarts.add(defaultCodestart); diff --git a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_main_java_org_acme_GreetingResource.java b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_main_java_org_acme_GreetingResource.java index 055f53c6fe0336..2a175fd5de8dfb 100644 --- a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_main_java_org_acme_GreetingResource.java +++ b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_main_java_org_acme_GreetingResource.java @@ -11,6 +11,6 @@ public class GreetingResource { @GET @Produces(MediaType.TEXT_PLAIN) public String hello() { - return "Hello RESTEasy"; + return "Hello from RESTEasy Reactive"; } } \ No newline at end of file diff --git a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_test_java_org_acme_GreetingResourceTest.java b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_test_java_org_acme_GreetingResourceTest.java index 87fbd5c63652f8..3a0d47d75f33ec 100644 --- a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_test_java_org_acme_GreetingResourceTest.java +++ b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusCodestartGenerationTest/generateMavenDefaultJava/src_test_java_org_acme_GreetingResourceTest.java @@ -15,7 +15,7 @@ public void testHelloEndpoint() { .when().get("/hello") .then() .statusCode(200) - .body(is("Hello RESTEasy")); + .body(is("Hello from RESTEasy Reactive")); } } \ No newline at end of file diff --git a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusExtensionCodestartGenerationTest/generateDefaultProject/dir-tree.snapshot b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusExtensionCodestartGenerationTest/generateDefaultProject/dir-tree.snapshot index 85acbff806715c..6c0560ed7d8612 100644 --- a/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusExtensionCodestartGenerationTest/generateDefaultProject/dir-tree.snapshot +++ b/independent-projects/tools/devtools-testing/src/test/resources/__snapshots__/QuarkusExtensionCodestartGenerationTest/generateDefaultProject/dir-tree.snapshot @@ -40,4 +40,4 @@ runtime/src/ runtime/src/main/ runtime/src/main/resources/ runtime/src/main/resources/META-INF/ -runtime/src/main/resources/META-INF/quarkus-extension.yaml +runtime/src/main/resources/META-INF/quarkus-extension.yaml \ No newline at end of file diff --git a/integration-tests/maven/src/test/java/io/quarkus/maven/it/CreateProjectMojoIT.java b/integration-tests/maven/src/test/java/io/quarkus/maven/it/CreateProjectMojoIT.java index 5c7760b1df6ee1..682375db3babd4 100644 --- a/integration-tests/maven/src/test/java/io/quarkus/maven/it/CreateProjectMojoIT.java +++ b/integration-tests/maven/src/test/java/io/quarkus/maven/it/CreateProjectMojoIT.java @@ -93,7 +93,7 @@ public void testProjectGenerationFromScratch() throws MavenInvocationException, && d.getType().equals("pom"))).isTrue(); assertThat( - model.getDependencies().stream().anyMatch(d -> d.getArtifactId().equalsIgnoreCase("quarkus-resteasy") + model.getDependencies().stream().anyMatch(d -> d.getArtifactId().equalsIgnoreCase("quarkus-resteasy-reactive") && d.getVersion() == null)).isTrue(); assertThat(model.getProfiles()).hasSize(1);