16 lines
1.6 KiB
PowerShell
16 lines
1.6 KiB
PowerShell
param([ValidateSet('Debug','Release')][string]$Configuration='Release',[Parameter(Mandatory=$true)][string]$AutoCAD2026ManagedDir,[Parameter(Mandatory=$true)][string]$Plant3D2026ManagedDir)
|
|
$ErrorActionPreference='Stop'
|
|
dotnet build (Join-Path $PSScriptRoot '..\PRecAnnot2026.sln') --configuration $Configuration /p:AutoCAD2026ManagedDir=$AutoCAD2026ManagedDir /p:Plant3D2026ManagedDir=$Plant3D2026ManagedDir
|
|
if($LASTEXITCODE -ne 0){ throw "Build failed: $LASTEXITCODE" }
|
|
$bundleRoot=Join-Path $PSScriptRoot '..\artifacts\P_Rec_Annot.bundle'
|
|
$contents=Join-Path $bundleRoot 'Contents\Windows'
|
|
New-Item -ItemType Directory -Force -Path $contents | Out-Null
|
|
$output=Join-Path $PSScriptRoot "..\src\PRecAnnot.Plant3D2026\bin\$Configuration\net8.0-windows"
|
|
Get-ChildItem $output -File -Filter '*.dll' | Copy-Item -Destination $contents -Force
|
|
Copy-Item (Join-Path $PSScriptRoot '..\bundle\P_Rec_Annot.bundle\PackageContents.xml') $bundleRoot -Force
|
|
$modules=@('PHP_REC_ANNOT','AnnotateLineNumbers','AutoLinenumberConnections','AutoElevation','InsertElevation','ExtentsIntersect','DataLinksRead')
|
|
$assemblies=Get-ChildItem $contents -File -Filter '*.dll' | Sort-Object Name | ForEach-Object { [ordered]@{ name=$_.Name; sha256=(Get-FileHash $_.FullName -Algorithm SHA256).Hash.ToLowerInvariant(); required=$true } }
|
|
$manifest=[ordered]@{ schemaVersion=1; package='P_Rec_Annot'; version='0.2.2'; modules=$modules; assemblies=$assemblies }
|
|
$manifest | ConvertTo-Json -Depth 5 | Set-Content (Join-Path $bundleRoot 'Contents\module-manifest.json') -Encoding utf8
|
|
Write-Host 'Bundle assembly build completed; deployment is intentionally not performed.'
|