39 lines
1.2 KiB
PowerShell
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!" |