Skip to content

CCE vs OpenRewrite

CCE (Code Context Engine) inventories what application code calls. OpenRewrite changes source to match target patterns. They are complementary, not substitutes.

At a glance

CCE OpenRewrite
Core job Discover and report call sites Modify and print source
Output JSON / SARIF entitlement reports Git diffs
Engine tree-sitter + Grok lenses LST + recipes/visitors
Sweet spot Cloud IAM (PoLP), SDK uplift backlog, CVE reachability Spring/Jakarta migrations, Java framework upgrades

Best together

  1. CCE scancce -folder . -mapper-file https://releases.stackgen.com/cce/lenses/sdk-uplift/latest/sdk-uplift_lenses.yaml -format json
  2. OpenRewrite migrate — recipes linked in lens openrewrite_recipe fields
  3. CCE verifycce diff baseline.json after.json -policy docs/recipes/policies/sdk-uplift.yaml

See OpenRewrite pipeline and analysis recipes.

What CCE adopted from OpenRewrite (without rewriting code)

  • Analysis recipe catalogcce catalog
  • Recipe packscce run -pack modernization-pack
  • Baseline diff / policiescce diff
  • Lens fixture teststestdata/recipes/
  • Data tables in YAMLprefixes_from in lenses
  • SARIF export-format sarif
  • Maven/Gradle hooksintegrations/

CCE deliberately does not embed an LST rewrite engine; use OpenRewrite for the apply step.