お世話になっております。
プロジェクトの既存ワークフローをHordeに移行するため、Horde/Horde Agent環境を構築しています。
プロジェクト構成の互換性を維持するため、EngineをP4ワークスペース直下ではなく、P4ROOT/[path1]/Engineと一段フォルダを追加して配置したいと考えています。
RunUATの指定は下記の回答を参考にengineRootを指定することで実行できました。
[Content removed]
しかし、エンジン内サンプルのBuildGraph (BuildEditorAndTools.xml) を実行してみると、
[path1]が消去されたEngineパスでファイル(PS4TMAPI)を検索し、エラーになっているようでした
Hordeでワークフローを構築する場合には、EngineはP4ワークスペース直下に配置するといった制約はございますでしょうか?
もしなければ、下記エラーの回避策をご提示いただけると助かります。
以上、よろしくお願いします。
■.stream.jsonに"enginePath": “[path1]/Engine” を指定時のエラー
Parsing command line: BuildGraph -Script=[path1]/Engine/Build/Graph/Examples/BuildEditorAndTools.xml -HordeExport=D:\HordeAgent\Sandbox\Demo\Sync\[path1]\Engine\Saved\Horde\Exported.json -ListOnly -Target="Submit To Perforce" -set:UProjectPath=[path1]/[path2]/[path3]/[OurProject].uproject -set:EditorTarget=[OurProject]Editor -set:PreferredAgent=IncrementalWin64;CompileWin64;Win64 [00:01:05] Initializing script modules... [00:01:09] Building 44 projects (see Log 'Engine/Programs/AutomationTool/Saved/Logs/Log.txt' for more details) [00:01:09] Restore... [00:01:32] Build... [00:01:54] Build projects time: 45.23 s [00:01:54] Total script module initialization time: 48.96 s. [00:01:54] Using C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\MSBuild.exe [00:01:55] System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. [00:01:55] ---> System.IO.DirectoryNotFoundException: Could not find a part of the path 'D:\HordeAgent\Sandbox\Demo\Sync\Engine\Platforms\PS4\Binaries\ThirdParty\PS4TMAPI'. [00:01:55] at System.IO.Enumeration.FileSystemEnumerator
1.Init()
[00:01:55] at System.IO.Enumeration.FileSystemEnumerableFactory.UserFiles(String directory, String expression, EnumerationOptions options)
[00:01:55] at System.IO.Directory.InternalEnumeratePaths(String path, String searchPattern, SearchTarget searchTarget, EnumerationOptions options)
[00:01:55] at EpicGames.Core.AssemblyUtils.RefreshAssemblyCache(String rootDirectory, String pattern) in D:\HordeAgent\Sandbox\Demo\Sync[path1]\Engine\Source\Programs\Shared\EpicGames.Core\AssemblyUtils.cs:line 82
[00:01:55] at EpicGames.Core.AssemblyUtils.InstallRecursiveAssemblyResolver(String rootDirectory) in D:\HordeAgent\Sandbox\Demo\Sync[path1]\Engine\Source\Programs\Shared\EpicGames.Core\AssemblyUtils.cs:line 61
[00:01:55] at PS4Platform..ctor() in D:\HordeAgent\Sandbox\Demo\Sync[path1]\Engine\Platforms\PS4\Source\Programs\AutomationTool\PS4Platform.Automation.cs:line 209
[00:01:55] at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
[00:01:55] — End of inner exception stack trace —
[00:01:55] at System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean wrapExceptions)
[00:01:55] at AutomationTool.Platform.CreatePlatformsFromAssembly(Assembly ScriptAssembly) in D:\HordeAgent\Sandbox\Demo\Sync[path1]\Engine\Source\Programs\AutomationTool\AutomationUtils\Platform.cs:line 169
[00:01:55] at AutomationTool.Platform.InitializePlatforms(HashSet1 AssembliesWithPlatforms) in D:\HordeAgent\Sandbox\Demo\Sync\[path1]\Engine\Source\Programs\AutomationTool\AutomationUtils\Platform.cs:line 117 [00:01:55] at AutomationTool.ScriptManager.LoadScriptAssemblies(IEnumerable
1 AssemblyPaths, ILogger Logger) in D:\HordeAgent\Sandbox\Demo\Sync[path1]\Engine\Source\Programs\AutomationTool\AutomationUtils\ScriptManager.cs:line 131
[00:01:55] at AutomationTool.Automation.ProcessAsync(ParsedCommandLine AutomationToolCommandLine, StartupTraceListener StartupListener, HashSet1 ScriptModuleAssemblies) in D:\HordeAgent\Sandbox\Demo\Sync\[path1]\Engine\Source\Programs\AutomationTool\AutomationUtils\Automation.cs:line 138 [00:01:55] (see D:\HordeAgent\Sandbox\Demo\Sync\[path1]\Engine\Programs\AutomationTool\Saved\Logs\Log.txt for full exception trace) [00:01:55] AutomationTool executed for 0h 0m 49s [00:01:55] AutomationTool exiting with ExitCode=1 (Error_Unknown)