don't show progress for non-interactive sessions
[webi-installers/.git] / _webi / template.ps1
index 491e3a544c17bf69fbbaf86b791c8b9c21dffcdf..121eea057418bb571dc29baa67346b2c7d890599 100644 (file)
@@ -1,5 +1,10 @@
 #!/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'
 
@@ -19,23 +24,31 @@ pushd $Env:USERPROFILE
 # Make paths if needed
 if (!(Test-Path -Path Downloads))
 {
-    New-Item -Path Downloads -ItemType Directory
+    New-Item -Path Downloads -ItemType Directory -Force
 }
 if (!(Test-Path -Path .local\bin))
 {
-    New-Item -Path .local\bin -ItemType Directory
+    New-Item -Path .local\bin -ItemType Directory -Force
 }
 if (!(Test-Path -Path .local\opt))
 {
-    New-Item -Path .local\opt -ItemType Directory
+    New-Item -Path .local\opt -ItemType Directory -Force
 }
 
 # {{ baseurl }}
 # {{ version }}
 
+function webi_add_path
+{
+    & "$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 %USERPROFILE%\.local\bin
+& "$Env:USERPROFILE\.local\bin\pathman.exe" add ~/.local/bin
 
 {{ installer }}