From 56cc9ac15ce63c81a64537d01ace890bd62b5e79 Mon Sep 17 00:00:00 2001 From: Alexander Karatarakis Date: Tue, 12 Jun 2018 17:12:33 -0700 Subject: [PATCH] Make bootstrap.bat parameters match bootstrap.sh --- docs/about/privacy.md | 2 +- scripts/bootstrap.ps1 | 24 ++++++++++++++++++++++-- 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/docs/about/privacy.md b/docs/about/privacy.md index 6343935043..91d7093721 100644 --- a/docs/about/privacy.md +++ b/docs/about/privacy.md @@ -10,7 +10,7 @@ We do collect telemetry data from usage of "vcpkg.exe". We explicitly ONLY colle We collect the command line used, the time of invocation, and how long execution took. Some commands also add additional calculated information (such as the full set of libraries to install). We generate a completely random UUID on first use and attach it to each event. In order to opt-out of data collection, you can re-run the boostrap script with the following flag, for Windows and Linux/OSX, respectively: -```PS> .\bootstrap-vcpkg.bat -disableMetrics 1``` +```PS> .\bootstrap-vcpkg.bat -disableMetrics``` ```~/$ ./bootstrap-vcpkg.sh -disableMetrics``` diff --git a/scripts/bootstrap.ps1 b/scripts/bootstrap.ps1 index 5a6a419438..25a7699989 100644 --- a/scripts/bootstrap.ps1 +++ b/scripts/bootstrap.ps1 @@ -1,10 +1,24 @@ [CmdletBinding()] param( - [ValidateNotNullOrEmpty()][string]$disableMetrics = "0", + $badParam, + [Parameter(Mandatory=$False)][switch]$disableMetrics = $false, [Parameter(Mandatory=$False)][string]$withVSPath = "", [Parameter(Mandatory=$False)][string]$withWinSDK = "" ) Set-StrictMode -Version Latest +# Powershell2-compatible way of forcing named-parameters +if ($badParam) +{ + if ($disableMetrics -and $badParam -eq "1") + { + Write-Warning "'disableMetrics 1' is deprecated, please change to 'disableMetrics' (without '1')" + } + else + { + throw "Only named parameters are allowed" + } +} + $scriptsDir = split-path -parent $script:MyInvocation.MyCommand.Definition $withVSPath = $withVSPath -replace "\\$" # Remove potential trailing backslash @@ -306,9 +320,15 @@ $msbuildExe = $msbuildExeWithPlatformToolset[0] $platformToolset = $msbuildExeWithPlatformToolset[1] $windowsSDK = getWindowsSDK -withWinSDK $withWinSDK +$disableMetricsValue = "0" +if ($disableMetrics) +{ + $disableMetricsValue = "1" +} + $arguments = ( "`"/p:VCPKG_VERSION=-nohash`"", -"`"/p:DISABLE_METRICS=$disableMetrics`"", +"`"/p:DISABLE_METRICS=$disableMetricsValue`"", "/p:Configuration=release", "/p:Platform=x86", "/p:PlatformToolset=$platformToolset",