fixup: webi.ps1 ->webi-pwsh.ps1
authorAJ ONeal <aj@therootcompany.com>
Mon, 29 Mar 2021 06:08:43 +0000 (06:08 +0000)
committerAJ ONeal <aj@therootcompany.com>
Mon, 29 Mar 2021 06:09:40 +0000 (06:09 +0000)
_webi/webi-pwsh.ps1 [new file with mode: 0644]
_webi/webi.ps1 [deleted file]

diff --git a/_webi/webi-pwsh.ps1 b/_webi/webi-pwsh.ps1
new file mode 100644 (file)
index 0000000..73f3098
--- /dev/null
@@ -0,0 +1,76 @@
+#!/usr/bin/env pwsh
+
+# this allows us to call ps1 files, which allows us to have spaces in filenames
+# ('powershell "$Env:USERPROFILE\test.ps1" foo' will fail if it has a space in
+# the path but '& "$Env:USERPROFILE\test.ps1" foo' will work even with a space)
+Set-ExecutionPolicy -Scope Process Bypass
+
+# If a command returns an error, halt the script.
+$ErrorActionPreference = 'Stop'
+
+# Ignore progress events from cmdlets so Invoke-WebRequest is not painfully slow
+$ProgressPreference = 'SilentlyContinue'
+
+# This is the canonical CPU arch when the process is emulated
+$my_arch = "$Env:PROCESSOR_ARCHITEW6432"
+IF ($my_arch -eq $null -or $my_arch -eq "") {
+  # This is the canonical CPU arch when the process is native
+  $my_arch = "$Env:PROCESSOR_ARCHITECTURE"
+}
+# TODO API should know to prefer x86 for windows when arm binary is not available
+$Env:WEBI_UA = "Windows/10 $my_arch"
+$exename = $args[0]
+
+# Switch to userprofile
+pushd $Env:USERPROFILE
+
+# Make paths if needed
+New-Item -Path .local\bin -ItemType Directory -Force
+# TODO replace all xbin with opt\bin\
+New-Item -Path .local\xbin -ItemType Directory -Force
+
+# See note on Set-ExecutionPolicy above
+Set-Content -Path .local\bin\webi.bat -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\webi-pwsh.ps1 %1`r`npopd"
+if (!(Test-Path -Path .local\opt))
+{
+    New-Item -Path .local\opt -ItemType Directory -Force
+}
+# TODO windows version of mktemp -d
+if (!(Test-Path -Path .local\tmp))
+{
+    New-Item -Path .local\tmp -ItemType Directory -Force
+}
+
+# TODO SetStrictMode
+# TODO Test-Path variable:global:Env:WEBI_HOST ???
+IF($Env:WEBI_HOST -eq $null -or $Env:WEBI_HOST -eq "")
+{
+    $Env:WEBI_HOST = "https://webinstall.dev"
+}
+
+if (!(Test-Path -Path .local\bin\pathman.exe))
+{
+    & curl.exe -fsSL -A "$Env:WEBI_UA" "$Env:WEBI_HOST/packages/pathman/install.ps1" -o .\.local\tmp\pathman-setup.ps1
+    powershell .\.local\tmp\pathman-setup.ps1
+    # TODO del .\.local\tmp\pathman-setup.bat
+}
+
+# Run pathman to set up the folder
+# (using unix style path because... cmd vs powershell vs whatever)
+& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
+
+# {{ baseurl }}
+# {{ version }}
+
+# Fetch <whatever>.ps1
+# TODO detect formats
+$PKG_URL = "$Env:WEBI_HOST/api/installers/$exename.ps1?formats=zip,exe,tar"
+echo "Downloading $PKG_URL"
+# Invoke-WebRequest -UserAgent "Windows amd64" "$PKG_URL" -OutFile ".\.local\tmp\$exename.install.ps1"
+& curl.exe -fsSL -A "$Env:WEBI_UA" "$PKG_URL" -o .\.local\tmp\$exename.install.ps1
+
+# Run <whatever>.ps1
+powershell .\.local\tmp\$exename.install.ps1
+
+# Done
+popd
diff --git a/_webi/webi.ps1 b/_webi/webi.ps1
deleted file mode 100644 (file)
index 73f3098..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env pwsh
-
-# this allows us to call ps1 files, which allows us to have spaces in filenames
-# ('powershell "$Env:USERPROFILE\test.ps1" foo' will fail if it has a space in
-# the path but '& "$Env:USERPROFILE\test.ps1" foo' will work even with a space)
-Set-ExecutionPolicy -Scope Process Bypass
-
-# If a command returns an error, halt the script.
-$ErrorActionPreference = 'Stop'
-
-# Ignore progress events from cmdlets so Invoke-WebRequest is not painfully slow
-$ProgressPreference = 'SilentlyContinue'
-
-# This is the canonical CPU arch when the process is emulated
-$my_arch = "$Env:PROCESSOR_ARCHITEW6432"
-IF ($my_arch -eq $null -or $my_arch -eq "") {
-  # This is the canonical CPU arch when the process is native
-  $my_arch = "$Env:PROCESSOR_ARCHITECTURE"
-}
-# TODO API should know to prefer x86 for windows when arm binary is not available
-$Env:WEBI_UA = "Windows/10 $my_arch"
-$exename = $args[0]
-
-# Switch to userprofile
-pushd $Env:USERPROFILE
-
-# Make paths if needed
-New-Item -Path .local\bin -ItemType Directory -Force
-# TODO replace all xbin with opt\bin\
-New-Item -Path .local\xbin -ItemType Directory -Force
-
-# See note on Set-ExecutionPolicy above
-Set-Content -Path .local\bin\webi.bat -Value "@echo off`r`npushd %USERPROFILE%`r`npowershell -ExecutionPolicy Bypass .local\bin\webi-pwsh.ps1 %1`r`npopd"
-if (!(Test-Path -Path .local\opt))
-{
-    New-Item -Path .local\opt -ItemType Directory -Force
-}
-# TODO windows version of mktemp -d
-if (!(Test-Path -Path .local\tmp))
-{
-    New-Item -Path .local\tmp -ItemType Directory -Force
-}
-
-# TODO SetStrictMode
-# TODO Test-Path variable:global:Env:WEBI_HOST ???
-IF($Env:WEBI_HOST -eq $null -or $Env:WEBI_HOST -eq "")
-{
-    $Env:WEBI_HOST = "https://webinstall.dev"
-}
-
-if (!(Test-Path -Path .local\bin\pathman.exe))
-{
-    & curl.exe -fsSL -A "$Env:WEBI_UA" "$Env:WEBI_HOST/packages/pathman/install.ps1" -o .\.local\tmp\pathman-setup.ps1
-    powershell .\.local\tmp\pathman-setup.ps1
-    # TODO del .\.local\tmp\pathman-setup.bat
-}
-
-# Run pathman to set up the folder
-# (using unix style path because... cmd vs powershell vs whatever)
-& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
-
-# {{ baseurl }}
-# {{ version }}
-
-# Fetch <whatever>.ps1
-# TODO detect formats
-$PKG_URL = "$Env:WEBI_HOST/api/installers/$exename.ps1?formats=zip,exe,tar"
-echo "Downloading $PKG_URL"
-# Invoke-WebRequest -UserAgent "Windows amd64" "$PKG_URL" -OutFile ".\.local\tmp\$exename.install.ps1"
-& curl.exe -fsSL -A "$Env:WEBI_UA" "$PKG_URL" -o .\.local\tmp\$exename.install.ps1
-
-# Run <whatever>.ps1
-powershell .\.local\tmp\$exename.install.ps1
-
-# Done
-popd