From 1ffbaa4fa93e7659cd138b81307366fd8d945b87 Mon Sep 17 00:00:00 2001 From: Alphaeus Mote Date: Mon, 28 Apr 2025 19:59:27 -0400 Subject: [PATCH] Move scripts to Scripts folder and update paths --- Module/PSProxmox.psd1 | 4 +++- {Module => Scripts}/Install-PSProxmox.ps1 | 12 ++++++++---- build.ps1 => Scripts/build.ps1 | 22 +++++++++++++--------- 3 files changed, 24 insertions(+), 14 deletions(-) rename {Module => Scripts}/Install-PSProxmox.ps1 (70%) rename build.ps1 => Scripts/build.ps1 (66%) diff --git a/Module/PSProxmox.psd1 b/Module/PSProxmox.psd1 index 9483301..3807cad 100644 --- a/Module/PSProxmox.psd1 +++ b/Module/PSProxmox.psd1 @@ -1,6 +1,6 @@ @{ RootModule = 'PSProxmox.dll' - ModuleVersion = '2025.04.28.1937' + ModuleVersion = '2025.04.28.1958' GUID = 'd24f0894-3d0c-4ef1-a41e-b273c3db86ad' Author = 'PSProxmox Team' CompanyName = 'PSProxmox' @@ -89,3 +89,5 @@ } + + diff --git a/Module/Install-PSProxmox.ps1 b/Scripts/Install-PSProxmox.ps1 similarity index 70% rename from Module/Install-PSProxmox.ps1 rename to Scripts/Install-PSProxmox.ps1 index 7bccb95..322fba2 100644 --- a/Module/Install-PSProxmox.ps1 +++ b/Scripts/Install-PSProxmox.ps1 @@ -1,6 +1,10 @@ # Install-PSProxmox.ps1 # This script installs the PSProxmox module to the user's PowerShell modules directory +# Set script root path for relative paths +$scriptRoot = $PSScriptRoot +$rootPath = Split-Path -Parent $scriptRoot + # Define the module name $moduleName = "PSProxmox" @@ -23,10 +27,10 @@ if (-not (Test-Path -Path "$modulePath\bin")) { } # Copy the module files -Copy-Item -Path "$PSScriptRoot\PSProxmox.psd1" -Destination $modulePath -Force -Copy-Item -Path "$PSScriptRoot\bin\PSProxmox.dll" -Destination "$modulePath\bin" -Force -Copy-Item -Path "$PSScriptRoot\LICENSE" -Destination $modulePath -Force -Copy-Item -Path "$PSScriptRoot\README.md" -Destination $modulePath -Force +Copy-Item -Path "$rootPath\Module\PSProxmox.psd1" -Destination $modulePath -Force +Copy-Item -Path "$rootPath\Module\bin\PSProxmox.dll" -Destination "$modulePath\bin" -Force +Copy-Item -Path "$rootPath\LICENSE" -Destination $modulePath -Force +Copy-Item -Path "$rootPath\README.md" -Destination $modulePath -Force Write-Host "PSProxmox module has been installed to $modulePath" Write-Host "You can now import the module using: Import-Module $moduleName" diff --git a/build.ps1 b/Scripts/build.ps1 similarity index 66% rename from build.ps1 rename to Scripts/build.ps1 index afea693..9572862 100644 --- a/build.ps1 +++ b/Scripts/build.ps1 @@ -1,18 +1,22 @@ # build.ps1 # This script builds the PSProxmox module and creates a release package +# Set script root path for relative paths +$scriptRoot = $PSScriptRoot +$rootPath = Split-Path -Parent $scriptRoot + # Set the version based on the current date and time $version = Get-Date -Format "yyyy.MM.dd.HHmm" Write-Host "Building PSProxmox version $version" # Update the module version in the PSD1 file -$psd1Path = ".\Module\PSProxmox.psd1" +$psd1Path = "$rootPath\Module\PSProxmox.psd1" $psd1Content = Get-Content -Path $psd1Path -Raw $psd1Content = $psd1Content -replace "ModuleVersion = '.*'", "ModuleVersion = '$version'" Set-Content -Path $psd1Path -Value $psd1Content # Create the release directory structure -$releaseBaseDir = ".\Release" +$releaseBaseDir = "$rootPath\Release" $releaseVersionDir = "$releaseBaseDir\$version" $releaseBinDir = "$releaseVersionDir\bin" @@ -31,21 +35,21 @@ if (-not (Test-Path -Path $releaseBinDir)) { # Build the solution directly to the release bin directory Write-Host "Building solution..." -dotnet build .\PSProxmox\PSProxmox.Main.csproj -c Release -o $releaseBinDir +dotnet build "$rootPath\PSProxmox\PSProxmox.Main.csproj" -c Release -o $releaseBinDir # Copy the module files to the release directory -Copy-Item -Path .\Module\PSProxmox.psd1 -Destination $releaseVersionDir -Force -Copy-Item -Path .\LICENSE -Destination $releaseVersionDir -Force -Copy-Item -Path .\README.md -Destination $releaseVersionDir -Force -Copy-Item -Path .\Module\Install-PSProxmox.ps1 -Destination $releaseVersionDir -Force +Copy-Item -Path "$rootPath\Module\PSProxmox.psd1" -Destination $releaseVersionDir -Force +Copy-Item -Path "$rootPath\LICENSE" -Destination $releaseVersionDir -Force +Copy-Item -Path "$rootPath\README.md" -Destination $releaseVersionDir -Force +Copy-Item -Path "$scriptRoot\Install-PSProxmox.ps1" -Destination $releaseVersionDir -Force # Copy the fully prepared module back to the Module directory Write-Host "Updating Module directory with built files..." -Copy-Item -Path $releaseBinDir\PSProxmox.dll -Destination .\Module\bin -Force +Copy-Item -Path "$releaseBinDir\PSProxmox.dll" -Destination "$rootPath\Module\bin" -Force # Create a ZIP file of the release $zipPath = "$releaseBaseDir\PSProxmox-$version.zip" -Compress-Archive -Path $releaseVersionDir\* -DestinationPath $zipPath -Force +Compress-Archive -Path "$releaseVersionDir\*" -DestinationPath $zipPath -Force Write-Host "Created release package: $zipPath" Write-Host "Build completed successfully!"