mobie / mobie-viewer-fiji

BSD 2-Clause "Simplified" License
30 stars 12 forks source link

Build fails on SNAPSHOTS (master & 0.6.0) #144

Closed joshmoore closed 3 years ago

joshmoore commented 3 years ago

see: https://github.com/mobie/mobie-viewer-fiji/issues/81

I'm failing to build m-v-f both from master and from v0.6.0 due to:

[ERROR] Failed to execute goal on project fiji-plugin-platynereisViewer: Could not resolve dependencies for project de.embl.cba:fiji-plugin-platynereisViewer:jar:0.5.8: The following artifacts could not be resolved: sc.fiji:bigdataviewer-vistools:jar:1.0.0-beta-18-SNAPSHOT, org.janelia.saalfeldlab:n5-aws-s3:jar:2.1.1-SNAPSHOT, org.scijava:j3dcore:jar:1.6.0-scijava-3-SNAPSHOT, org.itc:image-transform-converters:jar:0.1.1: Could not find artifact sc.fiji:bigdataviewer-vistools:jar:1.0.0-beta-18-SNAPSHOT in imagej.public (https://maven.imagej.net/content/groups/public) -> [Help 1]

It looks like if I check out and install:

that this will start working, but if we're going to suggest others build, it would make sense to purge any SNAPSHOTS from pom.xml if at all possible.

joshmoore commented 3 years ago

With these additional local changes:

(z) /opt/data/tischi/mobie-viewer-fiji $git diff
diff --git a/pom.xml b/pom.xml
index d19388f..99d40eb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -160,7 +160,7 @@
        <dependency>
            <groupId>org.scijava</groupId>
            <artifactId>j3dcore</artifactId>
-           <version>1.6.0-scijava-3-SNAPSHOT</version>
+           <version>1.6.0-scijava-2</version>
        </dependency>

        <dependency>
@@ -188,6 +188,7 @@
        <dependency>
            <groupId>org.itc</groupId>
            <artifactId>image-transform-converters</artifactId>
+            <version>0.1.3</version>
        </dependency>
    </dependencies>

I'm now seeing:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project fiji-plugin-platynereisViewer: Compilation failure
[ERROR] /opt/data/tischi/mobie-viewer-fiji/src/main/java/de/embl/cba/platynereis/platybrowser/PlatyBrowserHelp.java:[4,26] cannot find symbol
[ERROR]   symbol:   class Help
[ERROR]   location: package de.embl.cba.tables

(On v0.6.0)

joshmoore commented 3 years ago

On master, adding in:

with

(z) /opt/data/tischi/mobie-viewer-fiji $git diff
diff --git a/pom.xml b/pom.xml
index 2a0c348..5937baa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,7 +128,7 @@
        <dependency>
            <groupId>org.scijava</groupId>
            <artifactId>j3dcore</artifactId>
-           <version>1.6.0-scijava-3-SNAPSHOT</version>
+           <version>1.6.0-scijava-2</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
@@ -141,4 +141,4 @@

allows the build to pass :tada:

tischi commented 3 years ago

Yes, that's ok! The SNAPSHOT version is just fixing a bug leading to some ugly "error message" in the ImageJ console. Curtis said actually rebuilding this jar properly was too much work, thus we kept the SNAPSHOT version.

The other snapshot versions should go away, yes. The current master is not a release version....

joshmoore commented 3 years ago

Ok, so to recap:

Would it be an option to have the released version of j3dcore as the default but a profile or similar for using the SNAPSHOT? (Where are you getting your SNAPSHOT from?)

tischi commented 3 years ago

j3dcore

Frankly this j3dcore issue is above my head, but it would be awesome to find some kind of solution for it!

This is where I get it from: https://github.com/scijava/java3d-core For the issues see here: https://github.com/fiji/3D_Viewer/issues/26

joshmoore commented 3 years ago

This is where I get it from

And build it locally?

For the issues see here

I'll take a look. Thanks.

tischi commented 3 years ago

bdv-vistools

I don't understand why you need a special version there. I don't specify anything so I am assuming its just the default of the parent pom that's specified. In fact, when I comment out the whole dependency it runs for me.

tischi commented 3 years ago

imagej-utils

This is my own stuff. Since this is not a release version you would need to build locally from https://github.com/tischi/imagej-utils

tischi commented 3 years ago

n5-aws-s3

Also here I am surprised. This is just the default version of the scijava parent pom. https://github.com/scijava/pom-scijava/blob/pom-scijava-29.2.1/pom.xml#L729

tischi commented 3 years ago

bdv-core

This is an issue, because the next release after 9.0.6 is 10.0.0: https://github.com/bigdataviewer/bigdataviewer-core (see tags) I am using 9.0.7-SNAPSHOT because of a critical n5 reader bug fix. I cannot use version 10.0.0 because this is too new and will screw up several other things. So, not sure what to do at this stage.

tischi commented 3 years ago

...should we ask Tobias whether he could release a version 9.0.7? Maybe he can find the commit back, which was Saalfeld merging my PR to fix the n5 bug ;-)

tischi commented 3 years ago

And build it locally?

Yes, I build it locally.

tischi commented 3 years ago

...everything I said refers to the current master only.

tischi commented 3 years ago

@joshmoore I think the only remaining issue now is the j3dcore dependency. Do you have any ideas how to fix this?

tischi commented 3 years ago

@joshmoore I pushed some changes to master.

  1. Could you please try whether you can build it now (following the instructions in the pom regarding the j3d-core dependency)
  2. I suggest we leave the issue with j3dcore, because we have enough other things to do and it is not critical.
joshmoore commented 3 years ago
FROM maven:3-adoptopenjdk-8
# See https://github.com/mobie/mobie-viewer-fiji/issues/144
COPY . /usr/src/mymaven
WORKDIR /usr/src/mymaven
RUN mvn clean package -Dj3dcore.version=1.6.0-scijava-2

(from master's abfa4d7e398f69495267b31e58a40067d0089f58) works for me. (My preference would be to have the default for j3dcore.version be the buildable default, but I'll survive :smile:) Thanks.

tischi commented 3 years ago

Ok, I close. Hope that's fine.