Skip to content

[Architecture Review][P2] Gradle dependency guardrails (architectureCheck) #5305

Description

@qqeasonchen

Execution meta — see plan: #5296

Problem

Module dependencies keep expanding, and the Runtime's E2E tests already carry complex classpath isolation to support RocketMQ 4, RocketMQ 5, and Kafka.

Proposed direction

  • Add an architectureCheck that blocks SPI/API from depending on the Runtime, broker clients, or Netty/gRPC implementations.
  • Use a baseline to record existing coupling, but forbid new coupling.
  • Move broker E2E tests into a dedicated integration-test module or profile so they do not pollute the core modules' test classpath.
  • Eliminate the baseline gradually, not as a permanent exemption.

Acceptance criteria

  • architectureCheck fails the build on new SPI/API → Runtime/broker/Netty/gRPC dependencies.
  • A baseline file records existing coupling; the baseline only shrinks over time.
  • Broker E2E tests are isolated in an integration-test module/profile.

Part of the Architecture Review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ci/cdimprovementImprove the mechanism or performance

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions