本文整理汇总了TypeScript中azure-pipelines-task-lib/task.writeFile函数的典型用法代码示例。如果您正苦于以下问题:TypeScript writeFile函数的具体用法?TypeScript writeFile怎么用?TypeScript writeFile使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了writeFile函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: createInstallationCompleteFile
private createInstallationCompleteFile(versionInfo: VersionInfo): void {
tl.debug(tl.loc("CreatingInstallationCompeleteFile", versionInfo.getVersion(), this.packageType));
// always add for runtime as it is installed with sdk as well.
var pathToVersionCompleteFile: string = "";
if (this.packageType == utils.Constants.sdk) {
let sdkVersion = versionInfo.getVersion();
pathToVersionCompleteFile = path.join(this.installationPath, utils.Constants.relativeSdkPath, `${sdkVersion}.complete`);
tl.writeFile(pathToVersionCompleteFile, `{ "version": "${sdkVersion}" }`);
}
let runtimeVersion = versionInfo.getRuntimeVersion();
if (runtimeVersion) {
pathToVersionCompleteFile = path.join(this.installationPath, utils.Constants.relativeRuntimePath, `${runtimeVersion}.complete`);
tl.writeFile(pathToVersionCompleteFile, `{ "version": "${runtimeVersion}" }`);
}
else if (this.packageType == utils.Constants.runtime) {
throw tl.loc("CannotFindRuntimeVersionForCompletingInstallation", this.packageType, versionInfo.getVersion());
}
}
示例2: getmacOSProvisioningProfileType
export async function getmacOSProvisioningProfileType(provProfilePath: string) {
let provProfileType: string;
try {
//find the provisioning profile details
let provProfileDetails: string;
let getProvProfileDetailsCmd: ToolRunner = tl.tool(tl.which('security', true));
getProvProfileDetailsCmd.arg(['cms', '-D', '-i', provProfilePath]);
getProvProfileDetailsCmd.on('stdout', function (data) {
if (data) {
if (provProfileDetails) {
provProfileDetails = provProfileDetails.concat(data.toString().trim().replace(/[,\n\r\f\v]/gm, ''));
} else {
provProfileDetails = data.toString().trim().replace(/[,\n\r\f\v]/gm, '');
}
}
})
await getProvProfileDetailsCmd.exec();
let tmpPlist: string;
if (provProfileDetails) {
//write the provisioning profile to a plist
tmpPlist = '_xcodetasktmp.plist';
tl.writeFile(tmpPlist, provProfileDetails);
} else {
throw tl.loc('ProvProfileDetailsNotFound', provProfilePath);
}
//get ProvisionsAllDevices - this will exist for developer-id profiles
let provisionsAllDevices: string = await printFromPlist('ProvisionsAllDevices', tmpPlist);
tl.debug('provisionsAllDevices = ' + provisionsAllDevices);
if (provisionsAllDevices && provisionsAllDevices.trim().toLowerCase() === 'true') {
//ProvisionsAllDevices = true in developer-id profiles
provProfileType = 'developer-id';
} else {
let provisionedDevices: string = await printFromPlist('ProvisionedDevices', tmpPlist);
if (!provisionedDevices) {
// no provisioned devices means it is an app-store profile
provProfileType = 'app-store';
} else {
// profile with provisioned devices - use development
provProfileType = 'development';
}
}
//delete the temporary plist file
let deletePlistCommand: ToolRunner = tl.tool(tl.which('rm', true));
deletePlistCommand.arg(['-f', tmpPlist]);
await deletePlistCommand.exec();
} catch (err) {
tl.debug(err);
}
return provProfileType;
}
示例3: getCommandsFile
function getCommandsFile(advinstCommands: string[]): string {
let agentTempFolder: string = _getAgentTemp();
const commandsFilePath = path.join(agentTempFolder, taskLib.getVariable('Build.BuildId') + '.aic');
taskLib.debug("Commands file path: " + commandsFilePath);
let commandFileContent: string[] = [';aic;'];
commandFileContent = commandFileContent.concat(advinstCommands);
taskLib.debug(commandFileContent.join('|'));
taskLib.writeFile(commandsFilePath, commandFileContent.join('\r\n'));
return commandsFilePath;
}
示例4: GetRegistries
export function GetRegistries(npmrc: string, saveNormalizedRegistries: boolean): string[] {
let registries: string[] = [];
let config = ini.parse(fs.readFileSync(npmrc).toString());
for (let key in config) {
let colonIndex = key.indexOf(':');
if (key.substring(colonIndex + 1).toLowerCase() === 'registry') {
config[key] = NormalizeRegistry(config[key]);
registries.push(config[key]);
}
}
if (saveNormalizedRegistries) {
// save the .npmrc with normalized registries
tl.writeFile(npmrc, ini.stringify(config));
}
return registries;
}
示例5: getCloudEntitlement
export async function getCloudEntitlement(provisioningProfilePath: string, exportMethod: string): Promise<string> {
//find the provisioning profile details
let provProfileDetails: string;
const getProvProfileDetailsCmd: ToolRunner = tl.tool(tl.which('security', true));
getProvProfileDetailsCmd.arg(['cms', '-D', '-i', provisioningProfilePath]);
getProvProfileDetailsCmd.on('stdout', function (data) {
if (data) {
if (provProfileDetails) {
provProfileDetails = provProfileDetails.concat(data.toString().trim().replace(/[,\n\r\f\v]/gm, ''));
} else {
provProfileDetails = data.toString().trim().replace(/[,\n\r\f\v]/gm, '');
}
}
});
await getProvProfileDetailsCmd.exec();
let tmpPlist: string;
if (provProfileDetails) {
//write the provisioning profile to a plist
tmpPlist = '_xcodetasktmp.plist';
tl.writeFile(tmpPlist, provProfileDetails);
} else {
throw tl.loc('ProvProfileDetailsNotFound', provisioningProfilePath);
}
//use PlistBuddy to figure out if cloud entitlement exists.
const cloudEntitlement: string = await printFromPlist('Entitlements:com.apple.developer.icloud-container-environment', tmpPlist);
//delete the temporary plist file
const deletePlistCommand: ToolRunner = tl.tool(tl.which('rm', true));
deletePlistCommand.arg(['-f', tmpPlist]);
await deletePlistCommand.exec();
if (!cloudEntitlement) {
return null;
}
tl.debug('Provisioning Profile contains cloud entitlement');
return (exportMethod === 'app-store' || exportMethod === 'enterprise' || exportMethod === 'developer-id')
? "Production"
: "Development";
}
示例6: getProvisioningProfileName
export async function getProvisioningProfileName(provProfilePath: string) {
//find the provisioning profile UUID
let provProfileDetails: string;
let getProvProfileDetailsCmd: ToolRunner = tl.tool(tl.which('security', true));
getProvProfileDetailsCmd.arg(['cms', '-D', '-i', provProfilePath]);
getProvProfileDetailsCmd.on('stdout', function (data) {
if (data) {
if (provProfileDetails) {
provProfileDetails = provProfileDetails.concat(data.toString().trim().replace(/[,\n\r\f\v]/gm, ''));
} else {
provProfileDetails = data.toString().trim().replace(/[,\n\r\f\v]/gm, '');
}
}
})
await getProvProfileDetailsCmd.exec();
let tmpPlist: string;
if (provProfileDetails) {
//write the provisioning profile to a plist
tmpPlist = '_xcodetasktmp.plist';
tl.writeFile(tmpPlist, provProfileDetails);
} else {
throw tl.loc('ProvProfileDetailsNotFound', provProfilePath);
}
//use PlistBuddy to figure out the Name
let provProfileName: string = await printFromPlist('Name', tmpPlist);
//delete the temporary plist file
let deletePlistCommand: ToolRunner = tl.tool(tl.which('rm', true));
deletePlistCommand.arg(['-f', tmpPlist]);
await deletePlistCommand.exec();
tl.debug('getProvisioningProfileName: profile name = ' + provProfileName);
return provProfileName;
}
示例7: installProvisioningProfile
export async function installProvisioningProfile(provProfilePath: string) : Promise<{ provProfileUUID: string, provProfileName: string }> {
//find the provisioning profile UUID
let provProfileDetails: string;
let getProvProfileDetailsCmd: ToolRunner = tl.tool(tl.which('security', true));
getProvProfileDetailsCmd.arg(['cms', '-D', '-i', provProfilePath]);
getProvProfileDetailsCmd.on('stdout', function (data) {
if (data) {
if (provProfileDetails) {
provProfileDetails = provProfileDetails.concat(data.toString().trim().replace(/[,\n\r\f\v]/gm, ''));
} else {
provProfileDetails = data.toString().trim().replace(/[,\n\r\f\v]/gm, '');
}
}
})
await getProvProfileDetailsCmd.exec();
let tmpPlist: string;
if (provProfileDetails) {
//write the provisioning profile to a plist
tmpPlist = '_xcodetasktmp.plist';
tl.writeFile(tmpPlist, provProfileDetails);
} else {
throw tl.loc('ProvProfileDetailsNotFound', provProfilePath);
}
//use PlistBuddy to figure out the UUID
let provProfileUUID: string;
let plist = tl.which('/usr/libexec/PlistBuddy', true);
let plistTool: ToolRunner = tl.tool(plist);
plistTool.arg(['-c', 'Print UUID', tmpPlist]);
plistTool.on('stdout', function (data) {
if (data) {
provProfileUUID = data.toString().trim();
}
})
await plistTool.exec();
//use PlistBuddy to figure out the Name
let provProfileName: string;
plistTool = tl.tool(plist);
plistTool.arg(['-c', 'Print Name', tmpPlist]);
plistTool.on('stdout', function (data) {
if (data) {
provProfileName = data.toString().trim();
}
})
await plistTool.exec();
//delete the temporary plist file
let deletePlistCommand: ToolRunner = tl.tool(tl.which('rm', true));
deletePlistCommand.arg(['-f', tmpPlist]);
await deletePlistCommand.exec();
if (provProfileUUID) {
//copy the provisioning profile file to ~/Library/MobileDevice/Provisioning Profiles
tl.mkdirP(getUserProvisioningProfilesPath()); // Path may not exist if Xcode has not been run yet.
let pathToProvProfile: string = getProvisioningProfilePath(provProfileUUID, provProfilePath);
let copyProvProfileCmd: ToolRunner = tl.tool(tl.which('cp', true));
copyProvProfileCmd.arg(['-f', provProfilePath, pathToProvProfile]);
await copyProvProfileCmd.exec();
if (!provProfileName) {
tl.warning(tl.loc('ProvProfileNameNotFound'));
}
return { provProfileUUID, provProfileName };
} else {
throw tl.loc('ProvProfileUUIDNotFound', provProfilePath);
}
}
示例8: appendToNpmrc
export function appendToNpmrc(npmrc: string, data: string): void {
tl.writeFile(npmrc, data, {
flag: 'a'
} as tl.FsOptions);
}