public final static File load()

in command.line/java/jetbrains/buildServer/core/runtime/RuntimeUtil.java [138:171]


    public final static File load(URI uri, final File destination, final IProgressMonitor monitor, final Class<?>... urlInterceptors) throws IOException {
      if ("file".equals(uri.getScheme())) {
        monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Tool located on filesystem '%s'. Do not download.", uri)));
        return new File(uri);
      }
      //TODO: move to Provisioner???
      if ("class".equals(uri.getScheme())) {
        final URI original = uri;
        uri = resolve(uri, monitor);
        if (uri != null) {
          monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Tool location resolved to '%s'", uri)));
        } else {
          monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Resolver '%s' does not return any URI", original)));
        }

      }
      //create if required
      if (!destination.exists()) {
        destination.mkdirs();
        destination.createNewFile();
        monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Temporary '%s' file created", destination)));
      }
      //Remote part
      URL url = uri.toURL();
      try {
        url = intercept(url, monitor, urlInterceptors);
        return loadUrl(url, destination, monitor);
      } catch (Exception e) {
        final IOException ioe = new IOException(e.getMessage());
        ioe.initCause(e);
        throw ioe;
      }

    }