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

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNate McMaster (automated) <nate.mcmaster@microsoft.com>2018-05-26 02:13:34 +0300
committerNate McMaster (automated) <nate.mcmaster@microsoft.com>2018-05-26 02:13:34 +0300
commit4f576cde230329f7511db2a3a8e16daa8439bc42 (patch)
treedfc007338a027e53fe920ceaad79fd22266f6d36 /run.ps1
parenta3f7b16464411ffe3c94d89707baef028b60fb6c (diff)
Update bootstrapper scripts (automated commit) [ci skip]
Diffstat (limited to 'run.ps1')
-rw-r--r--run.ps125
1 files changed, 19 insertions, 6 deletions
diff --git a/run.ps1 b/run.ps1
index 27dcf848f8..3b27382468 100644
--- a/run.ps1
+++ b/run.ps1
@@ -26,12 +26,18 @@ The base url where build tools can be downloaded. Overrides the value from the c
.PARAMETER Update
Updates KoreBuild to the latest version even if a lock file is present.
+.PARAMETER Reinstall
+Re-installs KoreBuild
+
.PARAMETER ConfigFile
The path to the configuration file that stores values. Defaults to korebuild.json.
.PARAMETER ToolsSourceSuffix
The Suffix to append to the end of the ToolsSource. Useful for query strings in blob stores.
+.PARAMETER CI
+Sets up CI specific settings and variables.
+
.PARAMETER Arguments
Arguments to be passed to the command
@@ -65,8 +71,10 @@ param(
[string]$ToolsSource,
[Alias('u')]
[switch]$Update,
- [string]$ConfigFile,
+ [switch]$Reinstall,
[string]$ToolsSourceSuffix,
+ [string]$ConfigFile = $null,
+ [switch]$CI,
[Parameter(ValueFromRemainingArguments = $true)]
[string[]]$Arguments
)
@@ -93,6 +101,10 @@ function Get-KoreBuild {
$version = $version.TrimStart('version:').Trim()
$korebuildPath = Join-Paths $DotNetHome ('buildtools', 'korebuild', $version)
+ if ($Reinstall -and (Test-Path $korebuildPath)) {
+ Remove-Item -Force -Recurse $korebuildPath
+ }
+
if (!(Test-Path $korebuildPath)) {
Write-Host -ForegroundColor Magenta "Downloading KoreBuild $version"
New-Item -ItemType Directory -Path $korebuildPath | Out-Null
@@ -101,9 +113,9 @@ function Get-KoreBuild {
try {
$tmpfile = Join-Path ([IO.Path]::GetTempPath()) "KoreBuild-$([guid]::NewGuid()).zip"
Get-RemoteFile $remotePath $tmpfile $ToolsSourceSuffix
- if (Get-Command -Name 'Expand-Archive' -ErrorAction Ignore) {
+ if (Get-Command -Name 'Microsoft.PowerShell.Archive\Expand-Archive' -ErrorAction Ignore) {
# Use built-in commands where possible as they are cross-plat compatible
- Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
+ Microsoft.PowerShell.Archive\Expand-Archive -Path $tmpfile -DestinationPath $korebuildPath
}
else {
# Fallback to old approach for old installations of PowerShell
@@ -167,8 +179,9 @@ if (Test-Path $ConfigFile) {
}
}
catch {
- Write-Warning "$ConfigFile could not be read. Its settings will be ignored."
- Write-Warning $Error[0]
+ Write-Host -ForegroundColor Red $Error[0]
+ Write-Error "$ConfigFile contains invalid JSON."
+ exit 1
}
}
@@ -188,7 +201,7 @@ $korebuildPath = Get-KoreBuild
Import-Module -Force -Scope Local (Join-Path $korebuildPath 'KoreBuild.psd1')
try {
- Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile
+ Set-KoreBuildSettings -ToolsSource $ToolsSource -DotNetHome $DotNetHome -RepoPath $Path -ConfigFile $ConfigFile -CI:$CI
Invoke-KoreBuildCommand $Command @Arguments
}
finally {