Import Get-FileHash from PowerShell's version specific path

pwsh, cmd and powershell interoperability breaks `Get-FileHash` cmdlet
which is used in .cipd_impl.ps1. The issue prevents loading of correct
PowerShell module due to how $PSModulePath is structured in some cases.

With this CL, we always import the compatible module at the beginning
of the script. This ensures Get-FileHash is always available to us
regardless of the PowerShell version being used.

Bug: 1443163
Change-Id: I117e5077239c5371bb392b36b521671095029abf
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4506722
Commit-Queue: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Reviewed-by: Adam Todd <actodd@google.com>
Auto-Submit: Tushar Singh <tusharvickey1999@gmail.com>
changes/22/4506722/6
Tushar Singh 2 years ago committed by LUCI CQ
parent 63d20c330b
commit 02838e6f4e

@ -33,6 +33,11 @@ param(
$VersionFile
)
# Import PowerShell<=5 Get-Filehash from Microsoft.PowerShell.Utility.
# This prevents loading of incompatible Get-FileHash from PowerShell 6+ $PSModulePath.
# See: crbug.com/1443163.
Import-Module $PSHOME\Modules\Microsoft.PowerShell.Utility -Function Get-FileHash
$DepotToolsPath = Split-Path $MyInvocation.MyCommand.Path -Parent
# Put depot_tool's git revision into the user agent string.

Loading…
Cancel
Save