imagej / imagej/tutorials

Address dependency skew in BeakerX notebooks

Open
#89 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Jupyter Notebook
Stars
200
Forks
117
PR merge metrics
No merged PRs in 30d

Description

Unfortunately, Maven has a [serious bug in dependency resolution](https://stackoverflow.com/q/45041888/1207769) that is unlikely to ever be fixed.

The gist is: projects extending pom-scijava will not notice the bug. But projects which do not, yet depend on e.g. `net.imagej:imagej:2.1.0`, will inherit the wrong dependency versions.

While we could consider some workaround (such as embedding all version property values directly into every POM at release time 🥴), in the meantime, BeakerX in particular doesn't work as expected because it doesn't support importing versions from BOMs (twosigma/beakerx#7911).

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the Maven dependency-resolution problem described in the issue, the project POMs, and the referenced BeakerX limitation on importing BOM versions. Determine a viable way to prevent dependency skew; done means BeakerX notebooks work as expected with compatible dependency versions.

Written by the indexing model from the issue text.

Assessment

Tech stack
jupyter-notebook
Domain
build-system
Issue type
Bug
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.