Files
blockout/tools/validate_unity_sources.sh
T
2026-10-20 13:21:04 +08:00

17 lines
1.0 KiB
Bash

#!/bin/bash
set -euo pipefail
task_project_root="$(cd "$(dirname "$0")/.." && pwd)"
task_unity_contents='/Applications/Unity/Hub/Editor/2022.3.62f3c1-x86_64/Unity.app/Contents'
task_compile_dir="$(mktemp -d /tmp/blockout-source-check.XXXXXX)"
task_refs=()
for task_dll in "$task_unity_contents"/Managed/UnityEngine/*.dll "$task_unity_contents"/NetStandard/ref/2.1.0/*.dll; do
task_refs+=("-r:$task_dll")
done
task_sources=()
while IFS= read -r task_source; do task_sources+=("$task_source"); done < <(rg --files "$task_project_root/BlockOutReplica/Assets/Scripts" "$task_project_root/BlockOutReplica/Assets/Editor" -g '*.cs')
"$task_unity_contents/MonoBleedingEdge/bin/mono" \
"$task_unity_contents/MonoBleedingEdge/lib/mono/msbuild/Current/bin/Roslyn/csc.exe" \
-nologo -noconfig -nostdlib -nowarn:0649 -define:UNITY_EDITOR -target:library \
-out:"$task_compile_dir/BlockOutSourceCheck.dll" "${task_refs[@]}" "${task_sources[@]}"
echo "BlockOut C# source compilation: PASS (${#task_sources[@]} files). This does not run Unity."