Move scripts to Scripts folder and update paths

This commit is contained in:
Alphaeus Mote
2025-04-28 19:59:27 -04:00
parent c2397d3f05
commit 1ffbaa4fa9
3 changed files with 24 additions and 14 deletions
+36
View File
@@ -0,0 +1,36 @@
# 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"
# Define the destination path
$modulePath = "$env:USERPROFILE\Documents\WindowsPowerShell\Modules\$moduleName"
if ($PSVersionTable.PSEdition -eq "Core") {
$modulePath = "$env:USERPROFILE\Documents\PowerShell\Modules\$moduleName"
}
# Create the module directory if it doesn't exist
if (-not (Test-Path -Path $modulePath)) {
New-Item -Path $modulePath -ItemType Directory -Force | Out-Null
Write-Host "Created module directory: $modulePath"
}
# Create the bin directory if it doesn't exist
if (-not (Test-Path -Path "$modulePath\bin")) {
New-Item -Path "$modulePath\bin" -ItemType Directory -Force | Out-Null
Write-Host "Created bin directory: $modulePath\bin"
}
# Copy the module files
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"
+55
View File
@@ -0,0 +1,55 @@
# 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 = "$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 = "$rootPath\Release"
$releaseVersionDir = "$releaseBaseDir\$version"
$releaseBinDir = "$releaseVersionDir\bin"
# Create directories if they don't exist
if (-not (Test-Path -Path $releaseBaseDir)) {
New-Item -Path $releaseBaseDir -ItemType Directory -Force | Out-Null
}
if (-not (Test-Path -Path $releaseVersionDir)) {
New-Item -Path $releaseVersionDir -ItemType Directory -Force | Out-Null
Write-Host "Created release directory: $releaseVersionDir"
}
if (-not (Test-Path -Path $releaseBinDir)) {
New-Item -Path $releaseBinDir -ItemType Directory -Force | Out-Null
Write-Host "Created bin directory: $releaseBinDir"
}
# Build the solution directly to the release bin directory
Write-Host "Building solution..."
dotnet build "$rootPath\PSProxmox\PSProxmox.Main.csproj" -c Release -o $releaseBinDir
# Copy the module files to the release directory
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 "$rootPath\Module\bin" -Force
# Create a ZIP file of the release
$zipPath = "$releaseBaseDir\PSProxmox-$version.zip"
Compress-Archive -Path "$releaseVersionDir\*" -DestinationPath $zipPath -Force
Write-Host "Created release package: $zipPath"
Write-Host "Build completed successfully!"