imagej / imagej/tutorials

Resolve BeakerX component version skew (kotlin, okio, maybe more)

Open
#90 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

One reason we switched away from the SciJava Jupyter Kernel in favor of plain BeakerX Groovy is to avoid hardcoded dependency overlap between the notebook technology itself and the SciJava-component dependencies needed to use ImageJ et al. Unfortunately, there is now some overlap again causing conflicts, notably the Kotlin standard library, and the `okio` library. You can see this in the ImageJ-Tutorials-and-Demo notebook by changing the initialization blurb to:
```
%classpath config resolver scijava.public https://maven.scijava.org/content/groups/public
%%classpath add mvn
net.imagej imagej 2.1.0
```
And you'll get an error opening images via remote URLs.

But if you add:
```
com.squareup.okio okio 2.2.2
```
To the initialization, then the problem will disappear...

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

Reproduce the conflict in the ImageJ-Tutorials-and-Demo notebook using the shown SciJava resolver and ImageJ 2.1.0 initialization, then compare it with the added okio 2.2.2 dependency. Investigate the Kotlin and okio version overlap and confirm that remote images open without the workaround when the dependency skew is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
groovy, jupyter-notebook, kotlin
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.