📄 build.js
字号:
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 + -