Updater: adjust GUI test for recent directory layout change

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: force the Fiji Updater to have an old checksum

To avoid problems with the upgrade path to the ImageJ Updater, let's
make sure that old Fiji Updaters still can update to the new one.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: filter manifest much more

Darn. I should have known that we should only ever look at the
main-class attribute in the manifests. Darn again.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: make sure that the command-line version behaves

... at least a bit more similar to the GUI version...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: make the ImageJ GUI Updater callable from the command line

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: add a utility method for executing programs

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (upload): throw an exception when upload info is missing

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: avoid overly long buttons in the conflicts dialog

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: remove all references to imagej.util.Log

That class is deprecated now, so let's use the LogService instead.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: use the Installer directly to update the updater

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: add a convenience method to initialize a FilesCollection instance

This will download all update sites' indices and checksum the local files.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: use the downloadIndexAndChecksum() method

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (cmdline): exit gracefully when there is nothing to upload

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: mention the URL when reading update sites' indices

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: do not prefer the locally-cached current versions over
remote ones

A rather embarrassing bug entered the ImageJ Updater which prevents
it from updating components because local db.xml.gz's versions are
preferred over those from the update site.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (cmdline): handle file names without version information

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: use varargs already

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: add and use the stageForUpdate() method

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: add a convenience function

In Fiji, we would like to have an easy way to install the ImageJ
Updater. To do so, we use a now-current version of the Updater to
update itself. After that, we need to make a new classloader to access
the Updater's classes, hence the need for a list of dependencies,
including transitive ones.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater: make the test more stringent whether this is running inside
Eclipse

We have a test that prevents the Updater from running when we're inside
Eclipse, because it just does not make sense to run the Updater there.

However, our test also succeeded if we were loading classes via a
URLClassLoader, such as Fiji does to initialize the ImageJ Updater.

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