]> git.ardis.lu - ArdisUtilities/commitdiff
Add -Persist parameter
authorArdis Lu <ardisglu@gmail.com>
Tue, 30 Apr 2024 21:33:12 +0000 (14:33 -0700)
committerArdis Lu <ardisglu@gmail.com>
Tue, 30 Apr 2024 21:33:12 +0000 (14:33 -0700)
install.ps1

index 7fbd6dbeef0323f9c54e770a9f5e006f6a7a78ba..a1069c40d868fbeec36a89d8a40e84ff4d62001f 100644 (file)
@@ -1,4 +1,11 @@
 function Install-ArdisUtilities {
+  [OutputType([System.Void])]
+  [CmdletBinding()]
+  param(
+    [Parameter()]
+    [Switch]$Persist
+  )
+
   begin {
     # Create a temporary working folder
     $tempFolder = Join-Path $Env:Temp $(New-Guid)
@@ -10,9 +17,18 @@ function Install-ArdisUtilities {
     $zipFile = Join-Path $tempFolder /ArdisUtilities.zip
     Invoke-WebRequest 'https://github.com/ardislu/ArdisUtilities/archive/refs/heads/main.zip' -OutFile $zipFile
     Expand-Archive $zipFile $tempFolder
+    $module = Join-Path $tempFolder 'ArdisUtilities-main/ArdisUtilities'
 
     # Import the module from the extraction
-    Import-Module (Join-Path $tempFolder /ArdisUtilities-main/ArdisUtilities)
+    Import-Module $module
+
+    if ($Persist) {
+      $destination = "$HOME/Documents/PowerShell/Modules" # Default path for persistent PowerShell modules
+      if (Test-Path -LiteralPath "$destination/ArdisUtilities") {
+        Remove-Item "$destination/ArdisUtilities" -Force -Recurse
+      }
+      Copy-Item -Path $module -Destination $destination -Recurse
+    }
   }
 
   clean {
@@ -21,4 +37,4 @@ function Install-ArdisUtilities {
   }
 }
 
-Install-ArdisUtilities
+Install-ArdisUtilities @args
This page took 0.039773 seconds and 4 git commands to generate.