-
-
Notifications
You must be signed in to change notification settings - Fork 115
Expand file tree
/
Copy pathbuild.ps1
More file actions
37 lines (30 loc) · 1.21 KB
/
build.ps1
File metadata and controls
37 lines (30 loc) · 1.21 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# prepare patcher
dotnet build AnimeStudio.Patcher -c Release -f net9.0
$patcher = "AnimeStudio.Patcher\bin\Release\net9.0\AnimeStudio.Patcher.exe"
foreach ($tfm in 'net8.0-windows', 'net9.0-windows') {
# config
$outputDir = ".\dist\$tfm"
$configuration = 'Release'
# prepare paths
$guiOut = "AnimeStudio.GUI/bin/$configuration/$tfm"
$cliOut = "AnimeStudio.CLI/bin/$configuration/$tfm"
$guiExe = "$guiOut/AnimeStudio.GUI.exe"
$cliExe = "$cliOut/AnimeStudio.CLI.exe"
# build cli and gui & patch them
dotnet build AnimeStudio.CLI -c $configuration -f $tfm
& $patcher $cliExe -d bin
dotnet build AnimeStudio.GUI -c $configuration -f $tfm
& $patcher $guiExe -d bin
# prepare output dir
if (Test-Path $outputDir) { Remove-Item $outputDir -Recurse -Force }
New-Item -ItemType Directory $outputDir
New-Item -ItemType Directory "$outputDir/bin"
# copy to output
Copy-Item "$cliOut/*" "$outputDir/bin" -Recurse
Copy-Item "$guiOut/*" "$outputDir/bin" -Recurse -Force
# move files out
foreach ($exe in 'AnimeStudio.GUI.exe', 'AnimeStudio.CLI.exe') {
Move-Item "$outputDir/bin/$exe" $outputDir
}
Move-Item "$outputDir/bin/LICENSE" $outputDir
}