⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 build.js

📁 自动化编译工具代码
💻 JS
📖 第 1 页 / 共 2 页
字号:
    
    var files,file;
    files = new Enumerator(folder.files);
    for (; !files.atEnd(); files.moveNext())
    {
       file = files.item();
       var tmp = new String(file.Name);
       tmp = tmp.toLowerCase();
       if(tmp.indexOf(".sln") > 0)
       {
            compilesln(folder,file.Path);
            return;
       }
    }
}

//利用Oxygen生成文档
function RunOxygen()
{
    //如果目录已经存在,则删除
    var src = gstrBaseDirectory+gstrSrcOutputDirectory;
    var doc = gstrBaseDirectory+gstrDocumentOutputDirectory;
    if (fso.FolderExists(src))
    {
        fso.DeleteFolder(src,true);
    }
    if (fso.FolderExists(doc))
    {
        fso.DeleteFolder(doc,true);
    }
    //建立src,doc目录
    var objsrc,objdoc;
    objsrc = fso.CreateFolder(src);
    objdoc = fso.CreateFolder(doc);
    fso.MoveFolder(gstrSRCDir+"\\*",src+"\\");
    
    var shell = WScript.CreateObject("WScript.Shell");
    if (fso.FileExists(gstrOxygenEXEDirectory)==true)
    {
        var files,file;
        var folder = fso.GetFolder(gstrBaseDirectory);
	files = new Enumerator(folder.files);
	for (; !files.atEnd(); files.moveNext())
	{
	   file = files.item();
	   var tmp = new String(file.Name);
	   tmp = tmp.toLowerCase();
	   if(tmp.indexOf(".cfg") > 0)
	   {
	   	var suc = shell.Run("\""+gstrOxygenEXEDirectory+"\" "+gstrBaseDirectory+"\\"+tmp,0,true);
	   	if(suc == 0)
	        {
	            WriteLog("文档生成完成:"+tmp);
	        }
	        else
	        {
	            WriteLog("文档生成错误$$$$$$$$$$$$$$$$$:"+tmp);
	        }
	   }
	}
	fso.MoveFolder(doc+"\\*",gstrBuildDirectory+gstrDocumentOutputDirectory+"\\");
    }
    else
    {
        WriteLog("没有找到"+gstrOxygenEXEDirectory);
    }
    fso.MoveFolder(src+"\\*",gstrSRCDir+"\\");
    if (fso.FolderExists(src))
    {
        fso.DeleteFolder(src,true);
    }
    if (fso.FolderExists(doc))
    {
        fso.DeleteFolder(doc,true);
    }
}


var buildfolder = fso.GetFolder(gstrSRCDir);


//copy common目录下的文件
function CopyCommonFileToBinOutput()
{
    var subfolders,subfolder;
    if (fso.FolderExists(gstrSRCDir+"\\common")==false)
    {
        return;
    }
    folder = fso.GetFolder(gstrSRCDir+"\\common");
    subfolders = new Enumerator(folder.SubFolders);
    for (; !subfolders.atEnd(); subfolders.moveNext())
    {
       subfolder = subfolders.item();
       subfolder.Copy(gstrBuildDirectory+gstrProgrameOutputDirectory+"\\");
    }
    var files,file;
    files = new Enumerator(folder.files);
    for (; !files.atEnd(); files.moveNext())
    {
       file = files.item();
       file.Copy(gstrBuildDirectory+gstrProgrameOutputDirectory+"\\");
    }
    return;
}


function CopyRequiredFileToBinOutput()
{
    var subfolders,subfolder;
    if (fso.FolderExists(gstrRequiredFilesDirectory)==false)
    {
        return;
    }
    folder = fso.GetFolder(gstrRequiredFilesDirectory);
    subfolders = new Enumerator(folder.SubFolders);
    for (; !subfolders.atEnd(); subfolders.moveNext())
    {
       subfolder = subfolders.item();
       subfolder.Copy(gstrBuildDirectory+gstrProgrameOutputDirectory+"\\");
    }
    var files,file;
    files = new Enumerator(folder.files);
    for (; !files.atEnd(); files.moveNext())
    {
       file = files.item();
       file.Copy(gstrBuildDirectory+gstrProgrameOutputDirectory+"\\");
    }
    return;
}


//生成文档
RunOxygen();

//开始遍历目录,找sln
findsln(buildfolder);


CopyCommonFileToBinOutput();
//把需要的其他文件拷贝到程序目录下
CopyRequiredFileToBinOutput();


var tmpshell = WScript.CreateObject("WScript.Shell");
tmpshell.CurrentDirectory = gstrBuildDirectory;

//删除下载的src
//try
//{
//    fso.DeleteFolder(gstrSRCDir,true);
//}
//catch(e)
//{
//}


//copy bin目录下的文件到安装工程下
function CopyBinFileToInsPrj()
{
    var subfolders,subfolder;
    if (fso.FolderExists(gstrBuildDirectory+gstrProgrameOutputDirectory)==false)
    {
        return;
    }
    folder = fso.GetFolder(gstrBuildDirectory+gstrProgrameOutputDirectory);
    folder.Copy(gstrInsPrjDirectory+"\\");
    return;
}
function ConverFileAttToNormal(folder)
{
    var subfolders;
    subfolders = new Enumerator(folder.SubFolders);
    for (; !subfolders.atEnd(); subfolders.moveNext())
    {
       var subfolder = subfolders.item();
       ConverFileAttToNormal(subfolder);
    }
    
    var files,file;
    files = new Enumerator(folder.files);
    for (; !files.atEnd(); files.moveNext())
    {
       file = files.item();
       file.attributes = 0;
    }
    return;
}
function CopyInsFilesToInstallOutput()
{
    var subfolders,subfolder;
    if (fso.FolderExists(gstrInsPrjDirectory+"\\InstallConfig\\SingleImage\\DiskImages\\DISK1")==false)
    {
        return;
    }
    folder = fso.GetFolder(gstrInsPrjDirectory+"\\InstallConfig\\SingleImage\\DiskImages\\DISK1");
    var files,file;
    files = new Enumerator(folder.files);
    for (; !files.atEnd(); files.moveNext())
    {
       file = files.item();
       file.Copy(gstrBuildDirectory+gstrInstallOutputDirectory+"\\");
    }
    return;
}
function CompressFile(folder)
{
    var subfolders;
    subfolders = new Enumerator(folder.SubFolders);
    for (; !subfolders.atEnd(); subfolders.moveNext())
    {
       var subfolder = subfolders.item();
       CompressFile(subfolder);
    }
    
    var files,file;
    files = new Enumerator(folder.files);
    for (; !files.atEnd(); files.moveNext())
    {
       file = files.item();
       var tmp = new String(file.Name);
       tmp = tmp.toLowerCase();
       if(tmp.indexOf(".exe") > 0 || tmp.indexOf(".dll") > 0 || tmp.indexOf(".spi") > 0)
       {
            
            var shell = WScript.CreateObject("WScript.Shell");
  	    if (fso.FileExists(gstrCompressExePath)==true)
            {
              var suc = shell.Run("\""+gstrCompressExePath+"\""+file.Path,0,true);
  	    }
  	    else
  	    {
      		WriteLog("没有找到"+gstrCompressExePath);
  	    }
       }
    }
    return;
}
function BuildIns()
{
  try
  {

    var vssitem = vssdb.VSSItem(gstrInsPrjVSSRemoteDirectory, false);
    vssitem.LocalSpec = gstrInsPrjDirectory;
    vssitem.Get("",8192);
    WriteLog("获取最新安装工程成功");
  }
  catch(e)
  {
    SetError(e.description);
    WriteLog("访问VSS时发生错误:"+GetError());
    End();
  }
  
  CopyBinFileToInsPrj();
  
  var folder = fso.GetFolder(gstrInsPrjDirectory);
  ConverFileAttToNormal(folder);

 
  var shell = WScript.CreateObject("WScript.Shell");
  if (fso.FileExists(gstrInstallShieldExePath)==true)
  {
      var suc = shell.Run("\""+gstrInstallShieldExePath+"\" -p "+gstrInsPrjDirectory+"\\SursenReaderSetup.ism",0,true);
      if(suc == 0)
      {
          WriteLog("安装包生成完成");
      }
      else
      {
          WriteLog("安装包生成错误$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$");
      }
  }
  else
  {
      WriteLog("没有找到"+gstrInstallShieldExePath);
  }

  CopyInsFilesToInstallOutput();
}

//BuildIns();

WriteLog("每日编译结束");
//WScript.Echo("结束了!");
End();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -