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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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