概要
Windows環境での動作をサポートする。現状はmacOS/Linuxのみ対応しており、Windows上では複数箇所で動作しない。
関連: #88 (Relay Serverのadd_signal_handlerがWindowsで未サポート)
対応が必要な箇所
Critical(動作しない)
High(機能欠落)
Medium(テスト・細部)
対応不要(既にクロスプラットフォーム)
- Python側のパス操作は
pathlib.Path を使用済み
- C#側のパス結合は
Path.Combine() を使用済み
- TCP通信部分はクロスプラットフォーム
- Unity Bridge のインスタンスID生成は
Path.GetFullPath() を使用済み
概要
Windows環境での動作をサポートする。現状はmacOS/Linuxのみ対応しており、Windows上では複数箇所で動作しない。
関連: #88 (Relay Serverの
add_signal_handlerがWindowsで未サポート)対応が必要な箇所
Critical(動作しない)
Relay Server のシグナルハンドラ (
relay/server.pyL696-697)loop.add_signal_handler()は Windows の asyncio でNotImplementedErrorになるsys.platformで分岐し、Windows ではKeyboardInterruptでシャットダウンするUnity側のプロセス管理 (
UnityBridge/Editor/RelayServerLauncher.csL160, 198)GetProcessIdForPort()が/usr/sbin/lsofをハードコードKillProcess()が/bin/killをハードコードnetstat -ano/taskkill /PID等を使うUnity側のPATH設定 (
UnityBridge/Editor/RelayServerLauncher.csL117-123, 221-227)/opt/homebrew/bin等 Unix パスのみ追加している%APPDATA%\Python,%LOCALAPPDATA%\Programs\Python等を追加するHigh(機能欠落)
シェル補完 (
unity_cli/cli/commands/completion.pyL13-32)ログディレクトリ (
relay/server.pyL707)~/.local/stateにフォールバック%LOCALAPPDATA%を使うべきステータスファイルディレクトリ (
relay/status_file.pyL60,BridgeStatusFile.csL28)~/.unity-bridgeをハードコードMedium(テスト・細部)
テストのパス (
tests/test_relay_logging.pyL66, 78)/tmp/test-xdgをハードコード →tempfile.mkdtemp()を使うHub パス (
unity_cli/hub/paths.pyL32-49)C:\Program Filesハードコード →%ProgramFiles%環境変数を使う対応不要(既にクロスプラットフォーム)
pathlib.Pathを使用済みPath.Combine()を使用済みPath.GetFullPath()を使用済み