imagej / imagej-maven-plugin

[OBSOLETE] All goals migrated to scijava/scijava-maven-plugin
Other
4 stars 6 forks source link

Add some defensive logic around version matching #34

Closed ctrueden closed 6 years ago

ctrueden commented 6 years ago

Hopefully this avoids crashes like the one discussed in #31.

It would be good to know which JAR(s) failed to match the regex, so that the matching can be improved, but as a stopgap, this change may help us discern when such patterns are present in an installation, since it now emits the filenames of non-matching files.

ctrueden commented 6 years ago

OK, I did manage to reproduce #31! Here are the non-matching patterns emitted using the version of imagej-maven-plugin from this PR:

[WARNING] Impenetrable version suffix for file: gluegen-rt.jar
[WARNING] Impenetrable version suffix for file: j3dcore.jar
[WARNING] Impenetrable version suffix for file: j3dutils.jar
[WARNING] Impenetrable version suffix for file: vecmath.jar

And where the files are:

$ find Fiji.app -name '*vecmath*'; find Fiji.app -name '*j3dcore*'; find Fiji.app -name '*j3dutils*'; find Fiji.app -name '*gluegen-rt*'               #  0 {2018-07-30 13:03:31}
Fiji.app/jars/vecmath-1.6.0-scijava-2.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/vecmath.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/Library/Java/Extensions/vecmath.jar
Fiji.app/jars/j3dcore-1.6.0-scijava-2.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/Library/Java/Extensions/j3dcore.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/j3dcore.jar
Fiji.app/jars/j3dutils-1.6.0-scijava-2.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/j3dutils.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/Library/Java/Extensions/j3dutils.jar
Fiji.app/jars/gluegen-rt-main-2.3.2.jar
Fiji.app/jars/macosx/gluegen-rt-2.3.2-natives-macosx-universal.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/libgluegen-rt.jnilib
Fiji.app/java/macosx-java3d/Home/lib/ext/Library/Java/Extensions/libgluegen-rt.jnilib
Fiji.app/java/macosx-java3d/Home/lib/ext/Library/Java/Extensions/gluegen-rt.jar
Fiji.app/java/macosx-java3d/Home/lib/ext/gluegen-rt.jar

So it seems the issue is macOS-specific, thanks to the old macosx-java3d folder. Fresh downloads of Fiji do not have this problem.

stelfrich commented 6 years ago

I'll add a test and then merge this.

This also fixes #32.