本文整理汇总了TypeScript中azure-pipelines-task-lib/task.debug函数的典型用法代码示例。如果您正苦于以下问题:TypeScript debug函数的具体用法?TypeScript debug怎么用?TypeScript debug使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了debug函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: isServerBasedRun
function isServerBasedRun(): boolean {
const batchType = tl.getInput('distributionBatchType');
if (batchType && batchType === 'basedOnTestCases') {
const batchSize = tl.getInput('batchingBasedOnAgentsOption');
if (batchSize && batchSize === 'customBatchSize') {
return true;
}
} else if (batchType && batchType === 'basedOnExecutionTime') {
return true;
} else if (batchType && batchType === 'basedOnAssembly') {
return true;
}
const testType = tl.getInput('testSelector');
tl.debug('Value of Test Selector :' + testType);
if (testType.toLowerCase() === 'testplan' || testType.toLowerCase() === 'testrun') {
return true;
}
const parallelExecution = tl.getVariable('System.ParallelExecutionType');
tl.debug('Value of ParallelExecutionType :' + parallelExecution);
if (parallelExecution && parallelExecution.toLowerCase() === 'multimachine') {
const dontDistribute = tl.getBoolInput('dontDistribute');
if (dontDistribute) {
return false;
}
return true;
}
return false;
}
示例2: main
async function main(): Promise<void> {
tl.setResourcePath(path.join(__dirname, 'task.json'));
let packagingLocation: pkgLocationUtils.PackagingLocation;
try {
packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.Npm);
} catch (error) {
tl.debug('Unable to get packaging URIs, using default collection URI');
tl.debug(JSON.stringify(error));
const collectionUrl = tl.getVariable('System.TeamFoundationCollectionUri');
packagingLocation = {
PackagingUris: [collectionUrl],
DefaultPackagingUri: collectionUrl
};
}
const forcedUrl = tl.getVariable('Npm.PackagingCollectionUrl');
if (forcedUrl) {
packagingLocation.DefaultPackagingUri = forcedUrl;
packagingLocation.PackagingUris.push(forcedUrl);
}
await _logNpmStartupVariables(packagingLocation);
const command = tl.getInput(NpmTaskInput.Command);
switch (command) {
case NpmCommand.Install:
return npmCustom.run(packagingLocation, NpmCommand.Install);
case NpmCommand.Publish:
return npmPublish.run(packagingLocation);
case NpmCommand.Custom:
return npmCustom.run(packagingLocation);
default:
tl.setResult(tl.TaskResult.Failed, tl.loc('UnknownCommand', command));
return;
}
}
示例3: resolve
.then(packageMetadata => {
var fileMetadatas: any[] = packageMetadata.files;
tl.debug("Found " + fileMetadatas.length + " files in this package.");
var filteredFileList: Set<string> = this.filterFilesMinimatch(fileMetadatas);
tl.debug(filteredFileList.size + " files match filter criteria.");
var pkgFileUrlPromises: Promise<Map<string, PackageFileResult>>[] = [];
for (let i = 0; i < fileMetadatas.length; i++) {
if (filteredFileList.has(fileMetadatas[i].name)) {
const fileMetadata = fileMetadatas[i];
pkgFileUrlPromises.push(
fileMetadata.protocolMetadata.data.storageId != null
? this.getPackageFileDownloadUrl(feedId, project, packageMetadata, fileMetadata)
: this.getPackageFileContent(fileMetadata)
);
}
}
return Promise.all(pkgFileUrlPromises)
.then(urls => {
var downloadUrls = new Map<string, PackageFileResult>();
urls.forEach(url => {
downloadUrls = { ...downloadUrls, ...url };
});
return resolve(downloadUrls);
})
.catch(error => {
throw error;
});
})
示例4: updateRunSettingsWithDataCollector
function updateRunSettingsWithDataCollector(result: any, dataCollectorFriendlyName: string, dataCollectorNodeToAdd) {
if (!result.RunSettings) {
tl.debug('Updating runsettings file from RunSettings node');
result.RunSettings = { DataCollectionRunSettings: { DataCollectors: dataCollectorNodeToAdd } };
} else if (!result.RunSettings.DataCollectionRunSettings) {
tl.debug('Updating runsettings file from DataCollectionSettings node');
result.RunSettings.DataCollectionRunSettings = { DataCollectors: dataCollectorNodeToAdd };
} else if (!result.RunSettings.DataCollectionRunSettings[0].DataCollectors) {
tl.debug('Updating runsettings file from DataCollectors node');
result.RunSettings.DataCollectionRunSettings[0] = { DataCollectors: dataCollectorNodeToAdd };
} else {
var dataCollectorArray;
dataCollectorArray = result.RunSettings.DataCollectionRunSettings[0].DataCollectors[0].DataCollector;
if (!dataCollectorArray) {
tl.debug('Updating runsettings file from DataCollectors node');
result.RunSettings.DataCollectionRunSettings[0] = { DataCollectors: dataCollectorNodeToAdd };
} else {
if (!isDataCollectorPresent(dataCollectorArray, dataCollectorFriendlyName)) {
tl.debug('Updating runsettings file, adding a DataCollector node');
dataCollectorArray.push(dataCollectorNodeToAdd[0].DataCollector[0]);
}
}
}
return result;
}
示例5: getVSTestConsolePath
export function getVSTestConsolePath(versionLowerLimit : string, versionUpperLimit : string): string {
let vswhereTool = tl.tool(path.join(__dirname, 'vswhere.exe'));
console.log(tl.loc('LookingForVsInstalltion'));
vswhereTool.line(`-version [${versionLowerLimit},${versionUpperLimit}) -latest -products * -requires Microsoft.VisualStudio.PackageGroup.TestTools.Core -property installationPath`);
let vsPath = vswhereTool.execSync({ silent: true } as tr.IExecSyncOptions).stdout;
vsPath = utils.Helper.trimString(vsPath);
if (!utils.Helper.isNullOrWhitespace(vsPath)) {
tl.debug('Visual Studio 15.0 or higher installed path: ' + vsPath);
return vsPath;
}
// look for build tool installation if full VS not present
console.log(tl.loc('LookingForBuildToolsInstalltion'));
vswhereTool = tl.tool(path.join(__dirname, 'vswhere.exe'));
vswhereTool.line(`-version [${versionLowerLimit},${versionUpperLimit}) -latest -products * -requires Microsoft.VisualStudio.Component.TestTools.BuildTools -property installationPath`);
vsPath = vswhereTool.execSync({ silent: true } as tr.IExecSyncOptions).stdout;
vsPath = utils.Helper.trimString(vsPath);
if (!utils.Helper.isNullOrWhitespace(vsPath)) {
tl.debug('Build tools installed path: ' + vsPath);
return vsPath;
}
return null;
}
示例6: updateRunSettingsWithCodeCoverageDetails
function updateRunSettingsWithCodeCoverageDetails(result: any, codeCoverageNode: any, settingsFile: string) {
if (!result.RunSettings) {
tl.debug('Updating runsettings file from RunSettings node');
result.RunSettings = { DataCollectionRunSettings: { DataCollectors: codeCoverageNode } };
} else if (!result.RunSettings.DataCollectionRunSettings) {
tl.debug('Updating runsettings file from DataCollectionSettings node');
result.RunSettings.DataCollectionRunSettings = { DataCollectors: codeCoverageNode };
} else if (!result.RunSettings.DataCollectionRunSettings[0].DataCollectors) {
tl.debug('Updating runsettings file from DataCollectors node');
result.RunSettings.DataCollectionRunSettings[0] = { DataCollectors: codeCoverageNode };
} else {
var dataCollectorArray;
dataCollectorArray = result.RunSettings.DataCollectionRunSettings[0].DataCollectors[0].DataCollector;
if (!dataCollectorArray) {
tl.debug('Updating runsettings file from DataCollectors node');
result.RunSettings.DataCollectionRunSettings[0] = { DataCollectors: codeCoverageNode };
} else {
if (!isDataCollectorPresent(dataCollectorArray, codeCoverageFriendlyName)) {
tl.debug('Updating runsettings file, adding a DataCollector node');
dataCollectorArray.push(codeCoverageNode[0].DataCollector[0]);
}
else {
try {
setUseVerifiableInstrumentationToFalse(dataCollectorArray);
} catch (error) {
throw new Error(tl.loc('InvalidSettingsFile', settingsFile));
}
}
}
}
return result;
}
示例7: updateSettingsWithParameters
function updateSettingsWithParameters(result: any, overrideParametersString: string) {
const overrideParameters = parameterParser.parse(overrideParametersString);
var parametersArray;
if (result.RunSettings) {
if (result.RunSettings.TestRunParameters && result.RunSettings.TestRunParameters[0] &&
result.RunSettings.TestRunParameters[0].Parameter) {
tl.debug('Overriding test run parameters for run settings.');
parametersArray = result.RunSettings.TestRunParameters[0].Parameter;
}
}
else if (result.TestSettings) {
if (result.TestSettings.Properties && result.TestSettings.Properties[0] &&
result.TestSettings.Properties[0].Property) {
tl.debug('Overriding test run parameters for test settings.');
parametersArray = result.TestSettings.Properties[0].Property;
}
}
if (parametersArray) {
parametersArray.forEach(function (parameter) {
const key = parameter.$.Name || parameter.$.name;
if (overrideParameters[key] && overrideParameters[key].value) {
tl.debug('Overriding value for parameter : ' + key);
if (parameter.$.Value) {
parameter.$.Value = overrideParameters[key].value;
} else {
parameter.$.value = overrideParameters[key].value;
}
}
});
}
return result;
}
示例8: 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;
}
示例9: installVsTestPlatformToolFromCustomFeed
// Installs the test platform from a custom feed provided by the user along with credentials for authentication against said feed
public async installVsTestPlatformToolFromCustomFeed(packageSource: string, versionSelectorInput: string, testPlatformVersion: string, username: string, password: string) {
let tempConfigFilePath = null;
try {
try {
if (!helpers.isNullEmptyOrUndefined(password)) {
tl.debug('Attempting to write feed details along with provided credentials to temporary config file.');
tempConfigFilePath = helpers.GenerateTempFile(`${uuid.v1()}.config`);
const feedId = uuid.v1();
this.prepareNugetConfigFile(packageSource, tempConfigFilePath, username, password, feedId);
packageSource = feedId;
ci.addToConsolidatedCi('passwordProvided', 'true');
ci.addToConsolidatedCi('usernameProvided', `${!helpers.isNullEmptyOrUndefined(username)}`);
} else {
packageSource = tl.getInput(constants.customFeed);
tl.debug(`Credentials were not provided. Skipping writing to config file. Will use custom package feed provided by user ${packageSource}`);
}
} catch (error) {
tl.error(error);
console.log(tl.loc('LatestStableCached'));
// Look for the latest stable version available in the cache as a fallback.
testPlatformVersion = 'x';
tempConfigFilePath = null;
}
await this.installVsTestPlatformToolFromSpecifiedFeed(packageSource, testPlatformVersion, versionSelectorInput, tempConfigFilePath);
} finally {
helpers.cleanUpTempConfigFile(tempConfigFilePath);
}
}
示例10: getAdvinst
async function getAdvinst(version: string, license: string): Promise<void> {
if (!semvish.valid(version))
throw Error(taskLib.loc("AI_InvalidVersionFormat", version));
let cachedToolRoot: string;
//Verify if this version of advinst was already installed.
cachedToolRoot = _getLocalTool(semvish.clean(version));
if (!cachedToolRoot) {
console.log(taskLib.loc("AI_InstallNewTool"));
//Extract advinst.msi and cache the content.
cachedToolRoot = await acquireAdvinst(version);
}
else {
console.log(taskLib.loc("AI_UseCachedTool", cachedToolRoot));
}
let msBuildTargetsPath: string = path.join(cachedToolRoot, advinstMSBuildTargetsSubPath);
//Compute the actual AdvancedInstaller.com folder
let advinstBinRoot: string = path.join(cachedToolRoot, advinstToolSubPath);
//Debug traces
taskLib.debug('cachedToolRoot = ' + cachedToolRoot);
taskLib.debug('advinstBinRoot = ' + advinstBinRoot);
taskLib.debug('msBuildTargetsPath = ' + msBuildTargetsPath);
//Register advinst if a license key was provided
await registerAdvinst(advinstBinRoot, license);
//Add the advinst folder to PATH
toolLib.prependPath(advinstBinRoot);
//Set the environment variables that will be used by Advanced Installer tasks later on.
taskLib.setVariable(advinstMSBuildTargetsVar, msBuildTargetsPath);
taskLib.setVariable(advinstToolRootVar, cachedToolRoot);
}