Current code generates: 'chmod +x \"/epic/projects/foo/Intermediate/Staging/foo.sh\"'
This works with xbuild, but fails with msbuild. New code generates:
Run App:sh CommandLine-c 'chmod +x "/epic/projects/foo/Intermediate/Staging/foo.sh"'
Similar to Ben's CL 2106889 and CL 2112830 changes in Engine/Source/Programs/AutomationTool/BuildUtils.cs
#jira none
#rb Ben.Marsh
#fyi Andrew.Grant, Brandon.Schaefer
[CL 11824678 by Michael Sartain in 4.25 branch]
The issue here is that CommandUtils.Run only suppresses stdout when NoSpew is specified, so P4 functions like FileExistsInDepot which use p4 calls that write to stderr (e.g fstat of a path not in P4) still end up spewing.
#review-11800598 @ben.marsh
#rb swarm
#jira nojira
[CL 11803848 by Andrew Grant in 4.25 branch]
Pulled code from Andrew's CL 7828885 for the Mac.
#jira none
#rb ben.marsh
#fyi brandon.schaefer, andrew.grant
[CL 11750877 by Michael Sartain in 4.25 branch]
- Previously this would have been handled by WriteArray, now Plugins and Modules are a List and ToArray is called, the check needs to be moved up.
#rb rob.cannaday
#fyi ben.marsh
#jira none
[CL 11723339 by Anthony Bills in 4.25 branch]
Additionally allow monolithic programs inside platform extensions to ouput to the Binaries directory in the extension.
#review-11565119 @brian.white, @josh.adams, @ben.marsh
#jira UE-81798
#rb ben.marsh
[CL 11655119 by Anthony Bills in 4.25 branch]
- Added the ability to copy and restore a live session, preventing the need to archive it in first place, making the server exist fast (releasing the session lock very quickly) before showing the crash UI and before the next Editor instance could starts.
Details:
This bug could manifest if various ways. An issue causing this bug was fixed in 11252374. This bug can also be observed if the crash reporting process doesn't release its lock on the crashed session quickly. Archiving a session may takes several minutes (depending on the session size) and while a session is archiving, its database is locked and cannot be restored until the archiving process complets. When the Editor reboots after a crash, it searches for a session to recover, but skip over any session that is mounted/locked assuming the session is concurrently used by a concurrent Editor process, potentially preventing it from restoring. The optimal way to work around this problem is to skip the archiving step. Instead, the live session is never archived (saving a copy), which allows the recovery service to shutdown and release the session lock very quickly ensuring that the session will be unlocked when the Editor restarts. On Editor start, it a crashed session is found and the user decides to restore it, the live session is copied into a new live session.
This changelist also affect those other jira in the following ways:
#jira UE-87899 - Disaster recovery prevents showing the crash reporting UI in a timely manner if the session is large
- This CL changes execution order to shut down the recovery service ASAP to release the lock, but the optimization above make it super fast, so the UI should always be shown in a timely manner.
#jira UE-87927 - Disaster Recovery doesn't restore a crash from a restored session
- This CL ensures the recovery service release the session lock faster than the next instance of the Editor can start.
#jira UE-87900 - Disaster Recovery stops recording transactions if the UDP transport layer restarts or auto-repair
#jira UE-88517 - Concert Log Spam - (ConcertKeepAlive) discarded
- This CL fixes an issues with endpoints timeout logic.
#jira UE-81049 - Clean up the DisasterRecovery Intermediate directory
- This CL added code to clean up the intermediate directory left over by crashed client.
#rb Francis.Hurteau
[CL 11632069 by Patrick Laflamme in 4.25 branch]