예제 #1
0
  public void updateTheUpdater() {
    final FilesCollection.Filter filter =
        new FilesCollection.Filter() {

          @Override
          public boolean matches(final FileObject file) {
            if (file.filename.equals("jars/ij-updater-core.jar")) {
              file.setAction(files, Action.UPDATE);
              return true;
            }
            return false;
          }
        };
    final FilesCollection justTheUpdater = files.clone(files.filter(filter));
    final Installer installer =
        new Installer(justTheUpdater, getProgress("Installing the updater..."));
    try {
      installer.start();
    } catch (final Canceled e) {
      // TODO: remove "update/" directory
      error("Canceled");
      installer.done();
    } catch (final IOException e) {
      // TODO: remove "update/" directory
      error("Installer failed: " + e);
      installer.done();
    }
  }