bazel-contrib / bazel-contrib/rules_jvm_external

Suggestions on handling OS-specific activation?

Open
#712 4 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.