bazel-contrib / bazel-contrib/rules_jvm_external

neverlink is not propagated to transitive runtime_deps

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

Description

when we set "neverlink=true" for 3rd party dependencies, eg
`maven.artifact("io.swagger.core.v3", "swagger-jaxrs2", versions["swaggerJaxrs2"], neverlink = True)`, the "neverlink" property is only applied to the artifact itself and not propagated to transitive deps. This will introduce more runtime deps when we assemble a package with all runtime classpaths.

Contributor guide

Open the contributing guide

Research direction

Start by tracing how the neverlink property is handled for Maven artifacts and their transitive dependencies, then follow its use during runtime classpath assembly. Done means a dependency declared with neverlink=true does not cause its transitive runtime dependencies to be included in the assembled runtime classpaths.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.