public boolean generateSnapshot()

in agent/src/jetbrains/buildServer/swabra/snapshots/SnapshotGenerator.java [43:79]


  public boolean generateSnapshot(@NotNull File snapshot) {
    if (snapshot.exists()) {
      myLogger.debug("Snapshot file " + snapshot.getName() + " exists, trying to delete");
      if (!FileUtil.delete(snapshot)) {
        myLogger.warn("Unable to delete " + snapshot.getName());
        return false;
      }
    }
    mySavedObjects = 0;
    myLogger.message("Saving " + myRootDir +
      " directory state to snapshot file " + snapshot.getName(), true);

    BufferedWriter writer = null;
    try {
      writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(snapshot), "UTF-8"));
      writer.write(getSnapshotHeader(myRootDirParent));

      iterateAndBuildSnapshot(writer);
      myLogger.debug("Successfully finished saving " + myRootDir +
        " directory state to snapshot file " + snapshot.getName() + ", saved " + mySavedObjects + " objects (including root dir)");
    } catch (Throwable e) {
      myLogger.warn("Unable to save " + myRootDir.getAbsolutePath()
        + " directory state to snapshot file " + snapshot.getName() + getMessage(e));
      myLogger.exception(e);
      return false;
    } finally {
      try {
        if (writer != null) {
          writer.close();
        }
      } catch (IOException e) {
        myLogger.exception(e);
        return false;
      }
    }
    return true;
  }