feature(windows): make it more clear that the user needs to update their PATH
[webi-installers/.git] / _webi / template.ps1
index e3f72789bfde93e2ddbedaca2fc3339da122108e..632b72d5f2ac14af5bd97048bfbc241fb8604f26 100644 (file)
@@ -1,4 +1,11 @@
-# If a command returns an error, halt the script.
+#!/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
@@ -14,26 +21,30 @@ $Env:WEBI_HOST = 'https://webinstall.dev'
 # Switch to userprofile
 pushd $Env:USERPROFILE
 
-# Make paths if needed
-if (!(Test-Path -Path Downloads))
-{
-    New-Item -Path Downloads -ItemType Directory
-}
-if (!(Test-Path -Path .local\bin))
-{
-    New-Item -Path .local\bin -ItemType Directory
-}
-if (!(Test-Path -Path .local\opt))
-{
-    New-Item -Path .local\opt -ItemType Directory
-}
+# Make paths
+New-Item -Path Downloads -ItemType Directory -Force | out-null
+New-Item -Path .local\bin -ItemType Directory -Force | out-null
+New-Item -Path .local\opt -ItemType Directory -Force | out-null
 
 # {{ baseurl }}
 # {{ version }}
 
+function webi_add_path
+{
+    Write-Host ''
+    Write-Host '*****************************' -ForegroundColor red -BackgroundColor white
+    Write-Host '*    IMPORTANT - READ ME    *' -ForegroundColor red -BackgroundColor white
+    Write-Host '*****************************' -ForegroundColor red -BackgroundColor white
+    Write-Host ''
+    & "$Env:USERPROFILE\.local\bin\pathman.exe" add "$args[0]"
+    # Note: not all of these work as expected, so we use the unix-style, which is most consistent
+    #& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
+    #& "$Env:USERPROFILE\.local\bin\pathman.exe" add "$Env:USERPROFILE\.local\bin"
+    #& "$Env:USERPROFILE\.local\bin\pathman.exe" add %USERPROFILE%\.local\bin
+}
+
 # Run pathman to set up the folder
-#& "$Env:USERPROFILE\.local\bin\pathman.exe" add "$Env:USERPROFILE\.local\.bin"
-& "$Env:USERPROFILE\.local\bin\pathman.exe" add .local\.bin
+& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
 
 {{ installer }}