bazel-contrib / bazel-contrib/rules_jvm_external
Suggestions on handling OS-specific activation?
- Dominant language
- Java
- Stars
- 373
- Forks
- 301
- Avg merge
- 7d 17h
- Merged PRs (30d)
- 3
Description
We are looking at using [`graphviz-java`](https://github.com/nidi3/graphviz-java), which has the following in its `pom.xml`: https://github.com/nidi3/graphviz-java/blob/master/graphviz-java/pom.xml#L128-L191
tl;dr: OS-specific dependencies are activated based on the operating system on which the build is processed. This seems to be making it into the `maven_install.json` file -- if I run on macOS, only the macOS dependency is added.
Has anyone run into this before? Presumably what I want is for all these to be added to the `maven_install.json`, and then have them be platform-dependent dependencies. Does anyone have advice for how to actually do this?
Contributor guide
Research direction
Start by reading the referenced graphviz-java pom.xml lines 128-191 and inspect how its OS-specific dependencies appear in maven_install.json when resolving on macOS. Trace the repository's dependency resolution and platform-selection entry points before deciding how all variants should be represented. Done means the generated dependency metadata includes the needed OS-specific artifacts without depending on the host build platform.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100