maksit-lto-backup/src/dotnet_build_script.ps1

39 lines
1.2 KiB
PowerShell

# Define project path
$projectPath = "./MaksIT.LTO.Backup/MaksIT.LTO.Backup.csproj"
# List of runtime identifiers for self-contained deployments
$runtimes = @(
"win-x64"
)
# Define build configurations
$configurations = @(
"Release"
)
# Output directory
$outputDir = "./build_outputs"
# Clean output directory if exists, then recreate it
if (Test-Path -Path $outputDir) {
Remove-Item -Recurse -Force -Path $outputDir
}
New-Item -ItemType Directory -Path $outputDir
# Build "normal" binaries (framework-dependent)
foreach ($config in $configurations) {
$normalBinOutput = "$outputDir/normal/$config"
dotnet publish $projectPath -c $config -o $normalBinOutput --self-contained false
Write-Output "Built normal bin for configuration: $config"
}
# Build "self-contained" binaries for multiple runtimes
foreach ($config in $configurations) {
foreach ($runtime in $runtimes) {
$selfContainedOutput = "$outputDir/self-contained/$config/$runtime"
dotnet publish $projectPath -c $config -r $runtime --self-contained true -o $selfContainedOutput
Write-Output "Built self-contained bin for configuration: $config, runtime: $runtime"
}
}
Write-Output "Build process completed!"