Skip to content

Commit

Permalink
Remove no-longer-used ome-xml dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
ctrueden committed Mar 26, 2015
1 parent 41ac302 commit ba0aa52
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 29 deletions.
25 changes: 0 additions & 25 deletions pom.xml
Expand Up @@ -78,31 +78,6 @@
<artifactId>scijava-common</artifactId>
</dependency>

<!-- OME dependencies -->
<dependency>
<groupId>ome</groupId>
<artifactId>ome-xml</artifactId>
<exclusions>
<!-- NB: avoid enforcer clashes -->
<exclusion>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>serializer</artifactId>
</exclusion>
<exclusion>
<groupId>xalan</groupId>
<artifactId>xalan</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
</exclusions>
</dependency>

<!-- Third party dependencies -->
<dependency>
<groupId>batik</groupId>
Expand Down
Expand Up @@ -7,8 +7,6 @@
import java.awt.event.ActionEvent;
import java.util.Map;

import ome.xml.model.DetectorSettings;

/**
* The mother class for all the configuration panels that can configure a {@link SpotDetectorFactory},
* a {@link SpotTracker}, ...
Expand All @@ -26,8 +24,7 @@ public abstract class ConfigurationPanel extends ActionListenablePanel {
public final ActionEvent PREVIEW_BUTTON_PUSHED = new ActionEvent(this, 0, "PreviewButtonPushed");

/**
* Echo the parameters of the given instance of {@link DetectorSettings} on
* this panel.
* Echo the parameters of the given settings on this panel.
*/
public abstract void setSettings(final Map<String, Object> settings);

Expand Down

2 comments on commit ba0aa52

@tinevez
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Woopsie. Thank you very much @ctrueden.
But how do you find these things?

@ctrueden
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

But how do you find these things?

Well, there was a bug report this morning where @hinerm figured out that having the TrackMate-dev and Bio-Formats update sites enabled at the same time didn't work. He isolated the issue to an ome-xml.jar present on the TrackMate-dev update site. And I thought to myself: "That's weird, I thought I had covered all Fiji components that use Bio-Formats, updating them to BF5.1 already. And I didn't know that TrackMate used Bio-Formats!" So then I started digging in the code.

I first checked the POM, and saw that there was an ome:ome-xml dependency. So then I did git grep 'import ome' and found the sole place it was actually being "used"... and noticed that the usage was solely in the Javadoc! After that, the fix was easy: did the patch above, then ran a full build to make sure everything was still happy.

For good measure, I also did git grep 'import loci' but found no hits. And then I ran mvn dependency:analyze—a very useful tool—to double check that there were no other unused declared dependencies. (It found one false positive—j3d-core-utils—which when removed actually breaks the build. The analyze mojo is usually really spot-on—it was maybe just confused by the provided scope; I'm not sure.)

So anyway, I think all references to Bio-Formats have been purged from TrackMate now. I see that the TrackMate-dev-update-site Jenkins job did run again, and Mark & I were hopeful that this would cause ome-xml to no longer be shadowed on the TrackMate-dev update site, but alas, it seems that TrackMate-dev still ships a complete overridden Bio-Formats. Strange, since mvn dependency:tree | grep -C 5 'ome:' returns nothing, meaning the Bio-Formats is not present at all in TrackMate's dependency hierarchy.

I guess it's probably the case that the Jenkins job is not clearing out the old workspace, or not doing an update-force-pristine using the Updater, or... something similar. But we don't have time to investigate further. Right now, we have three "dev"-style update sites which all work differently (bin/upload-plugins-by-gav.sh for SCIFIO-dev, bin/upload-plugin-from-maven.sh for TrackMate-dev, and bin/upload-update-site.sh for Bio-Formats). We really should unify them, to ease future maintenance and troubleshooting. But no time this month...

Please sign in to comment.