Refactor the command-line updater a bit

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (cmd-line): add the 'upload-complete-site' command

This command allows you to upload the current state wholesale to
a given update site: files that are not installed locally will
be marked obsolete, files that are modified locally are uploaded,
likewise formerly local-only files.

You definitely want to only ever do this only with a clean state...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Test the new 'upload-complete-site' functionality

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

This actually revealed a real bug.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Fix all remaining compile warnings in ij-updater-core

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

The StderrProgress actually understands lineWidth < 0 to imply
unlimited line width.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Simplify the updater tests using static imports

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Updater (cmd-line): let 'upload <uninstalled>' mark files obsolete

We did not have a way formerly to mark files as obsolete. Now we do:
delete the file locally, then mark it 'for upload'.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Add a test for uploading using the file: protocol

We now advertise Dropbox as a method to provide an update site,
so we better make sure that the localhost side of it actually works.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
LocalhostUploaderTest is the reference subclass of the uploader test class

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Merge branch 'upload-complete-site'

This adds the upload-complete-site command to the command-line updater,
intended to help complete uploads after for new application versions.

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