This module implements a custom Maven Enforcer plugin rule that validates dependency declarations in the Apache Pinot project. It enforces internal Dependency Management Guidelines by checking for hardcoded versions and misplaced dependencies.
To avoid circular resolution and redundant checks, the enforcer rule is skipped in these submodules:
That means when you run the full project build, those modules will be excluded from dependency‐verifier validation.
Maven resolves plugin dependencies before building reactor modules. This means it cannot build the verifier JAR and use it in the same build cycle. Therefore, any changes to the pinot-dependency-verifier
module must follow a two-phase process:
From the repo root, build and install only pinot-dependency-verifier
without triggering verification. This ensures the artifact is available in the local Maven repository:
mvn clean install \ -pl pinot-dependency-verifier \ -am \ -DskipTests
Run the full Pinot build with the Enforcer Plugin enabled to execute the custom rule:
mvn clean verify \ -Pbin-dist,dependency-verifier -DskipTests
To manually run the enforcer plugin without the customized rule:
mvn enforcer:enforce
To manually run it with the custom rule activated:
mvn enforcer:enforce -Pdependency-verifier