scenerygraphics / sciview

sciview is a tool for visualization and interaction with ND image and mesh data
BSD 2-Clause "Simplified" License
62 stars 17 forks source link

Problematic inclusion of com.intellij and gnu.newtrove packages #335

Open kephale opened 3 years ago

kephale commented 3 years ago

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

imagejan commented 3 years ago

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

kephale commented 3 years ago

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 commented 1 year ago

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.

ctrueden commented 1 year ago

@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?

kephale commented 1 year ago

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

kephale commented 3 months ago

@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.