bazel-contrib / bazel-contrib/rules_jvm_external

testonly artifacts from non-root modules no longer included

Open
#1,609 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
373
Forks
301
Avg merge
7d 17h
Merged PRs (30d)
3

Description

This appears to have been changed in #1511. This is a breaking change, as it means downstream root modules suddenly are missing targets they depend on.

The `testonly` attribute on maven.artifact dictates whether the generated Bazel target has the `testonly` attribute. Note that this is distinctly different than Maven's "test dependency" concept. It is expected that other tests and `testonly` BUILD targets in downstream modules can depend on ones generated from Maven artifacts defined in modules they depend on.

Even if this change were intentional and correct, it is a breaking change and should not have gone into a minor release.

Contributor guide

Open the contributing guide

Research direction

Start by inspecting the change in #1511 and the handling of the maven.artifact testonly attribute for non-root modules. Reproduce a downstream root module depending on a generated testonly target; done when those targets remain available to downstream tests and BUILD targets without treating testonly as a Maven test dependency.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.