本文整理汇总了TypeScript中packaging-common/locationUtilities.getSystemAccessToken函数的典型用法代码示例。如果您正苦于以下问题:TypeScript getSystemAccessToken函数的具体用法?TypeScript getSystemAccessToken怎么用?TypeScript getSystemAccessToken使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了getSystemAccessToken函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: downloadUniversalPackage
export async function downloadUniversalPackage(
downloadPath: string,
feedId: string,
packageId: string,
version: string,
filterPattern: string
): Promise<void> {
try {
const accessToken = pkgLocationUtils.getSystemAccessToken();
let serviceUri = tl.getEndpointUrl("SYSTEMVSSCONNECTION", false);
const blobUri = await pkgLocationUtils.getBlobstoreUriFromBaseServiceUri(serviceUri, accessToken);
// Finding the artifact tool directory
var artifactToolPath = await artifactToolUtilities.getArtifactToolFromService(
blobUri,
accessToken,
"artifacttool"
);
const feedUri = await pkgLocationUtils.getFeedUriFromBaseServiceUri(serviceUri, accessToken);
let packageName: string = await artifactToolUtilities.getPackageNameFromId(
feedUri,
accessToken,
feedId,
packageId
);
tl.debug(tl.loc("Info_UsingArtifactToolDownload"));
const downloadOptions = {
artifactToolPath,
feedId,
accountUrl: serviceUri,
packageName,
packageVersion: version
} as artifactToolRunner.IArtifactToolOptions;
let toolRunnerOptions = artifactToolRunner.getOptions();
toolRunnerOptions.env.UNIVERSAL_DOWNLOAD_PAT = accessToken;
downloadPackageUsingArtifactTool(downloadPath, downloadOptions, toolRunnerOptions, filterPattern);
} catch (error) {
tl.setResult(tl.TaskResult.Failed, error.message);
return;
} finally {
_logUniversalStartupVariables({
ArtifactToolPath: artifactToolPath,
PackageType: "Universal",
FeedId : feedId,
PackageId: packageId,
Version: version,
IsTriggeringArtifact: tl.getInput("isTriggeringArtifact")
});
}
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:54,代码来源:universal.ts
示例2: getConnection
export function getConnection(areaId: string, collectionUrl: string): Promise<WebApi> {
var accessToken = locationUtility.getSystemAccessToken();
return locationUtility
.getServiceUriFromAreaId(collectionUrl, accessToken, areaId)
.then(url => {
const options: IRequestOptions = {
proxy: tl.getHttpProxyConfiguration(url)
};
return new WebApi(url, new BearerHandlerForPresignedUrls(accessToken), options);
})
.catch(error => {
throw error;
});
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:14,代码来源:connections.ts
示例3: getInternalAuthInfoArray
export async function getInternalAuthInfoArray(inputKey: string): Promise<AuthInfo[]> {
let internalAuthArray: AuthInfo[] = [];
const feedList = tl.getDelimitedInput(inputKey, ",");
if (!feedList || feedList.length === 0)
{
return internalAuthArray;
}
const serverType = tl.getVariable("System.ServerType");
if (!serverType || serverType.toLowerCase() !== "hosted"){
throw new Error(tl.loc("Error_PythonInternalFeedsNotSupportedOnprem"));
}
tl.debug(tl.loc("Info_AddingInternalFeeds", feedList.length));
let packagingLocation: string;
const serviceUri = tl.getEndpointUrl("SYSTEMVSSCONNECTION", false);
const localAccessToken = pkgLocationUtils.getSystemAccessToken();
try {
// This call is to get the packaging URI(abc.pkgs.vs.com) which is same for all protocols.
packagingLocation = await pkgLocationUtils.getNuGetUriFromBaseServiceUri(
serviceUri,
localAccessToken);
} catch (error) {
tl.debug(tl.loc("FailedToGetPackagingUri"));
tl.debug(JSON.stringify(error));
packagingLocation = serviceUri;
}
internalAuthArray = await Promise.all(feedList.map(async (feedName: string) => {
const feedUri = await pkgLocationUtils.getFeedRegistryUrl(
packagingLocation,
pkgLocationUtils.RegistryType.PyPiUpload,
feedName,
null,
localAccessToken,
true /* useSession */);
return new AuthInfo({
feedName,
feedUri,
isInternalSource: true,
} as IPackageSource,
AuthType.Token,
"build",
localAccessToken,
);
}));
return internalAuthArray;
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:49,代码来源:authentication.ts
示例4: main
async function main(): Promise<void> {
tl.setResourcePath(path.join(__dirname, "task.json"));
// Getting artifact tool
tl.debug("Getting artifact tool");
let artifactToolPath: string;
try {
const serverType = tl.getVariable("System.ServerType");
if (!serverType || serverType.toLowerCase() !== "hosted"){
throw new Error(tl.loc("Error_UniversalPackagesNotSupportedOnPrem"));
}
const localAccessToken = pkgLocationUtils.getSystemAccessToken();
const serviceUri = tl.getEndpointUrl("SYSTEMVSSCONNECTION", false);
const blobUri = await pkgLocationUtils.getBlobstoreUriFromBaseServiceUri(
serviceUri,
localAccessToken);
// Finding the artifact tool directory
artifactToolPath = await artifactToolUtilities.getArtifactToolFromService(
blobUri,
localAccessToken,
"artifacttool");
}
catch (error) {
tl.setResult(tl.TaskResult.Failed, tl.loc("FailedToGetArtifactTool", error.message));
return;
} finally{
_logUniversalStartupVariables(artifactToolPath);
}
// Calling the command. download/publish
const universalPackageCommand = tl.getInput("command", true);
switch (universalPackageCommand) {
case "download":
universalDownload.run(artifactToolPath);
break;
case "publish":
universalPublish.run(artifactToolPath);
break;
default:
tl.setResult(tl.TaskResult.Failed, tl.loc("Error_CommandNotRecognized", universalPackageCommand));
break;
}
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:45,代码来源:universalmain.ts
示例5: run
export async function run(artifactToolPath: string): Promise<void> {
const buildIdentityDisplayName: string = null;
const buildIdentityAccount: string = null;
try {
// Get directory to publish
const publishDir: string = tl.getInput("publishDirectory");
if (publishDir.length < 1)
{
tl.debug(tl.loc("Info_PublishDirectoryNotFound"));
return;
}
let serviceUri: string;
let feedId: string;
let packageName: string;
let version: string;
let accessToken: string;
let feedUri: string;
const publishedPackageVar: string = tl.getInput("publishedPackageVar");
const versionRadio = tl.getInput("versionPublishSelector");
// Feed Auth
let feedType = tl.getInput("internalOrExternalPublish") || "internal";
const normalizedFeedType = ["internal", "external"].find((x) =>
feedType.toUpperCase() === x.toUpperCase());
if (!normalizedFeedType) {
throw new Error(tl.loc("UnknownFeedType", feedType));
}
feedType = normalizedFeedType;
let internalAuthInfo: auth.InternalAuthInfo;
const toolRunnerOptions = artifactToolRunner.getOptions();
let sessionId: string;
if (feedType === "internal")
{
// getting inputs
serviceUri = tl.getEndpointUrl("SYSTEMVSSCONNECTION", false);
packageName = tl.getInput("packageListPublish");
feedId = tl.getInput("feedListPublish");
// Setting up auth info
accessToken = pkgLocationUtils.getSystemAccessToken();
internalAuthInfo = new auth.InternalAuthInfo([], accessToken);
toolRunnerOptions.env.UNIVERSAL_PUBLISH_PAT = internalAuthInfo.accessToken;
let packagingLocation: string;
try {
// This call is to get the packaging URI(abc.pkgs.vs.com) which is same for all protocols.
packagingLocation = await pkgLocationUtils.getNuGetUriFromBaseServiceUri(
serviceUri,
accessToken);
} catch (error) {
tl.debug(JSON.stringify(error));
packagingLocation = serviceUri;
}
const pkgConn = pkgLocationUtils.getWebApiWithProxy(packagingLocation, accessToken);
sessionId = await ProvenanceHelper.GetSessionId(
feedId,
null,
"upack", /* must match protocol name on the server */
pkgConn.serverUrl,
[pkgConn.authHandler],
pkgConn.options);
}
else {
const externalAuthInfo = auth.GetExternalAuthInfo("externalEndpoints");
if (!externalAuthInfo)
{
tl.setResult(tl.TaskResult.Failed, tl.loc("Error_NoSourceSpecifiedForPublish"));
return;
}
serviceUri = externalAuthInfo.packageSource.accountUrl;
feedId = tl.getInput("feedPublishExternal");
packageName = tl.getInput("packagePublishExternal");
// Assuming only auth via PAT works for now
accessToken = (externalAuthInfo as auth.TokenExternalAuthInfo).token;
toolRunnerOptions.env.UNIVERSAL_PUBLISH_PAT = accessToken;
}
if (versionRadio === "custom"){
version = tl.getInput("versionPublish");
}
else{
feedUri = await pkgLocationUtils.getFeedUriFromBaseServiceUri(serviceUri, accessToken);
const highestVersion = await artifactToolUtilities.getHighestPackageVersionFromFeed(
feedUri,
accessToken,
feedId,
packageName);
//.........这里部分代码省略.........
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:101,代码来源:universalpublish.ts
示例6: main
async function main(): Promise<void> {
tl.setResourcePath(path.join(__dirname, "task.json"));
try {
let packagingLocation: string;
let pipEnvVar: string = "";
if (tl.getVariable("PIP_EXTRA_INDEX_URL")) {
pipEnvVar = tl.getVariable("PIP_EXTRA_INDEX_URL");
}
const feedIds = tl.getDelimitedInput("feedList", ",");
const serverType = tl.getVariable("System.ServerType");
// Local feeds
if (feedIds)
{
if (!serverType || serverType.toLowerCase() !== "hosted"){
throw new Error(tl.loc("Error_PythonInternalFeedsNotSupportedOnprem"));
}
tl.debug(tl.loc("Info_AddingInternalFeeds", feedIds.length));
const serviceUri = tl.getEndpointUrl("SYSTEMVSSCONNECTION", false);
const localAccessToken = pkgLocationUtils.getSystemAccessToken();
try {
// This call is to get the packaging URI(abc.pkgs.vs.com) which is same for all protocols.
packagingLocation = await pkgLocationUtils.getNuGetUriFromBaseServiceUri(
serviceUri,
localAccessToken);
} catch (error) {
tl.debug(tl.loc("FailedToGetPackagingUri"));
tl.debug(JSON.stringify(error));
packagingLocation = serviceUri;
}
for (const feedId of feedIds) {
const feedUri = await pkgLocationUtils.getFeedRegistryUrl(
packagingLocation,
pkgLocationUtils.RegistryType.PyPiSimple,
feedId,
null,
localAccessToken);
const pipUri = utils.formPipCompatibleUri("build", localAccessToken, feedUri);
pipEnvVar = pipEnvVar + " " + pipUri;
}
}
// external service endpoints
let endpointNames = tl.getDelimitedInput("externalSources", ',');
const externalEndpoints = auth.getExternalAuthInfoArray(endpointNames);
externalEndpoints.forEach((id) => {
const externalPipUri = utils.formPipCompatibleUri(id.username, id.password, id.packageSource.feedUri);
pipEnvVar = pipEnvVar + " " + externalPipUri;
});
// Setting variable
tl.setVariable("PIP_EXTRA_INDEX_URL", pipEnvVar, false);
console.log(tl.loc("Info_SuccessAddingAuth", feedIds.length, externalEndpoints.length));
const pipauthvar = tl.getVariable("PIP_EXTRA_INDEX_URL");
if (pipauthvar.length < pipEnvVar.length){
tl.warning(tl.loc("Warn_TooManyFeedEntries"));
}
tl.debug(pipEnvVar);
}
catch (error) {
tl.error(error);
tl.setResult(tl.TaskResult.Failed, tl.loc("FailedToAddAuthentication"));
return;
} finally{
_logPipAuthStartupVariables();
}
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:73,代码来源:pipauthenticatemain.ts
示例7: run
export async function run(nuGetPath: string): Promise<void> {
let packagingLocation: pkgLocationUtils.PackagingLocation;
try {
packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.NuGet);
} 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 buildIdentityDisplayName: string = null;
const buildIdentityAccount: string = null;
try {
nutil.setConsoleCodePage();
// Get list of files to pusblish
const searchPatternInput = tl.getPathInput("searchPatternPush", true, false);
const useLegacyFind: boolean = tl.getVariable("NuGet.UseLegacyFindFiles") === "true";
let filesList: string[] = [];
if (!useLegacyFind) {
const findOptions: tl.FindOptions = {} as tl.FindOptions;
const matchOptions: tl.MatchOptions = {} as tl.MatchOptions;
const searchPatterns: string[] = nutil.getPatternsArrayFromInput(searchPatternInput);
filesList = tl.findMatch(undefined, searchPatterns, findOptions, matchOptions);
}
else {
filesList = nutil.resolveFilterSpec(searchPatternInput);
}
filesList.forEach((packageFile) => {
if (!tl.stats(packageFile).isFile()) {
throw new Error(tl.loc("Error_PushNotARegularFile", packageFile));
}
});
if (filesList && filesList.length < 1)
{
tl.warning(tl.loc("Info_NoPackagesMatchedTheSearchPattern"));
return;
}
// Get the info the type of feed
let nugetFeedType = tl.getInput("nuGetFeedType") || "internal";
// Make sure the feed type is an expected one
const normalizedNuGetFeedType = ["internal", "external"]
.find((x) => nugetFeedType.toUpperCase() === x.toUpperCase());
if (!normalizedNuGetFeedType) {
throw new Error(tl.loc("UnknownFeedType", nugetFeedType));
}
nugetFeedType = normalizedNuGetFeedType;
let urlPrefixes = packagingLocation.PackagingUris;
tl.debug(`discovered URL prefixes: ${urlPrefixes}`);
// Note to readers: This variable will be going away once we have a fix for the location service for
// customers behind proxies
const testPrefixes = tl.getVariable("NuGetTasks.ExtraUrlPrefixesForTesting");
if (testPrefixes) {
urlPrefixes = urlPrefixes.concat(testPrefixes.split(";"));
tl.debug(`all URL prefixes: ${urlPrefixes}`);
}
// Setting up auth info
const accessToken = pkgLocationUtils.getSystemAccessToken();
const quirks = await ngToolRunner.getNuGetQuirksAsync(nuGetPath);
// Clauses ordered in this way to avoid short-circuit evaluation, so the debug info printed by the functions
// is unconditionally displayed
const useV1CredProvider: boolean = ngToolRunner.isCredentialProviderEnabled(quirks);
const useV2CredProvider: boolean = ngToolRunner.isCredentialProviderV2Enabled(quirks);
const credProviderPath: string = nutil.locateCredentialProvider(useV2CredProvider);
const useCredConfig = ngToolRunner.isCredentialConfigEnabled(quirks)
&& (!useV1CredProvider && !useV2CredProvider);
const internalAuthInfo = new auth.InternalAuthInfo(
urlPrefixes,
accessToken,
((useV1CredProvider || useV2CredProvider) ? credProviderPath : null),
useCredConfig);
const environmentSettings: ngToolRunner.NuGetEnvironmentSettings = {
credProviderFolder: useV2CredProvider === false ? credProviderPath : null,
V2CredProviderPath: useV2CredProvider === true ? credProviderPath : null,
extensionsDisabled: true,
};
let configFile = null;
let apiKey: string;
let credCleanup = () => { return; };
let feedUri: string;
const isInternalFeed: boolean = nugetFeedType === "internal";
let authInfo: auth.NuGetExtendedAuthInfo;
let nuGetConfigHelper: NuGetConfigHelper2;
//.........这里部分代码省略.........
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:101,代码来源:nugetpublisher.ts
示例8: main
//.........这里部分代码省略.........
let versionToUse: string;
if (nugetUxOption === "4.0.0.2283") {
nuGetPathSuffix = "NuGet/4.0.0/";
versionToUse = "4.0.0";
}
else if (nugetUxOption === "3.5.0.1829") {
nuGetPathSuffix = "NuGet/3.5.0/";
versionToUse = "3.5.0";
}
else if (nugetUxOption === "3.3.0") {
nuGetPathSuffix = "NuGet/3.3.0/";
versionToUse = "3.3.0";
}
else {
throw new Error(tl.loc("NGCommon_UnabletoDetectNuGetVersion"));
}
// save and reset the tool path env var, so this task doesn't act as a tool installer
const tempNuGetPath = tl.getVariable(ngToolGetter.NUGET_EXE_TOOL_PATH_ENV_VAR);
const cachedVersion = await ngToolGetter.cacheBundledNuGet(versionToUse, nuGetPathSuffix);
nuGetPath = await ngToolGetter.getNuGet(cachedVersion);
tl.setVariable(ngToolGetter.NUGET_EXE_TOOL_PATH_ENV_VAR, tempNuGetPath);
}
//find nuget location to use
let credProviderPath = nutil.locateCredentialProvider();
const quirks = await ngToolRunner.getNuGetQuirksAsync(nuGetPath);
// clauses ordered in this way to avoid short-circuit evaluation, so the debug info printed by the functions
// is unconditionally displayed
const useCredProvider = ngToolRunner.isCredentialProviderEnabled(quirks) && credProviderPath;
const useCredConfig = ngToolRunner.isCredentialConfigEnabled(quirks) && !useCredProvider;
let accessToken = pkgLocationUtils.getSystemAccessToken();
let urlPrefixes = packagingLocation.PackagingUris;
tl.debug(`discovered URL prefixes: ${urlPrefixes}`);
// Note to readers: This variable will be going away once we have a fix for the location service for
// customers behind proxies
let testPrefixes = tl.getVariable("NuGetTasks.ExtraUrlPrefixesForTesting");
if (testPrefixes) {
urlPrefixes = urlPrefixes.concat(testPrefixes.split(";"));
tl.debug(`all URL prefixes: ${urlPrefixes}`);
}
const authInfo = new auth.NuGetAuthInfo(urlPrefixes, accessToken);
let environmentSettings: ngToolRunner.NuGetEnvironmentSettings = {
authInfo: authInfo,
credProviderFolder: useCredProvider ? path.dirname(credProviderPath) : null,
extensionsDisabled: !userNuGetProvided
};
let configFile = nugetConfigPath;
let credCleanup = () => { return; };
if (useCredConfig) {
if (nugetConfigPath) {
let nuGetConfigHelper = new NuGetConfigHelper(
nuGetPath,
nugetConfigPath,
authInfo,
environmentSettings);
const packageSources = await nuGetConfigHelper.getSourcesFromConfig();
if (packageSources.length !== 0) {
nuGetConfigHelper.setSources(packageSources, true);
credCleanup = () => tl.rmRF(nuGetConfigHelper.tempNugetConfigPath);
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:67,代码来源:nugetinstaller.ts
示例9: main
async function main(): Promise<void> {
let packagingLocation: pkgLocationUtils.PackagingLocation;
try {
packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.NuGet);
} 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};
}
tl.setResourcePath(path.join(__dirname, "task.json"));
let buildIdentityDisplayName: string = null;
let buildIdentityAccount: string = null;
let command: string = tl.getInput("command", true);
let args: string = tl.getInput("arguments", false);
// Getting NuGet
tl.debug('Getting NuGet');
let nuGetPath: string = undefined;
try {
nuGetPath = process.env[nuGetGetter.NUGET_EXE_TOOL_PATH_ENV_VAR];
if (!nuGetPath){
nuGetPath = await nuGetGetter.getNuGet("4.0.0");
}
}
catch (error) {
tl.setResult(tl.TaskResult.Failed, error.message);
return;
}
const version = await peParser.getFileVersionInfoAsync(nuGetPath);
if(version.productVersion.a < 3 || (version.productVersion.a <= 3 && version.productVersion.b < 5))
{
tl.setResult(tl.TaskResult.Failed, tl.loc("Info_NuGetSupportedAfter3_5", version.strings.ProductVersion));
return;
}
try {
nutil.setConsoleCodePage();
let credProviderPath = nutil.locateCredentialProvider();
// Clauses ordered in this way to avoid short-circuit evaluation, so the debug info printed by the functions
// is unconditionally displayed
const quirks = await ngToolRunner.getNuGetQuirksAsync(nuGetPath);
const useCredProvider = ngToolRunner.isCredentialProviderEnabled(quirks) && credProviderPath;
// useCredConfig not placed here: This task will only support NuGet versions >= 3.5.0 which support credProvider both hosted and OnPrem
let accessToken = pkgLocationUtils.getSystemAccessToken();
let serviceUri = tl.getEndpointUrl("SYSTEMVSSCONNECTION", false);
let urlPrefixes = packagingLocation.PackagingUris;
tl.debug(`Discovered URL prefixes: ${urlPrefixes}`);
// Note to readers: This variable will be going away once we have a fix for the location service for
// customers behind proxies
let testPrefixes = tl.getVariable("NuGetTasks.ExtraUrlPrefixesForTesting");
if (testPrefixes) {
urlPrefixes = urlPrefixes.concat(testPrefixes.split(";"));
tl.debug(`All URL prefixes: ${urlPrefixes}`);
}
const authInfo = new auth.NuGetAuthInfo(urlPrefixes, accessToken);
let environmentSettings: ngToolRunner.NuGetEnvironmentSettings = {
authInfo: authInfo,
credProviderFolder: useCredProvider ? path.dirname(credProviderPath) : null,
extensionsDisabled: true
};
let executionOptions = new NuGetExecutionOptions(
nuGetPath,
environmentSettings,
command,
args);
await runNuGetAsync(executionOptions);
} catch (err) {
tl.error(err);
if (buildIdentityDisplayName || buildIdentityAccount) {
tl.warning(tl.loc("BuildIdentityPermissionsHint", buildIdentityDisplayName, buildIdentityAccount));
}
tl.setResult(tl.TaskResult.Failed, "");
}
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:90,代码来源:nuget.ts
示例10: run
export async function run(nuGetPath: string): Promise<void> {
let packagingLocation: pkgLocationUtils.PackagingLocation;
try {
packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.NuGet);
} 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};
}
nutil.setConsoleCodePage();
const buildIdentityDisplayName: string = null;
const buildIdentityAccount: string = null;
const args: string = tl.getInput("arguments", false);
const version = await peParser.getFileVersionInfoAsync(nuGetPath);
if(version.productVersion.a < 3 || (version.productVersion.a <= 3 && version.productVersion.b < 5))
{
tl.setResult(tl.TaskResult.Failed, tl.loc("Info_NuGetSupportedAfter3_5", version.strings.ProductVersion));
return;
}
try {
// Clauses ordered in this way to avoid short-circuit evaluation, so the debug info printed by the functions
// is unconditionally displayed
const quirks = await ngToolRunner.getNuGetQuirksAsync(nuGetPath);
const useV1CredProvider: boolean = ngToolRunner.isCredentialProviderEnabled(quirks);
const useV2CredProvider: boolean = ngToolRunner.isCredentialProviderV2Enabled(quirks);
const credProviderPath: string = nutil.locateCredentialProvider(useV2CredProvider);
// useCredConfig not placed here: This task will only support NuGet versions >= 3.5.0
// which support credProvider both hosted and OnPrem
const accessToken = pkgLocationUtils.getSystemAccessToken();
let urlPrefixes = packagingLocation.PackagingUris;
tl.debug(`Discovered URL prefixes: ${urlPrefixes}`);
// Note to readers: This variable will be going away once we have a fix for the location service for
// customers behind proxies
const testPrefixes = tl.getVariable("NuGetTasks.ExtraUrlPrefixesForTesting");
if (testPrefixes) {
urlPrefixes = urlPrefixes.concat(testPrefixes.split(";"));
tl.debug(`All URL prefixes: ${urlPrefixes}`);
}
const authInfo = new auth.NuGetExtendedAuthInfo(
new auth.InternalAuthInfo(
urlPrefixes,
accessToken,
((useV1CredProvider || useV2CredProvider) ? credProviderPath : null),
false),
[]);
const environmentSettings: ngToolRunner.NuGetEnvironmentSettings = {
credProviderFolder: useV2CredProvider === false ? credProviderPath : null,
V2CredProviderPath: useV2CredProvider === true ? credProviderPath : null,
extensionsDisabled: true,
};
const executionOptions = new NuGetExecutionOptions(
nuGetPath,
environmentSettings,
args,
authInfo);
runNuGet(executionOptions);
} catch (err) {
tl.error(err);
if (buildIdentityDisplayName || buildIdentityAccount) {
tl.warning(tl.loc("BuildIdentityPermissionsHint", buildIdentityDisplayName, buildIdentityAccount));
}
tl.setResult(tl.TaskResult.Failed, "");
}
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:79,代码来源:nugetcustom.ts
注:本文中的packaging-common/locationUtilities.getSystemAccessToken函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论