Fix a Javadoc

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Fix the debugging-only UpdaterTestUtils#show(FilesCollection)

It is really, *really* convenient to be able to start up the Swing GUI
in the midst of unit tests when debugging interactively...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Avoid using obsolete FileUtils.matchVersionedFilename

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Avoid using deprecated AppUtils class

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add an API to ask whether update site information has changed

When following/unfollowing update sites, we want to store that
information even when the user quit the updater without updating the
respective files. To this end, let's be able to tell whether we need to
write db.xml.gz at the end of an updater session.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Retain order of overridden update sites

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Keep record of overridden update sites intact

Even when reading in db.xml.gz files from custom update sites, keep the
record of the overridden versions from shadowed update sites intact,
just in case we have to remove an update site (and unshadow the
overridden versions).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Do not complain when dependencies of obsolete files are removed

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add an API to remove update sites properly

When removing an update site, we really *need* to unshadow shadowed
files... otherwise, surprising things start to happen, such as uploading
incompatible lists of superseded previous versions.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add methods to activate/deactivate update sites

This code was originally hidden in the Swing GUI's SitesDialog, stripped
of the methods updating the GUI and augmented by the check whether the
update site was already activated/deactivated.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
When activating an update site, mark new files for installation

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add another test helper

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a test to verify that plugins are unshadowed upon unfollowing a site

When deactivating an update site, we really want to make sure that the
formerly shadowed metadata becomes active, so that uploading to a formerly
shadowed update site will work (and not lose a ton of information about
previous versions).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Show all changes by default

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Verify that marking a file obsolete is enough to be able to upload

This addresses https://github.com/imagej/imagej-updater/issues/4.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Do not log expected exceptions by default

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>