- Each tool can have a number of deployments which are rolled out over time. Clients can specify a "phase" value indicating where in the queue they want to take updates (ie. whether they want to be early- or late-adopters), and deployments can be paused and cancelled.
- Tool channels are configured through the global configuration file. Tools can be marked "public", meaning that they do not require authentication against Horde for access. This can be useful for auto-update scenarios.
- The most recent 5 deployments are kept in the tool at any time.
The collection and controller implementation here is an experiment in reducing the amount of boilerplate currently adopted as a pattern in Horde. Notably:
- Model and collection classes are concrete rather than interfaces (since we don't generally mock them anyway).
- The same model class with annotations is used for response objects (paving the way to supporting patching and filtering using the same public model as the internal model).
- The VersionedCollection class is used to handle automatic migration of documents across schema versions, and cache document values with Redis.
- MongoDB property names are explicit and short, rather than just taking variable names.
#preflight none
[CL 19636699 by Ben Marsh in ue5-main branch]
Shared libraries on Linux commonly use a scheme of version number suffixes
and/or symlinks to help ensure that client applications can link against the
appropriate version of a library (e.g. "libfoo.so.1.70.0"). This change updates
IsDuplicateBuildProduct() with an additional case to cover these libraries so
that they are not flagged as an error by the build system if multiple steps
produce them.
#jira UE-148232
#rb brandon.schaefer
#preflight 624c76a8712e7c09a6a15d69
[CL 19627733 by matt johnson in ue5-main branch]
- Restoring previous FDatasmithSceneExporter::Reset() behavior but marking the function as deprecated.
It's previous usage of reseting the export progress without resetting the whole exporter state was discutable and confusing. If users want to fully reset the exporter they don't need the Reset() function.
- Fixing Datasmith Facade inverse scaling error during position conversion
#preflight 624b48d9dc6183e3f547d3b1
#rb Johan.Duparc Kerim.Borchaev
[CL 19625080 by benoit deschenes in ue5-main branch]
Added plugin module detection and output path support for script exporters.
#rb none
#rnx
#preflight 624c266bc51908059af7b318
[CL 19622801 by Tim Smith in ue5-main branch]
- resource binary files are not copied to an Intermediate location first.
- resources.pri is also not created in the Intermediate location first.
- file diffs are done on generated files only; resource binary files use timestamps.
- only copy the resource binaries for the cultures that we are staging.
- final file removal & copying is left to the end of the process rather than being ad-hoc.
Additionally, the output from makepri is only logged if there was an error, to reduce signal/noise.
#preflight 624b26cab33098a72d1bd843
#rnx
#rb Eric.McDaniel
#jira UE-147269
[CL 19622112 by David Harvey in ue5-main branch]
UAT RunClient: Continuously redirect output to uat stdout while client is running.
UAT RunClient: Add a process wrapper to kill client process when uat exits and to write the adb device log file to the host pc directories.
UAT RunClient: Push the ClientCmdLine args as a UECommandLine.txt file to the device to the correct location (different for adb deploy and android file server) to override the stage/apk command line.
UAT MakeApk: Add a UECommandLine.txt cache file to the intermediate directory to invalidate the apk when the stage/apk command line changes (e.g. when switching between CBTB or COTF or cooking with/without Zen).
LaunchAndroid.cpp: Add debug output for which override command line file that is being used.
LaunchAndroid.cpp: Implement missing -waitforattach/-waitfordebugger feature.
DataDrivenPlatformInfo.ini: set bUATClosesAfterLaunch=false to stop the editor from passing -nokill to uat to let it stop all processes when the client exits..
#jira none
#rb chris.babcock
#rnx
#preflight 6245849873665f7d5e4f0a18
#preflight 624be1f3dc6183e3f5518801
[CL 19621549 by PJ Kack in ue5-main branch]
- besides existence also checks if any script source files are present within
#rb jonathan.adamczewski
#rnx
#preflight 624b1fbff4217035fab7ba5a
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19612224 via CL 19613043 via CL 19613335 via CL 19613472
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v938-19570697)
[CL 19615160 by markus breyer in ue5-main branch]
Split logic into multiple static functions and make protected so it can be shared with an inherited class
#rnx
#rb Jonathan.Adamczewski
#preflight 62473274637925b5d3e0f1f3
[CL 19596364 by Joe Kirchoff in ue5-main branch]