Move to a postbuild.ps1 script and set the working dir at runtime as output dir (#113)
* Move to a postbuild.ps1 script and Set the working dir at runtime as output dir
* Update for 2f711d4
* Only copy newer files and remove needed files from gitignore
This commit is contained in:
8
.gitignore
vendored
8
.gitignore
vendored
@@ -423,4 +423,10 @@ Minecraft.World/x64_Debug/
|
||||
Minecraft.World/Release/
|
||||
Minecraft.World/x64_Release/
|
||||
|
||||
build/*
|
||||
build/*
|
||||
|
||||
# Existing build output files
|
||||
!x64/**/Effects.msscmp
|
||||
!x64/**/iggy_w64.dll
|
||||
!x64/**/mss64.dll
|
||||
!x64/**/redist64/
|
||||
|
||||
@@ -1302,14 +1302,8 @@ if not exist "$(TargetDir)\savedata" mkdir "$(TargetDir)\savedata"</Command>
|
||||
<ForceFileOutput>MultiplyDefinedSymbolOnly</ForceFileOutput>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Message>Copying sound assets to output directory</Message>
|
||||
<Command>xcopy /q /y /i /s /e "$(ProjectDir)Durango\Sound" "$(OutDir)Durango\Sound"
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)music" "$(OutDir)music"
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Windows64\GameHDD" "$(OutDir)Windows64\GameHDD"
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\Media" "$(OutDir)Common\Media"
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\res" "$(OutDir)Common\res"
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\Trial" "$(OutDir)Common\Trial"
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\Tutorial" "$(OutDir)Common\Tutorial"</Command>
|
||||
<Message>Run postbuild script</Message>
|
||||
<Command>powershell -ExecutionPolicy Bypass -File "$(ProjectDir)postbuild.ps1" -OutDir "$(OutDir)/" -ProjectDir "$(ProjectDir)/"</Command>
|
||||
</PostBuildEvent>
|
||||
<ImageXex>
|
||||
<ConfigurationFile>$(ProjectDir)xbox\xex-dev.xml</ConfigurationFile>
|
||||
@@ -1440,25 +1434,8 @@ xcopy /q /y /i /s /e $(ProjectDir)Durango\CU $(LayoutDir)Image\Loose\CU</Comman
|
||||
<SuppressStartupBanner>false</SuppressStartupBanner>
|
||||
</Link>
|
||||
<PostBuildEvent>
|
||||
<Message>Copying game assets to output directory</Message>
|
||||
<Command>mkdir "$(OutDir)music" 2>nul
|
||||
mkdir "$(OutDir)Windows64\GameHDD" 2>nul
|
||||
mkdir "$(OutDir)Common\Media" 2>nul
|
||||
mkdir "$(OutDir)Common\res" 2>nul
|
||||
mkdir "$(OutDir)Common\Trial" 2>nul
|
||||
mkdir "$(OutDir)Common\Tutorial" 2>nul
|
||||
mkdir "$(OutDir)Windows64Media" 2>nul
|
||||
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)music" "$(OutDir)music" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Windows64\GameHDD" "$(OutDir)Windows64\GameHDD" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\Media" "$(OutDir)Common\Media" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\res" "$(OutDir)Common\res" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\Trial" "$(OutDir)Common\Trial" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Common\Tutorial" "$(OutDir)Common\Tutorial" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)DurangoMedia" "$(OutDir)Windows64Media" || exit /b 0
|
||||
xcopy /q /y /i /s /e "$(ProjectDir)Windows64Media" "$(OutDir)Windows64Media" || exit /b 0
|
||||
|
||||
exit /b 0</Command>
|
||||
<Message>Run postbuild script</Message>
|
||||
<Command>powershell -ExecutionPolicy Bypass -File "$(ProjectDir)postbuild.ps1" -OutDir "$(OutDir)/" -ProjectDir "$(ProjectDir)/"</Command>
|
||||
</PostBuildEvent>
|
||||
<ImageXex>
|
||||
<ConfigurationFile>$(ProjectDir)xbox\xex-dev.xml</ConfigurationFile>
|
||||
|
||||
@@ -3,4 +3,12 @@
|
||||
<PropertyGroup>
|
||||
<LastConfigDeployed>Debug</LastConfigDeployed>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)$(Platform)\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<LocalDebuggerWorkingDirectory>$(SolutionDir)$(Platform)\$(Configuration)\</LocalDebuggerWorkingDirectory>
|
||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
42
Minecraft.Client/postbuild.ps1
Normal file
42
Minecraft.Client/postbuild.ps1
Normal file
@@ -0,0 +1,42 @@
|
||||
param(
|
||||
[string]$OutDir,
|
||||
[string]$ProjectDir
|
||||
)
|
||||
|
||||
Write-Host "Post-build script started. Output Directory: $OutDir, Project Directory: $ProjectDir"
|
||||
|
||||
$directories = @(
|
||||
"music",
|
||||
"Windows64\GameHDD",
|
||||
"Common\Media",
|
||||
"Common\res",
|
||||
"Common\Trial",
|
||||
"Common\Tutorial",
|
||||
"Windows64Media"
|
||||
)
|
||||
|
||||
foreach ($dir in $directories) {
|
||||
New-Item -ItemType Directory -Path (Join-Path $OutDir $dir) -Force | Out-Null
|
||||
}
|
||||
|
||||
$copies = @(
|
||||
@{ Source = "music"; Dest = "music" },
|
||||
@{ Source = "Common\Media"; Dest = "Common\Media" },
|
||||
@{ Source = "Common\res"; Dest = "Common\res" },
|
||||
@{ Source = "Common\Trial"; Dest = "Common\Trial" },
|
||||
@{ Source = "Common\Tutorial"; Dest = "Common\Tutorial" },
|
||||
@{ Source = "Windows64\GameHDD"; Dest = "Windows64\GameHDD" },
|
||||
@{ Source = "Windows64\Sound"; Dest = "Windows64\Sound" },
|
||||
@{ Source = "DurangoMedia"; Dest = "Windows64Media" },
|
||||
@{ Source = "Windows64Media"; Dest = "Windows64Media" }
|
||||
)
|
||||
|
||||
foreach ($copy in $copies) {
|
||||
$src = Join-Path $ProjectDir $copy.Source
|
||||
$dst = Join-Path $OutDir $copy.Dest
|
||||
|
||||
if (Test-Path $src) {
|
||||
# Copy the files using xcopy, forcing overwrite and suppressing errors, and only copying if the source is newer than the destination
|
||||
xcopy /q /y /i /s /e /d "$src" "$dst" 2>$null
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user