Make Operations
script cross platform
This commit is contained in:
parent
0259a55c79
commit
080812b90a
1 changed files with 42 additions and 29 deletions
|
@ -196,33 +196,6 @@ $null = New-Module {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
Invoke-Hook "Install-PSModules" -Fallback {
|
|
||||||
$modules = @(
|
|
||||||
@("KnownFolders"),
|
|
||||||
@("PSWindowsUpdate"),
|
|
||||||
@("PSScriptAnalyzer"),
|
|
||||||
@("LocalAccounts", $true),
|
|
||||||
@("NuGet")
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($module in $modules) {
|
|
||||||
$parameters = @{ };
|
|
||||||
|
|
||||||
if ($module[1]) {
|
|
||||||
$parameters = @{
|
|
||||||
allowPrerelease = $true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
if (-not (Test-PSModule $module[0])) {
|
|
||||||
Install-Module -Scope AllUsers -AcceptLicense -Force -AllowClobber $module[0] @parameters;
|
|
||||||
Import-Module $module[0];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
. "$PSScriptRoot/../../Windows/Software/PinnedItem/Manage.ps1";
|
|
||||||
};
|
|
||||||
|
|
||||||
if (-not (Test-PSPackage Selenium.WebDriver)) {
|
if (-not (Test-PSPackage Selenium.WebDriver)) {
|
||||||
Write-Host "Installing browser automation tools…";
|
Write-Host "Installing browser automation tools…";
|
||||||
$null = Install-Package -Force Selenium.WebDriver -RequiredVersion 4.10.0 -SkipDependencies;
|
$null = Install-Package -Force Selenium.WebDriver -RequiredVersion 4.10.0 -SkipDependencies;
|
||||||
|
@ -231,8 +204,46 @@ $null = New-Module {
|
||||||
|
|
||||||
Install-ChocoPackage selenium-gecko-driver firefox;
|
Install-ChocoPackage selenium-gecko-driver firefox;
|
||||||
Install-WingetPackage AutoHotkey.AutoHotkey;
|
Install-WingetPackage AutoHotkey.AutoHotkey;
|
||||||
$initialized = $true;
|
. "$PSScriptRoot/../../Windows/Software/PinnedItem/Manage.ps1";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Invoke-Hook "Install-PSModules" -Fallback {
|
||||||
|
$modules = @(
|
||||||
|
@("PSScriptAnalyzer")
|
||||||
|
) + (& {
|
||||||
|
if (-not $IsWindows) {
|
||||||
|
@()
|
||||||
|
} else {
|
||||||
|
@(
|
||||||
|
@("KnownFolders"),
|
||||||
|
@("PSWindowsUpdate"),
|
||||||
|
@("LocalAccounts", $true),
|
||||||
|
@("NuGet")
|
||||||
|
)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
foreach ($module in $modules) {
|
||||||
|
$parameters = @{ };
|
||||||
|
|
||||||
|
if ($module -is [string]) {
|
||||||
|
$module = @($module);
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($module[1]) {
|
||||||
|
$parameters = @{
|
||||||
|
allowPrerelease = $true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
if (-not (Test-PSModule $module[0])) {
|
||||||
|
Install-Module -Scope AllUsers -AcceptLicense -Force -AllowClobber $module[0] @parameters;
|
||||||
|
Import-Module $module[0];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
$initialized = $true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -383,6 +394,8 @@ $null = New-Module {
|
||||||
Clears resources allocated during the operation.
|
Clears resources allocated during the operation.
|
||||||
#>
|
#>
|
||||||
function Clear-OperationResources {
|
function Clear-OperationResources {
|
||||||
Uninstall-WslDistribution;
|
if ($IsWindows) {
|
||||||
|
Uninstall-WslDistribution;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue