From 1eb82d6b666d487a3bb5f6fe56a6ce9d6b3c8cd8 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Sun, 31 Aug 2025 12:17:03 +0200 Subject: [PATCH 1/2] Add a Quarkus specific DevCenter --- .../META-INF/rewrite/quarkus-devcenter.yml | 83 +++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 src/main/resources/META-INF/rewrite/quarkus-devcenter.yml diff --git a/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml b/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml new file mode 100644 index 0000000..8c64ca6 --- /dev/null +++ b/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml @@ -0,0 +1,83 @@ +# +# Copyright 2025 the original author or authors. +#

+# Licensed under the Moderne Source Available License (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +#

+# https://docs.moderne.io/licensing/moderne-source-available-license +#

+# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +--- +# DevCenter tracking Quarkus framework versions and best practices +type: specs.openrewrite.org/v1beta/recipe +name: io.moderne.devcenter.QuarkusDevCenter +displayName: DevCenter for Quarkus +description: >- + A DevCenter that tracks the latest Quarkus framework versions and applies best practices. + This DevCenter includes recipes to upgrade Quarkus versions, migrate from deprecated APIs, + and ensure compatibility with the latest Java versions and testing frameworks. +recipeList: + - io.moderne.devcenter.LibraryUpgrade: + cardName: Move to Quarkus 3.26 + groupIdPattern: io.quarkus + artifactIdPattern: quarkus-* + version: 3.26.x + upgradeRecipe: io.moderne.devcenter.UpgradeQuarkus3_x + - io.moderne.devcenter.LibraryUpgrade: # TODO should we have a card for dependencyManagement BOMs? that's in the starter + cardName: Move to Quarkus Platform 3.26 + groupIdPattern: io.quarkus.platform + artifactIdPattern: '*' + version: 3.26.x + upgradeRecipe: io.moderne.devcenter.UpgradeQuarkusPlatform3_x + - io.moderne.devcenter.ParentPomUpgrade: + cardName: Move to the latest Quarkus Universe BOM + groupIdPattern: io.quarkus.platform + artifactIdPattern: quarkus-universe-bom + version: 3.26.x + upgradeRecipe: io.moderne.devcenter.UpgradeQuarkusUniverseBom + - io.moderne.devcenter.SecurityStarter +--- +type: specs.openrewrite.org/v1beta/recipe +name: io.moderne.devcenter.UpgradeQuarkus3_x +displayName: Upgrade to Quarkus 3.26 +description: >- + Upgrades Quarkus dependencies to version 3.26.x, including core, extensions, and tooling. +recipeList: + - org.openrewrite.quarkus.Quarkus1to1_13Migration + - org.openrewrite.quarkus.quarkus2.Quarkus1to2Migration + - org.openrewrite.maven.UpgradeDependencyVersion: + groupId: io.quarkus + artifactId: '*' + newVersion: 3.26.x + - org.openrewrite.maven.UpgradeDependencyVersion: + groupId: io.quarkus.platform + artifactId: '*' + newVersion: 3.26.x +--- +type: specs.openrewrite.org/v1beta/recipe +name: io.moderne.devcenter.UpgradeQuarkusPlatform3_x +displayName: Upgrade Quarkus Platform +description: >- + Upgrades the Quarkus Platform BOM and related dependencies to version 3.26.x. +recipeList: + - org.openrewrite.maven.UpgradeParentVersion: + groupId: io.quarkus.platform + artifactId: quarkus-bom + newVersion: 3.26.x +--- +type: specs.openrewrite.org/v1beta/recipe +name: io.moderne.devcenter.UpgradeQuarkusUniverseBom +displayName: Upgrade Quarkus Universe BOM +description: >- + Upgrades the Quarkus Universe BOM parent to the latest version. +recipeList: + - org.openrewrite.maven.UpgradeParentVersion: + groupId: io.quarkus.platform + artifactId: quarkus-universe-bom + newVersion: x From e6e3ccfcf53bc4c8b0a21c67f5d75570f170de48 Mon Sep 17 00:00:00 2001 From: Tim te Beek Date: Mon, 1 Sep 2025 14:33:36 +0200 Subject: [PATCH 2/2] Minimize Quarkus DevCenter --- .../META-INF/rewrite/quarkus-devcenter.yml | 25 ++++--------------- 1 file changed, 5 insertions(+), 20 deletions(-) diff --git a/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml b/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml index 8c64ca6..a3c3f25 100644 --- a/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml +++ b/src/main/resources/META-INF/rewrite/quarkus-devcenter.yml @@ -29,18 +29,15 @@ recipeList: artifactIdPattern: quarkus-* version: 3.26.x upgradeRecipe: io.moderne.devcenter.UpgradeQuarkus3_x - - io.moderne.devcenter.LibraryUpgrade: # TODO should we have a card for dependencyManagement BOMs? that's in the starter - cardName: Move to Quarkus Platform 3.26 - groupIdPattern: io.quarkus.platform - artifactIdPattern: '*' - version: 3.26.x - upgradeRecipe: io.moderne.devcenter.UpgradeQuarkusPlatform3_x - io.moderne.devcenter.ParentPomUpgrade: cardName: Move to the latest Quarkus Universe BOM - groupIdPattern: io.quarkus.platform + groupIdPattern: io.quarkus artifactIdPattern: quarkus-universe-bom version: 3.26.x upgradeRecipe: io.moderne.devcenter.UpgradeQuarkusUniverseBom + - io.moderne.devcenter.JavaVersionUpgrade: + majorVersion: 21 + upgradeRecipe: org.openrewrite.java.migrate.UpgradeToJava21 - io.moderne.devcenter.SecurityStarter --- type: specs.openrewrite.org/v1beta/recipe @@ -49,7 +46,6 @@ displayName: Upgrade to Quarkus 3.26 description: >- Upgrades Quarkus dependencies to version 3.26.x, including core, extensions, and tooling. recipeList: - - org.openrewrite.quarkus.Quarkus1to1_13Migration - org.openrewrite.quarkus.quarkus2.Quarkus1to2Migration - org.openrewrite.maven.UpgradeDependencyVersion: groupId: io.quarkus @@ -61,23 +57,12 @@ recipeList: newVersion: 3.26.x --- type: specs.openrewrite.org/v1beta/recipe -name: io.moderne.devcenter.UpgradeQuarkusPlatform3_x -displayName: Upgrade Quarkus Platform -description: >- - Upgrades the Quarkus Platform BOM and related dependencies to version 3.26.x. -recipeList: - - org.openrewrite.maven.UpgradeParentVersion: - groupId: io.quarkus.platform - artifactId: quarkus-bom - newVersion: 3.26.x ---- -type: specs.openrewrite.org/v1beta/recipe name: io.moderne.devcenter.UpgradeQuarkusUniverseBom displayName: Upgrade Quarkus Universe BOM description: >- Upgrades the Quarkus Universe BOM parent to the latest version. recipeList: - org.openrewrite.maven.UpgradeParentVersion: - groupId: io.quarkus.platform + groupId: io.quarkus artifactId: quarkus-universe-bom newVersion: x