sciview icon indicating copy to clipboard operation
sciview copied to clipboard

Problematic inclusion of com.intellij and gnu.newtrove packages

Open kephale opened this issue 4 years ago • 6 comments

The inclusion of these packages requires some tweaking to properly use scijava-scripts/release-version.sh again because of the new licensing requirement which puts license headers on all source files. There is some way to ignore directories, when I was hastily trying to do this I couldn't get it working but I was super irritated by the requirement and under major time constraints at the time and might not have been doing things properly.

Related to https://github.com/scenerygraphics/sciview/issues/322

kephale avatar Dec 05 '20 18:12 kephale

Here's an example from the imagej-legacy POM how files can be excluded from the maven license plugin:

https://github.com/imagej/imagej-legacy/blob/5d66b5314f75810fe1f8ff8db1323b9941c3d2ee/pom.xml#L178

imagejan avatar Dec 09 '20 08:12 imagejan

Thanks, I tried something similar and had issues at the time. Regardless, we're testing out Gradle in the next few days, so these issues might become irrelevant very soon.

kephale avatar Dec 09 '20 09:12 kephale

Just to be clear, I mentioned this in the hackathon zulip, but I'm keeping this issue open as a reminder that these packages should be removed from sciview.

kephale avatar Jun 13 '23 12:06 kephale

@kephale So, these are vendored packages that you want to purge from the sciview codebase. Do I understand correctly? If so, then here is a quick look into where they are used currently:

src/main/kotlin/sc/iview/ui/SwingMainWindow.kt:import com.intellij.ui.tabs.JBTabsPosition
src/main/kotlin/sc/iview/ui/SwingMainWindow.kt:import com.intellij.ui.tabs.TabInfo
src/main/kotlin/sc/iview/ui/SwingMainWindow.kt:import com.intellij.ui.tabs.impl.JBEditorTabs
src/main/kotlin/sc/iview/ui/SwingNodePropertyEditor.kt:import com.intellij.ui.components.JBPanel

and gnu.newtrove is not used directly by sciview at all, only transitively via com.intellij.

What do you need done to remove the com.intellij usage? Just replacing the tabbed pane with some other UI toolkit like Swing's JTabbedPane?

Alternately, if the license is compatible, you could fork only the JBTabs stuff into sc.iview.ui, no?

ctrueden avatar Jun 13 '23 13:06 ctrueden

I leave this to @skalarproduktraum, as the person who added those files.

kephale avatar Jun 13 '23 13:06 kephale

@skalarproduktraum I'm up for any outcome you want for this. Feel free to just close it if you think we can still keep vendoring these.

kephale avatar Mar 09 '24 23:03 kephale