mirror of
https://github.com/Grace-Solutions/PSProxmox.git
synced 2026-09-04 19:25:42 +00:00
Reorganize project structure and update build process
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
@{
|
@{
|
||||||
RootModule = 'PSProxmox.dll'
|
RootModule = 'PSProxmox.dll'
|
||||||
ModuleVersion = '2025.04.28.1934'
|
ModuleVersion = '2025.04.28.1937'
|
||||||
GUID = 'd24f0894-3d0c-4ef1-a41e-b273c3db86ad'
|
GUID = 'd24f0894-3d0c-4ef1-a41e-b273c3db86ad'
|
||||||
Author = 'PSProxmox Team'
|
Author = 'PSProxmox Team'
|
||||||
CompanyName = 'PSProxmox'
|
CompanyName = 'PSProxmox'
|
||||||
@@ -88,3 +88,4 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -95,8 +95,4 @@
|
|||||||
<None Include="..\Module\PSProxmox.psd1" CopyToOutputDirectory="Always" />
|
<None Include="..\Module\PSProxmox.psd1" CopyToOutputDirectory="Always" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<Target Name="PostBuild" AfterTargets="PostBuildEvent">
|
|
||||||
<Copy SourceFiles="$(TargetDir)$(TargetFileName)" DestinationFolder="..\Module\bin" />
|
|
||||||
</Target>
|
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|||||||
@@ -188,6 +188,10 @@ Clear-ProxmoxIPPool -Name "Production"
|
|||||||
Disconnect-ProxmoxServer -Connection $connection
|
Disconnect-ProxmoxServer -Connection $connection
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
For detailed documentation, see the [Documentation](Documentation) directory.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This project is licensed under the MIT License - see the LICENSE file for details.
|
This project is licensed under the MIT License - see the LICENSE file for details.
|
||||||
|
|||||||
@@ -11,37 +11,41 @@ $psd1Content = Get-Content -Path $psd1Path -Raw
|
|||||||
$psd1Content = $psd1Content -replace "ModuleVersion = '.*'", "ModuleVersion = '$version'"
|
$psd1Content = $psd1Content -replace "ModuleVersion = '.*'", "ModuleVersion = '$version'"
|
||||||
Set-Content -Path $psd1Path -Value $psd1Content
|
Set-Content -Path $psd1Path -Value $psd1Content
|
||||||
|
|
||||||
# Build the solution
|
# Create the release directory structure
|
||||||
Write-Host "Building solution..."
|
$releaseBaseDir = ".\Release"
|
||||||
dotnet build .\PSProxmox\PSProxmox.Main.csproj -c Release
|
$releaseVersionDir = "$releaseBaseDir\$version"
|
||||||
|
$releaseBinDir = "$releaseVersionDir\bin"
|
||||||
|
|
||||||
# Create the release directory
|
# Create directories if they don't exist
|
||||||
$releaseDir = ".\Release\$version"
|
if (-not (Test-Path -Path $releaseBaseDir)) {
|
||||||
if (-not (Test-Path -Path $releaseDir)) {
|
New-Item -Path $releaseBaseDir -ItemType Directory -Force | Out-Null
|
||||||
New-Item -Path $releaseDir -ItemType Directory -Force | Out-Null
|
}
|
||||||
Write-Host "Created release directory: $releaseDir"
|
if (-not (Test-Path -Path $releaseVersionDir)) {
|
||||||
|
New-Item -Path $releaseVersionDir -ItemType Directory -Force | Out-Null
|
||||||
|
Write-Host "Created release directory: $releaseVersionDir"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Copy the module files to the release directory
|
|
||||||
Copy-Item -Path .\Module\PSProxmox.psd1 -Destination $releaseDir -Force
|
|
||||||
Copy-Item -Path .\Module\bin\PSProxmox.dll -Destination $releaseDir -Force
|
|
||||||
Copy-Item -Path .\Module\LICENSE -Destination $releaseDir -Force
|
|
||||||
Copy-Item -Path .\Module\README.md -Destination $releaseDir -Force
|
|
||||||
Copy-Item -Path .\Module\Install-PSProxmox.ps1 -Destination $releaseDir -Force
|
|
||||||
|
|
||||||
# Create a bin directory in the release directory
|
|
||||||
$releaseBinDir = "$releaseDir\bin"
|
|
||||||
if (-not (Test-Path -Path $releaseBinDir)) {
|
if (-not (Test-Path -Path $releaseBinDir)) {
|
||||||
New-Item -Path $releaseBinDir -ItemType Directory -Force | Out-Null
|
New-Item -Path $releaseBinDir -ItemType Directory -Force | Out-Null
|
||||||
Write-Host "Created bin directory: $releaseBinDir"
|
Write-Host "Created bin directory: $releaseBinDir"
|
||||||
}
|
}
|
||||||
|
|
||||||
# Copy the DLL to the bin directory
|
# Build the solution directly to the release bin directory
|
||||||
Copy-Item -Path .\Module\bin\PSProxmox.dll -Destination $releaseBinDir -Force
|
Write-Host "Building solution..."
|
||||||
|
dotnet build .\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 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
|
||||||
|
|
||||||
# Create a ZIP file of the release
|
# Create a ZIP file of the release
|
||||||
$zipPath = ".\Release\PSProxmox-$version.zip"
|
$zipPath = "$releaseBaseDir\PSProxmox-$version.zip"
|
||||||
Compress-Archive -Path $releaseDir\* -DestinationPath $zipPath -Force
|
Compress-Archive -Path $releaseVersionDir\* -DestinationPath $zipPath -Force
|
||||||
Write-Host "Created release package: $zipPath"
|
Write-Host "Created release package: $zipPath"
|
||||||
|
|
||||||
Write-Host "Build completed successfully!"
|
Write-Host "Build completed successfully!"
|
||||||
|
|||||||
Reference in New Issue
Block a user