Ejemplo n.º 1
0
  /** 从war包导出文件到增量 */
  public void scanWarToZip() {
    System.out.println("===========从指定压缩文件war、zip、jar 导出到zip文件=================");

    // 扫描并获取全部excel内容
    FilesList fileslist = excellisthelper.createFilesList();
    // 排重
    fileslist.removeDeuplicate();

    int fileCount = 0;

    SVNRepo svnrepo = SVNRepo.getInstance();
    ToZipFile tozipfile = new ToZipFile(svnrepo);

    // war包的清单
    WarFiles warlist =
        new WarFiles(pv.getProperty("zip.folder"), pv.getProperty("zip.folder.filter"));
    System.out.println("Loading.." + warlist);

    // 扫描excel文件的清单
    for (FilesListItem oitem : fileslist) {

      try {
        // 判断是否目录,目录就不操作
        if (PathUtils.isFolder(oitem.getPath())) {
          System.out.println("   >>>目录不处理" + oitem.getPath());
        } else fileCount += tozipfile.takeWarFileToZip(warlist, oitem);

      } catch (Exception e) {
        e.printStackTrace();
      }
    }

    System.out.println("\n    >>> 成功抽取文件数:" + fileCount);

    // 对zip文件进行检查,对比excel的文件,和zip中的文件
    tozipfile.FileInfo();
  }
Ejemplo n.º 2
0
  public String svnToPath(FilesList fileslist) {

    SVNRepo svnrepo = SVNRepo.getInstance();
    ToZipFile tozipfile = new ToZipFile(svnrepo);

    String exportToPath = pv.svntofolder;

    int fileCount = 0;
    long lVer = -1;
    String sMessage = "";

    for (FilesListItem oItem : fileslist) {
      try {
        // TODO  这里不应该是trunk  ???
        // String fromPath = oItem.getPath("trunk"); // PathUtils.autoPathRoot(sf.getPath()
        // aRow.get(ColList_Path),
        // "trunk");
        ExchangePath expath = oItem.getExchange();

        String sUrl = expath.getSvnURL(); // expath.getTrunkURL(); //
        // pv.svnurl + fromPath; //
        // svn库的文件绝对路径URL
        String sVer = oItem.getVer(); // aRow.get(ColList_Ver);
        // String toPath = PathUtils.autoUrlToPath(sUrl, exportToPath, pv.keyRootFolder);

        // 判断是否目录,目录就不操作
        if (PathUtils.isFolder(sUrl)) {
          System.out.println("目录不处理" + sUrl);
        } else {
          if (pv.getProperty("svn.version.verify").equals("true")) { // 必须校验版本号
            if (svnrepo.CheckFileVersion(sUrl, sVer)) {

              svnrepo.Export(oItem);
              // xclient.svnExport(sUrl, sVer, toPath,
              // pv.keyRootFolder);

              System.out.println("export 版本:" + sVer + "|| url=" + sUrl);

            } else {
              System.err.println(" -->>>文件版本不存在:[" + sVer + "]" + sUrl);
              continue;
            }
          } else { // 允许不校验版本号

            if (StringUtil.isBlank(sVer)) {
              sMessage = "export Last版本:";

            } else if (svnrepo.CheckFileVersion(sUrl, sVer)) {
              sMessage = "export 版本:";

            } else {
              sMessage = "export Last版本(原" + sVer + "):";
            }

            try {
              lVer = svnrepo.Export(oItem);
              // xclient.svnExport(sUrl, sVer, toPath,
              // pv.keyRootFolder);

              System.out.println(sMessage + Long.toString(lVer) + "|| url=" + sUrl);

            } catch (SVNException e) {
              e.printStackTrace();
              System.err.println(" -->>>文件版本不存在:[" + sVer + "]" + sUrl);
              continue;
            }
          }

          if (pv.getProperty("svn.tozip.enabled").equals("true"))
            // 将文件添加到zip文件
            tozipfile.takeFileToZip(oItem);
        }
        fileCount++;
      } catch (SVNException e) {
        e.printStackTrace();
      } catch (Exception e1) {
        e1.printStackTrace();
      }
    }

    System.out.println(
        "\nTotal "
            + Integer.toString(fileCount)
            + " Files, Exported to path ="
            + PathUtils.addFolderEnd(exportToPath)
            + pv.svnkeyRoot);

    tozipfile.FileInfo();

    return exportToPath;
  }