bazel-contrib / bazel-contrib/rules_jvm_external
neverlink is not propagated to transitive runtime_deps
- 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
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