本文整理汇总了TypeScript中azure-pipelines-task-lib/task.ls函数的典型用法代码示例。如果您正苦于以下问题:TypeScript ls函数的具体用法?TypeScript ls怎么用?TypeScript ls使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ls函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: isLatestInstalledVersion
private isLatestInstalledVersion(version: string): boolean {
var pathTobeChecked = this.packageType == utils.Constants.sdk ? path.join(this.installationPath, utils.Constants.relativeSdkPath) : path.join(this.installationPath, utils.Constants.relativeRuntimePath);
if (!tl.exist(pathTobeChecked)) {
throw tl.loc("PathNotFoundException", pathTobeChecked);
}
var allEnteries: string[] = tl.ls("", [pathTobeChecked]).map(name => path.join(pathTobeChecked, name));
var folderPaths: string[] = allEnteries.filter(element => fs.lstatSync(element).isDirectory());
var isLatest: boolean = folderPaths.findIndex(folderPath => {
try {
let versionFolderName = path.basename(folderPath);
tl.debug(tl.loc("ComparingInstalledFolderVersions", version, versionFolderName));
return utils.versionCompareFunction(versionFolderName, version) > 0;
}
catch (ex) {
// no op, folder name might not be in version format
}
}) < 0;
var filePaths: string[] = allEnteries.filter(element => !fs.lstatSync(element).isDirectory());
isLatest = isLatest && filePaths.findIndex(filePath => {
try {
var versionCompleteFileName = this.getVersionCompleteFileName(path.basename(filePath));
tl.debug(tl.loc("ComparingInstalledFileVersions", version, versionCompleteFileName));
return utils.versionCompareFunction(versionCompleteFileName, version) > 0
}
catch (ex) {
// no op, file name might not be in version format
}
}) < 0;
isLatest ? tl.debug(tl.loc("VersionIsLocalLatest", version, this.installationPath)) : tl.debug(tl.loc("VersionIsNotLocalLatest", version, this.installationPath));
return isLatest;
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:34,代码来源:versioninstaller.ts
示例2: downloadAndInstall
public async downloadAndInstall(versionInfo: VersionInfo, downloadUrl: string): Promise<void> {
if (!versionInfo || !versionInfo.getVersion() || !downloadUrl || !url.parse(downloadUrl)) {
throw tl.loc("VersionCanNotBeDownloadedFromUrl", versionInfo, downloadUrl);
}
let version = versionInfo.getVersion();
try {
try {
var downloadPath = await toolLib.downloadTool(downloadUrl)
}
catch (ex) {
throw tl.loc("CouldNotDownload", downloadUrl, ex);
}
// Extract
console.log(tl.loc("ExtractingPackage", downloadPath));
try {
var extPath = tl.osType().match(/^Win/) ? await toolLib.extractZip(downloadPath) : await toolLib.extractTar(downloadPath);
}
catch (ex) {
throw tl.loc("FailedWhileExtractingPacakge", ex);
}
// Copy folders
tl.debug(tl.loc("CopyingFoldersIntoPath", this.installationPath));
var allRootLevelEnteriesInDir: string[] = tl.ls("", [extPath]).map(name => path.join(extPath, name));
var directoriesTobeCopied: string[] = allRootLevelEnteriesInDir.filter(path => fs.lstatSync(path).isDirectory());
directoriesTobeCopied.forEach((directoryPath) => {
tl.cp(directoryPath, this.installationPath, "-rf", false);
});
// Copy files
try {
if (this.packageType == utils.Constants.sdk && this.isLatestInstalledVersion(version)) {
tl.debug(tl.loc("CopyingFilesIntoPath", this.installationPath));
var filesToBeCopied = allRootLevelEnteriesInDir.filter(path => !fs.lstatSync(path).isDirectory());
filesToBeCopied.forEach((filePath) => {
tl.cp(filePath, this.installationPath, "-f", false);
});
}
}
catch (ex) {
tl.warning(tl.loc("FailedToCopyTopLevelFiles", this.installationPath, ex));
}
// Cache tool
this.createInstallationCompleteFile(versionInfo);
console.log(tl.loc("SuccessfullyInstalled", this.packageType, version));
}
catch (ex) {
throw tl.loc("FailedWhileInstallingVersionAtPath", version, this.installationPath, ex);
}
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:55,代码来源:versioninstaller.ts
示例3: it
it("downloads nuget file as nupkg and does not extract it", (done: MochaDone) => {
this.timeout(1000);
let tp: string = path.join(__dirname, "L0DownloadNugetPackage_noextract.js");
let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp);
tr.run();
assert.equal(tl.ls(null, [tempDir]).length, 0, "no files should be in temp folder.");
assert.equal(tl.ls(null, [destinationDir]).length, 1, "should have only 1 file.");
const zipPath = path.join(destinationDir, "singlePackageName.nupkg");
const zipStats = tl.stats(zipPath);
assert(zipStats && zipStats.isFile(), "nupkg file should be downloaded");
assert(tr.stderr.length === 0, "should not have written to stderr");
assert(tr.succeeded, "task should have succeeded");
done();
});
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:21,代码来源:L0.ts
注:本文中的azure-pipelines-task-lib/task.ls函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论