bazelbuild / bazelbuild/rules_java
Coverge support breaks when test has its own dependency on `org.jacoco.*`
- Dominant language
- Starlark
- Stars
- 103
- Forks
- 102
- PR merge metrics
- No merged PRs in 30d
Description
As a coverage tool, it is highly unlikely that a library will include a genuine dependency on `org.jacoco.*`. However;
- There are no safeguards in place. If this does happen, `bazel coverage` may just not work. Ideally what I suspect to be a technical limitation would be reported on at compile time.
- Sometimes third party packages include test dependencies as compile dependencies by mistake. e.g. https://github.com/aliyun/aliyun-openapi-java-sdk/pull/930
Contributor guide
Research direction
Start by reproducing `bazel coverage` with a test or library that has an `org.jacoco.*` dependency, including the third-party dependency case described in the issue. Trace where the dependency is handled during compilation; done means the technical limitation is reported at compile time instead of coverage support silently breaking.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100