mirror of
https://github.com/MCCTeam/Minecraft-Console-Client
synced 2026-08-15 13:04:36 +00:00
Add worktree-isolated tmpfs build outputs
This commit is contained in:
parent
e0752d8d98
commit
0a041b37c5
3 changed files with 38 additions and 4 deletions
11
Directory.Build.props
Normal file
11
Directory.Build.props
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<DefaultItemExcludes>$(DefaultItemExcludes);**/bin/**;**/obj/**</DefaultItemExcludes>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(MCC_BUILD_ROOT)' != ''">
|
||||
<BaseOutputPath>$(MCC_BUILD_ROOT)/$(MSBuildProjectName)/bin/</BaseOutputPath>
|
||||
<BaseIntermediateOutputPath>$(MCC_BUILD_ROOT)/$(MSBuildProjectName)/obj/</BaseIntermediateOutputPath>
|
||||
<MSBuildProjectExtensionsPath>$(BaseIntermediateOutputPath)</MSBuildProjectExtensionsPath>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
@ -121,6 +121,20 @@ _mcc_build_root() {
|
|||
printf '%s\n' "$MCC_REPO_ROOT"
|
||||
}
|
||||
|
||||
_mcc_dotnet_env() {
|
||||
local -n env_ref="$1"
|
||||
env_ref=()
|
||||
|
||||
if [[ "${MCC_BUILD_MODE:-local}" != "tmpfs" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
local build_root
|
||||
build_root="$(_mcc_build_root)"
|
||||
mkdir -p "$build_root"
|
||||
env_ref+=("MCC_BUILD_ROOT=$build_root")
|
||||
}
|
||||
|
||||
# Helper: convert version to tmux session name (dots -> underscores)
|
||||
_mc-session() { echo "mc-${1//\./_}"; }
|
||||
|
||||
|
|
@ -141,15 +155,20 @@ mc-rcon() { bash "$MCC_REPO/tools/mc-rcon.sh" "$@"; }
|
|||
# --- MCC Build/Run ---
|
||||
mcc-build() {
|
||||
local repo_root
|
||||
local -a dotnet_env
|
||||
repo_root="$(_mcc_repo_root)"
|
||||
_mcc_dotnet_env dotnet_env
|
||||
env "${dotnet_env[@]}" dotnet build "$repo_root/MinecraftClient.sln" -c Release
|
||||
}
|
||||
mcc-build-clean() {
|
||||
if [[ "${MCC_BUILD_MODE:-local}" == "tmpfs" ]]; then
|
||||
local build_root
|
||||
build_root="$(_mcc_build_root)"
|
||||
mkdir -p "$build_root"
|
||||
MCC_BUILD_ROOT="$build_root" dotnet build "$repo_root/MinecraftClient.sln" -c Release
|
||||
else
|
||||
dotnet build "$repo_root/MinecraftClient.sln" -c Release
|
||||
rm -rf "$build_root"
|
||||
return 0
|
||||
fi
|
||||
|
||||
dotnet clean "$(_mcc_repo_root)/MinecraftClient.sln" -c Release
|
||||
}
|
||||
mcc-run() {
|
||||
local port="${1:-25565}"
|
||||
|
|
|
|||
|
|
@ -75,6 +75,10 @@ if [[ "$build_root" != "$expected_prefix"* ]]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "$build_root/probe"
|
||||
mcc-build-clean
|
||||
[[ ! -e "$build_root/probe" ]]
|
||||
|
||||
session="wrapper-smoke"
|
||||
input_file="$(_mcc_session_input_file "$session")"
|
||||
rm -rf "$(_mcc_session_root "$session")"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue