Skip to content

Add OpenRewrite recipe to migrate Querydsl to fluentQ#1817

Merged
velo merged 1 commit into
8.xfrom
feat/openrewrite-migration-recipe
Jun 22, 2026
Merged

Add OpenRewrite recipe to migrate Querydsl to fluentQ#1817
velo merged 1 commit into
8.xfrom
feat/openrewrite-migration-recipe

Conversation

@velo

@velo velo commented Jun 22, 2026

Copy link
Copy Markdown
Member

What

Adds a published OpenRewrite recipe so downstream projects can migrate from Querydsl to fluentQ automatically.

New module fluentq-tooling/fluentq-rewriteio.github.openfeign.fluentq:fluentq-rewrite, shipping the declarative recipe io.github.openfeign.fluentq.rewrite.MigrateQuerydslToFluentQ:

  • Renames Java/Kotlin/Scala packages com.querydsl.* and io.github.openfeign.querydsl.*fluentq.*.
  • Rewrites Maven coordinates: group id → io.github.openfeign.fluentq, querydsl-*fluentq-*, version 8.0 (dependencies, dependencyManagement, and querydsl-bomfluentq-bom).
  • Rewrites the build plugin querydsl-maven-pluginfluentq-maven-plugin.

Works for both the original Querydsl (com.querydsl) and the OpenFeign fork (io.github.openfeign.querydsl).

Tests

MigrateQuerydslToFluentQTest (org.openrewrite.test.RewriteTest):

  • Java package/import rename — active, green.
  • Two pom.xml coordinate cases — @Disabled until fluentQ 8.0 is published to Maven Central (OpenRewrite resolves the new GAV and 404s on the unreleased artifact; they pass once it's released).

Docs

  • New guide docs/guides/openrewrite-recipe.md — Maven and Gradle usage, limitations (hardcoded APT processor class, dropped modules, review/rebuild), and a roadmap for future recipes (Mysema/Querydsl 3, jOOQ, Hibernate Criteria).
  • docs/migration-8.md — adds an "Automated Migration with OpenRewrite" pointer.

Notes / decisions

  • FindAndReplace was intentionally not used for the APT processor-class string (it's a no-op on XML poms) — documented as a manual step instead.
  • Test deps aligned via org.openrewrite.recipe:rewrite-recipe-bom:3.33.0 (core 8.85); rewrite-java-25 added to match the project's JDK 25 test toolchain; type validation disabled in the test since Querydsl isn't on the test classpath.
  • The module is YAML-only (no src/main/java), so the compat-wrapper generator skips it and no querydsl-rewrite wrapper is produced. When imperative recipes are added later, add fluentq-rewrite to the generator's skip set.

Verification

./mvnw -Pdev install (full reactor) → BUILD SUCCESS; the module builds, the recipe YAML parses, the active test passes, format validation passes, and it installs/joins the generated BOM cleanly.

🤖 Generated with Claude Code

…l to fluentQ

Signed-off-by: Marvin Froeder <velo.br@gmail.com>
@velo velo merged commit 61f183a into 8.x Jun 22, 2026
36 of 38 checks passed
@velo velo deleted the feat/openrewrite-migration-recipe branch June 22, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant