本文整理匯總了TypeScript中vsts-task-lib/task.mkdirP函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript mkdirP函數的具體用法?TypeScript mkdirP怎麽用?TypeScript mkdirP使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了mkdirP函數的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: function
coreApi.restClient.get(packageUrl, ApiVersion, null, { responseIsCollection: false }, async function (error, status, result) {
if (!!error && status != 200) {
reject(tl.loc("FailedToGetPackageMetadata", error));
}
var packageType = result.protocolType.toLowerCase();
var packageName = result.name;
if (packageType == "nuget") {
var downloadUrl = await getDownloadUrl(coreApi.vsoClient, feedId, packageName, version);
if (!tl.exist(downloadPath)) {
tl.mkdirP(downloadPath);
}
var zipLocation = path.resolve(downloadPath, "/../", packageName) + ".zip";
var unzipLocation = path.join(downloadPath, "");
console.log(tl.loc("StartingDownloadOfPackage", packageName, zipLocation));
await downloadNugetPackage(coreApi, downloadUrl, zipLocation);
console.log(tl.loc("ExtractingNugetPackage", packageName, unzipLocation));
await unzip(zipLocation, unzipLocation);
if (tl.exist(zipLocation)) {
tl.rmRF(zipLocation, false);
}
resolve();
}
else {
reject(tl.loc("PackageTypeNotSupported"));
}
});
示例2: acquireNodeFromFallbackLocation
// For non LTS versions of Node, the files we need (for Windows) are sometimes located
// in a different folder than they normally are for other versions.
// Normally the format is similar to: https://nodejs.org/dist/v5.10.1/node-v5.10.1-win-x64.7z
// In this case, there will be two files located at:
// /dist/v5.10.1/win-x64/node.exe
// /dist/v5.10.1/win-x64/node.lib
// If this is not the structure, there may also be two files located at:
// /dist/v0.12.18/node.exe
// /dist/v0.12.18/node.lib
// This method attempts to download and cache the resources from these alternative locations.
// Note also that the files are normally zipped but in this case they are just an exe
// and lib file in a folder, not zipped.
async function acquireNodeFromFallbackLocation(version: string): Promise<string> {
// Create temporary folder to download in to
let tempDownloadFolder: string = 'temp_' + Math.floor(Math.random() * 2000000000);
let tempDir: string = path.join(taskLib.getVariable('agent.tempDirectory'), tempDownloadFolder);
taskLib.mkdirP(tempDir);
let exeUrl: string;
let libUrl: string;
try {
exeUrl = `https://nodejs.org/dist/v${version}/win-${os.arch()}/node.exe`;
libUrl = `https://nodejs.org/dist/v${version}/win-${os.arch()}/node.lib`;
await toolLib.downloadTool(exeUrl, path.join(tempDir, "node.exe"));
await toolLib.downloadTool(libUrl, path.join(tempDir, "node.lib"));
}
catch (err) {
if (err['httpStatusCode'] &&
err['httpStatusCode'] == 404)
{
exeUrl = `https://nodejs.org/dist/v${version}/node.exe`;
libUrl = `https://nodejs.org/dist/v${version}/node.lib`;
await toolLib.downloadTool(exeUrl, path.join(tempDir, "node.exe"));
await toolLib.downloadTool(libUrl, path.join(tempDir, "node.lib"));
}
else {
throw err;
}
}
return await toolLib.cacheDir(tempDir, 'node', version);
}
示例3: ensureDirExists
private ensureDirExists(dirPath : string) : void
{
if (!fs.existsSync(dirPath)) {
fs.mkdirSync(dirPath);
var privateKeyDir= path.join(dirPath, "trust", "private");
tl.mkdirP(privateKeyDir);
}
}
示例4: constructor
constructor(packageType: string, installationPath: string) {
try {
tl.exist(installationPath) || tl.mkdirP(installationPath);
}
catch (ex) {
throw tl.loc("UnableToAccessPath", installationPath, JSON.stringify(ex));
}
this.packageType = packageType;
this.installationPath = installationPath;
}
示例5: getTempPath
export function getTempPath(): string {
let tempNpmrcDir
= tl.getVariable("Agent.BuildDirectory")
|| tl.getVariable("Agent.ReleaseDirectory")
|| process.cwd();
let tempPath = path.join(tempNpmrcDir, "yarn");
if (tl.exist(tempPath) === false) {
tl.mkdirP(tempPath);
}
return tempPath;
}
示例6: getTempPath
export function getTempPath(): string {
const tempNpmrcDir
= tl.getVariable('Agent.BuildDirectory')
|| tl.getVariable('Agent.ReleaseDirectory')
|| process.cwd();
const tempPath = path.join(tempNpmrcDir, 'npm');
if (tl.exist(tempPath) === false) {
tl.mkdirP(tempPath);
}
return tempPath;
}
示例7: acquireNodeFromFallbackLocation
// For non LTS versions of Node, the files we need (for Windows) are sometimes located
// in a different folder than they normally are for other versions.
// Normally the format is similar to: https://nodejs.org/dist/v5.10.1/node-v5.10.1-win-x64.7z
// In this case, there will be two files located at:
// /dist/v5.10.1/win-x64/node.exe
// /dist/v5.10.1/win-x64/node.lib
// This method attempts to download and cache the resources from this alternative location.
// Note also that the files are normally zipped but in this case they are just an exe
// and lib file in a folder, not zipped.
async function acquireNodeFromFallbackLocation(version: string): Promise<string> {
let exeUrl: string = `https://nodejs.org/dist/v${version}/win-${os.arch()}/node.exe`;
let libUrl: string = `https://nodejs.org/dist/v${version}/win-${os.arch()}/node.lib`;
// Create temporary folder to download in to
let tempDownloadFolder: string = 'temp_' + Math.floor(Math.random() * 2000000000);
let tempDir: string = path.join(taskLib.getVariable('agent.tempDirectory'), tempDownloadFolder);
taskLib.mkdirP(tempDir);
let exeDownloadPath: string = await toolLib.downloadTool(exeUrl, path.join(tempDir, "node.exe"));
let libDownloadPath: string = await toolLib.downloadTool(libUrl, path.join(tempDir, "node.lib"));
return await toolLib.cacheDir(tempDir, 'node', version);
}
示例8: getPypircPath
export function getPypircPath(): string {
let pypircPath: string;
if (tl.getVariable("PYPIRC_PATH")) {
pypircPath = tl.getVariable("PYPIRC_PATH");
}
else {
// tslint:disable-next-line:max-line-length
let tempPath = tl.getVariable("Agent.BuildDirectory") || tl.getVariable("Agent.ReleaseDirectory") || process.cwd();
tempPath = path.join(tempPath, "twineAuthenticate");
tl.mkdirP(tempPath);
let savePypircPath = fs.mkdtempSync(tempPath + path.sep);
pypircPath = savePypircPath + path.sep + ".pypirc";
}
return pypircPath;
}
示例9: addDotNetCoreToolPath
function addDotNetCoreToolPath() {
try {
let globalToolPath: string = "";
if (tl.osType().match(/^Win/)) {
globalToolPath = path.join(process.env.USERPROFILE, Constants.relativeGlobalToolPath);
} else {
globalToolPath = path.join(process.env.HOME, Constants.relativeGlobalToolPath);
}
console.log(tl.loc("PrependGlobalToolPath"));
tl.mkdirP(globalToolPath);
toolLib.prependPath(globalToolPath);
} catch (error) {
//nop
console.log(tl.loc("ErrorWhileSettingDotNetToolPath", JSON.stringify(error)));
}
}
示例10: install
public async install() {
// Check cache
let toolPath: string;
let osSuffixes = this.detectMachineOS();
let parts = osSuffixes[0].split("-");
this.arch = parts.length > 1 ? parts[1] : "x64";
toolPath = this.getLocalTool();
if (!toolPath) {
// download, extract, cache
console.log(tl.loc("InstallingAfresh"));
console.log(tl.loc("GettingDownloadUrl", this.packageType, this.version));
let downloadUrls = await DotNetCoreReleaseFetcher.getDownloadUrls(osSuffixes, this.version, this.packageType);
toolPath = await this.downloadAndInstall(downloadUrls);
} else {
console.log(tl.loc("UsingCachedTool", toolPath));
}
// Prepend the tools path. instructs the agent to prepend for future tasks
toolLib.prependPath(toolPath);
try {
let globalToolPath: string = "";
if (tl.osType().match(/^Win/)) {
globalToolPath = path.join(process.env.USERPROFILE, ".dotnet\\tools");
} else {
globalToolPath = path.join(process.env.HOME, ".dotnet/tools");
}
console.log(tl.loc("PrependGlobalToolPath"));
tl.mkdirP(globalToolPath);
toolLib.prependPath(globalToolPath);
} catch (error) {
//nop
}
// Set DOTNET_ROOT for dotnet core Apphost to find runtime since it is installed to a non well-known location.
tl.setVariable('DOTNET_ROOT', toolPath);
}