Welcome to mirror list, hosted at ThFree Co, Russian Federation.

sdl.ps1 « sdl « common « eng - github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: ac196e164a4016326fb00bf3c9c7c2a6625efc1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37

function Install-Gdn {
    param(
        [string]$Path,

        # If omitted, install the latest version of Guardian, otherwise install that specific version.
        [string]$Version
    )

    $ErrorActionPreference = 'Stop'
    Set-StrictMode -Version 2.0
    $disableConfigureToolsetImport = $true
    $global:LASTEXITCODE = 0

    # `tools.ps1` checks $ci to perform some actions. Since the SDL
    # scripts don't necessarily execute in the same agent that run the
    # build.ps1/sh script this variable isn't automatically set.
    $ci = $true
    . $PSScriptRoot\..\tools.ps1

    $argumentList = @("install", "Microsoft.Guardian.Cli", "-Source https://securitytools.pkgs.visualstudio.com/_packaging/Guardian/nuget/v3/index.json", "-OutputDirectory $Path", "-NonInteractive", "-NoCache")

    if ($Version) {
        $argumentList += "-Version $Version"
    }
    
    Start-Process nuget -Verbose -ArgumentList $argumentList -NoNewWindow -Wait

    $gdnCliPath = Get-ChildItem -Filter guardian.cmd -Recurse -Path $Path

    if (!$gdnCliPath)
    {
        Write-PipelineTelemetryError -Category 'Sdl' -Message 'Failure installing Guardian'
    }

    return $gdnCliPath.FullName
}