当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript task.tool函数代码示例

本文整理汇总了TypeScript中vsts-task-lib/task.tool函数的典型用法代码示例。如果您正苦于以下问题:TypeScript tool函数的具体用法?TypeScript tool怎么用?TypeScript tool使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了tool函数的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: sudo

/**
 * Run a tool with `sudo` on Linux and macOS
 * Precondition: `toolName` executable is in PATH
 */
function sudo(toolName: string, platform: Platform): ToolRunner {
    if (platform === Platform.Windows) {
        return task.tool(toolName);
    } else {
        const toolPath = task.which(toolName);
        return task.tool('sudo').line(toolPath);
    }
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:12,代码来源:conda_internal.ts

示例2: detectMachineOS

    private detectMachineOS(): string[] {
        let osSuffix = [];
        let scriptRunner: trm.ToolRunner;

        try {
            console.log(tl.loc("DetectingPlatform"));
            if (tl.osType().match(/^Win/)) {
                let escapedScript = path.join(this.getCurrentDir(), 'externals', 'get-os-platform.ps1').replace(/'/g, "''");
                let command = `& '${escapedScript}'`

                let powershellPath = tl.which('powershell', true);
                scriptRunner = tl.tool(powershellPath)
                    .line('-NoLogo -Sta -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command')
                    .arg(command);
            }
            else {
                let scriptPath = path.join(this.getCurrentDir(), 'externals', 'get-os-distro.sh');
                this.setFileAttribute(scriptPath, "777");

                scriptRunner = tl.tool(tl.which(scriptPath, true));
            }

            let result: trm.IExecSyncResult = scriptRunner.execSync();

            if (result.code != 0) {
                throw tl.loc("getMachinePlatformFailed", result.error ? result.error.message : result.stderr);
            }

            let output: string = result.stdout;

            let index;
            if ((index = output.indexOf("Primary:")) >= 0) {
                let primary = output.substr(index + "Primary:".length).split(os.EOL)[0];
                osSuffix.push(primary);
                console.log(tl.loc("PrimaryPlatform", primary));
            }

            if ((index = output.indexOf("Legacy:")) >= 0) {
                let legacy = output.substr(index + "Legacy:".length).split(os.EOL)[0];
                osSuffix.push(legacy);
                console.log(tl.loc("LegacyPlatform", legacy));
            }

            if (osSuffix.length == 0) {
                throw tl.loc("CouldNotDetectPlatform");
            }
        }
        catch (ex) {
            throw tl.loc("FailedInDetectingMachineArch", JSON.stringify(ex));
        }

        return osSuffix;
    }
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:53,代码来源:versionfetcher.ts

示例3: createComposeCommand

    public createComposeCommand(): tr.ToolRunner {
        var command = tl.tool(this.dockerComposePath);

        command.arg(["-f", this.dockerComposeFile]);

        var basePath = path.dirname(this.dockerComposeFile);
        this.additionalDockerComposeFiles.forEach(file => {
            // If the path is relative, resolve it
            if (file.indexOf("/") !== 0) {
                file = path.join(basePath, file);
            }
            if (this.requireAdditionalDockerComposeFiles || tl.exist(file)) {
                command.arg(["-f", file]);
            }
        });
        if (this.finalComposeFile) {
            command.arg(["-f", this.finalComposeFile]);
        }

        if (this.projectName) {
            command.arg(["-p", this.projectName]);
        }

        return command;
    }
开发者ID:DarqueWarrior,项目名称:vsts-tasks,代码行数:25,代码来源:dockercomposeconnection.ts

示例4: executePythonTool

async function executePythonTool(commandToExecute){
    var pythonTool = tl.tool(pythonToolPath);
    pythonTool.on('stderr', function (data) {
        error += (data || '').toString();
    });
    await pythonTool.line(commandToExecute).exec();
}
开发者ID:Microsoft,项目名称:vsts-tasks,代码行数:7,代码来源:publisher.ts

示例5: createCommand

 public createCommand(): tr.ToolRunner {
     var command = tl.tool(this.kubectlPath);
     if(this.kubeconfigFile)
     {
         command.arg("--kubeconfig");
         command.arg(this.kubeconfigFile);
     }
     return command;
 }
开发者ID:bleissem,项目名称:vsts-tasks,代码行数:9,代码来源:clusterconnection.ts

示例6: updateConda

export async function updateConda(condaRoot: string, platform: Platform): Promise<void> {
    try {
        const conda = task.tool('conda');
        conda.line('update --name base conda --yes');
        await conda.exec();
    } catch (e) {
        // Best effort
    }
}
开发者ID:shubham90,项目名称:vsts-tasks,代码行数:9,代码来源:conda_internal.ts

示例7: getVSTestConsole15Path

function getVSTestConsole15Path(): string {
    const vswhereTool = tl.tool(path.join(__dirname, 'vswhere.exe'));
    vswhereTool.line('-version [15.0,16.0) -latest -products * -requires Microsoft.VisualStudio.PackageGroup.TestTools.Core -property installationPath');
    let vsPath = vswhereTool.execSync().stdout;
    tl.debug('Visual Studio 15.0 or higher installed path: ' + vsPath);
    vsPath = utils.Helper.trimString(vsPath);
    if (!utils.Helper.isNullOrWhitespace(vsPath)) {
        return path.join(vsPath, 'Common7', 'IDE', 'CommonExtensions', 'Microsoft', 'TestWindow');
    }
    return null;
}
开发者ID:colindembovsky,项目名称:vsts-tasks,代码行数:11,代码来源:versionfinder.ts

示例8: createCommand

 public createCommand(): tr.ToolRunner {
     var command = tl.tool(this.dockerPath);
     if (this.hostUrl) {
         command.arg(["-H", this.hostUrl]);
         command.arg("--tls");
         command.arg("--tlscacert='" + this.caPath + "'");
         command.arg("--tlscert='" + this.certPath + "'");
         command.arg("--tlskey='" + this.keyPath + "'");
     }
     return command;
 }
开发者ID:shubham90,项目名称:vsts-tasks,代码行数:11,代码来源:containerconnection.ts

示例9: getNPMPrefix

function getNPMPrefix(): string {
    if (getNPMPrefix["value"]) {
        return getNPMPrefix["value"];
    }

    const tool = tl.tool(tl.which("npm", true));
    tool.arg("prefix");
    tool.arg("-g");

    return (getNPMPrefix["value"] = tool.execSync().stdout.trim());
}
开发者ID:touchifyapp,项目名称:vsts-bower,代码行数:11,代码来源:bowertask.ts

示例10: installBower

function installBower(): Promise<void> {
    const tool = tl.tool(tl.which("npm", true));
    tool.arg("install");
    tool.arg("-g");
    tool.arg("bower");

    return tool.exec().then(() => {
        bower = findGlobalBower();
        if (!bower) {
            tl.setResult(tl.TaskResult.Failed, tl.loc("NpmGlobalNotInPath"));
            throw new Error("NPM_GLOBAL_PREFIX_NOT_IN_PATH");
        }
    });
}
开发者ID:touchifyapp,项目名称:vsts-bower,代码行数:14,代码来源:bowertask.ts


注:本文中的vsts-task-lib/task.tool函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。