TODO: bump pom-scijava
Uploader auto-install: special-case SFTP

We know that SFTP is handled by ij-updater-ssh, not ij-updater-sftp...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Do not ever return null from DefaultUploaderService#installUploader

... but instead throw an exception, just like getUploader() does.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Take care to copy the update sites diligently when auto-installing
uploaders

This will be particularly important for our own integration test
which wants to install a dummy uploader that is not available from
the ImageJ update site (and will never be).

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Uncuddle code in the DefaultUploaderService

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
When auto-installing an uploader, give the PluginService a chance

... to discover the newly uploader...

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
When auto-installing an uploader, do not force-move files into place

When installing files, they are always put into update/ first; we
can pick them up there rather than forcing them into place, something
that might fail on Windows for the most dubious reasons.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Always try to auto-install missing uploaders

Earlier, we tried to establish that for the Swing updater GUI only,
and it did not work reliably. We will added an integration test to
make sure that things work alright, so things should be much more
robust now.

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