apache / apache/beam

Add custom maven enforcer rules to catch banned classes and dependencies

Open
#18,378 0 comments 0 reactions 0 assignees View on GitHub
build improvement P3
Dominant language
Java
Stars
8.7k
Forks
4.7k
Avg merge
2d 2h
Merged PRs (30d)
205

Description

The maven enforcer plugin standard rules aren't sufficient to catch certain issues like:
* An artifact built as an uber/bundled jar (usually with shade plugin) including banned classes.
* An artifact pom that depends on banned dependencies. (bannedDependencies rule provided by enforcer plugin doesn't work always because it doesn't look at the dependency-reduced-pom generated by shade plugin)

Imported from Jira [BEAM-2080](https://issues.apache.org/jira/browse/BEAM-2080). Original Jira may contain additional context.
Reported by: vikasrk.

Contributor guide

Open the contributing guide

Research direction

Start with the original BEAM-2080 Jira issue, then inspect Apache Beam's existing Maven Enforcer configuration; the payload names no repository files or tests. Done means custom checks catch banned classes inside uber or bundled jars and banned dependencies in the artifact POM, including cases involving a shade-generated dependency-reduced-pom.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.