Commit Graph

54 Commits

Author SHA1 Message Date
joe kirchoff
36d266e932 UnrealBuildTool: Automated code cleanup
#rnx
#preflight 6476799e947ff6973c225619

[CL 25693241 by joe kirchoff in ue5-main branch]
2023-05-30 18:38:07 -04:00
will brown
6364a02056 UnrealBuildTool: Ensure that plugins do not have dependencies on any plugin that is sealed. Throw a build error if detected
#rb Joe.Kirchoff

[CL 25516847 by will brown in ue5-main branch]
2023-05-17 17:10:44 -04:00
David Harvey
c72f90087d Emit a warning when a plugin extension specifies an explictly empty platform allow list, suggesting the author expects some sort of inheritence.
#jira UE-161681
#rb Josh.Adams
#rnx
#preflight 63b7e67947321b9d890aa5b2

[CL 23596226 by David Harvey in ue5-main branch]
2023-01-06 04:23:16 -05:00
andrew scheidecker
1218625098 Changed boolean property bVersePublicApi on Build.cs and uplugin files to an enum named VerseScope with three states InternalAPI, PublicAPI and User.
Submitting on behalf of Markus.Breyer.

#rnx
#rb Markus.Breyer, Graeme.Thornton, Eric.Knapik
#preflight 62a74175af7ad033effb81ad

#ROBOMERGE-OWNER: andrew.scheidecker
#ROBOMERGE-AUTHOR: andrew.scheidecker
#ROBOMERGE-SOURCE: CL 20629231 via CL 20629334 via CL 20629474 via CL 20629523
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v955-20579017)

[CL 20636288 by andrew scheidecker in ue5-main branch]
2022-06-13 18:37:53 -04:00
markus breyer
45f42535a5 Added new properties to Build.cs and uplugin files to support Verse public API
- new property bVersePublicApi in Build.cs files that is set to expose the associated Verse code to public users
- new property "VersePublicApi" in uplugin files that is set to expose the associated Verse code to public users

#rb andrew.scheidecker, conan.reis
#rnx
#preflight 628c579c3b67edca7a615f57
#preflight 628fe09bf622d972b5f58a6e

#ROBOMERGE-OWNER: markus.breyer
#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 20386247 via CL 20386248 via CL 20386313 via CL 20386316
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v949-20362246)

[CL 20387729 by markus breyer in ue5-main branch]
2022-05-26 19:24:39 -04:00
markus breyer
83a1800927 Introduced new property "VersePath" in plugin descriptor and module rules
#rb jonathan.adamczewski, tim.tillotson
#rnx
#preflight 6216ef19104496cff8ae5564

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 19224088 via CL 19227926 via CL 19237742 via CL 19237888 via CL 19238470
#ROBOMERGE-BOT: UE5 (Release-Engine-Staging -> Main) (v921-19075845)

[CL 19239355 by markus breyer in ue5-main branch]
2022-03-03 01:26:50 -05:00
markus breyer
1bd46f673d Do not write the CanContainVerse property for plugin descriptors when it is false
#jira UE-142055
#rb none
#rnx
#preflight none

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 18948778 via CL 18949187 via CL 18949188 via CL 18949190 via CL 18952897 via CL 18953142
#ROBOMERGE-BOT: UE5 (Release-Engine-Test -> Main) (v917-18934589)

[CL 18953161 by markus breyer in ue5-main branch]
2022-02-11 11:15:33 -05:00
markus breyer
552c60dbed New "CanContainVerse" plugin descriptor property
- allows to specifically filter plugins at runtime
- added checks in UBT that point out the incorrect presence/absence of the property

#rb ben.marsh
#rnx
#preflight 61d4cb0a1a3fd09dcbca448b

#ROBOMERGE-AUTHOR: markus.breyer
#ROBOMERGE-SOURCE: CL 18522294 via CL 18524374 via CL 18524427 via CL 18524451 via CL 18524982 via CL 18525003
#ROBOMERGE-BOT: STARSHIP (Release-Engine-Staging -> Release-Engine-Test) (v899-18417669)

[CL 18525031 by markus breyer in ue5-release-engine-test branch]
2022-01-05 16:56:50 -05:00
Marc Audy
0c3be2b6ad Merge Release-Engine-Staging to Test @ CL# 18240298
[CL 18241953 by Marc Audy in ue5-release-engine-test branch]
2021-11-18 14:37:34 -05:00
aurel cordonnier
a12d56ff31 Merge from Release-Engine-Staging @ 17791557 to Release-Engine-Test
This represents UE4/Main @17774255, Release-5.0 @17791557 and Dev-PerfTest @17789485

[CL 17794212 by aurel cordonnier in ue5-release-engine-test branch]
2021-10-12 21:21:22 -04:00
David Harvey
e581358a11 Add HasExplicitPlatforms property to uplugin definitions, allowing the SupportedTargetPlatforms and WhitelistPlatforms fields to be entirely defined in child plugins. The existing functionality means that an empty platform list implies "all platforms".
#jira UECON-417
#rb ben.marsh

[CL 16531379 by David Harvey in ue5-main branch]
2021-06-02 04:27:26 -04:00
David Harvey
38cb9a7d86 Plugin reference descriptors do not verify that the plugin's platforms names are known platforms. This means that the project will generate and build correctly even if a user doesn't have a particular platform extension synced.
#jira UE-108682
#rb josh.adams, ben.marsh

[CL 15694805 by David Harvey in ue5-main branch]
2021-03-15 06:00:55 -04:00
Ben Marsh
6f927647b1 Changing C# code over to using EpicGames.Core over DotNETCommon.
#rb none
#rnx

[CL 14962096 by Ben Marsh in ue5-main branch]
2020-12-21 23:07:37 -04:00
Ben Marsh
68f5abeb09 UBT: Convert UnrealBuildTool to use nullable references.
#rb none
#rnx

[CL 14960546 by Ben Marsh in ue5-main branch]
2020-12-20 18:47:42 -04:00
Josh Adams
77c0e15de9 - Fixed UBT to not throw errors if a project has a Platforms/XYZ directory, which will try to build with platform XYZ, if the engine doesn't have Engine/Platforms/XYZ/DataDrivenPlatformInfo.ini file. This will make it so the Project/Platforms/XYZ directory would be completely skipped over (and Project/Restricted/Blah/Platforms/XYZ)
- Changed plugin module descriptor internals to allow for an empty platform whitelist (which means no platforms are enabled), in the case of all platforms in the whitelist are not around
- Added some dummy DDPI.ini files for "fake platforms" to the Engine so that the above directory checks will not strip out the shared platform directories from projects
#rb ben.marsh
#fyi luke.thatcher,david.harvey
#jira UE-100574

[CL 14490452 by Josh Adams in ue5-main branch]
2020-10-14 08:54:14 -04:00
anthony bills
f573ba06f6 Add missing null checks to PluginDescriptor.cs
- 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

#ROBOMERGE-SOURCE: CL 11723339 in //UE4/Release-4.25/... via CL 11723340
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11723343 by anthony bills in Main branch]
2020-02-27 22:21:28 -05:00
anthony bills
1ef400627b Add support for whitelisting additional plugins and adding additional modules to plugin extensions.
Additionally allow monolithic programs inside platform extensions to ouput to the Binaries directory in the extension.

[at]brian.white, [at]josh.adams, [at]ben.marsh
#jira UE-81798
#rb ben.marsh

#ROBOMERGE-SOURCE: CL 11655119 in //UE4/Release-4.25/... via CL 11655234
#ROBOMERGE-BOT: RELEASE (Release-4.25Plus -> Main) (v656-11643781)

[CL 11655284 by anthony bills in Main branch]
2020-02-27 10:47:20 -05:00
Josh Adams
aa9705149b Copying Private-LoadTimes-4.24 stream to Main. Biggest changes are in Materials/Shader memory freezing.
#rb none

[CL 11282608 by Josh Adams in Main branch]
2020-02-06 13:13:41 -05:00
Ryan Durand
9ef3748747 Updating copyrights for Engine Programs.
#rnx
#rb none
#jira none

#ROBOMERGE-OWNER: ryan.durand
#ROBOMERGE-AUTHOR: ryan.durand
#ROBOMERGE-SOURCE: CL 10869242 in //Fortnite/Release-12.00/... via CL 10869536
#ROBOMERGE-BOT: FORTNITE (Main -> Dev-EngineMerge) (v613-10869866)

[CL 10870955 by Ryan Durand in Main branch]
2019-12-26 23:01:54 -05:00
bob tellez
49e16410f5 #UE4 Add bExplicitlyLoaded to UBT's PluginDescriptor as well to match the c++ code
[FYI] Ben.Marsh


#ROBOMERGE-SOURCE: CL 10594759 via CL 10594772
#ROBOMERGE-BOT: (v607-10590470)

[CL 10594774 by bob tellez in Main branch]
2019-12-06 13:46:01 -05:00
Rolando Caloca
1a30325d6f Copying //UE4/Dev-RenderPlat-Staging@9551419 to //UE4/Main
#rb none
#rnx

[CL 9551447 by Rolando Caloca in Main branch]
2019-10-11 15:33:31 -04:00
Ben Marsh
2b33a10ee2 Plugins: Add a flag to mark a plugin as experimental.
#rb none
#fyi Ryan.Gerleve
#rnx

[CL 9211321 by Ben Marsh in Main branch]
2019-09-27 12:11:45 -04:00
Ben Marsh
7810027daf Deprecate the 'Developer' module type. The 'UncookedOnly' type has the same functionality but is more descriptive, and the 'DeveloperTool' module type correctly represents the state of the bBuildDeveloperTools flag.
#rb none

[CL 8407077 by Ben Marsh in Dev-Build branch]
2019-09-02 16:21:40 -04:00
Josh Adams
2eb5796bba - Revamped the Platform Extension plugin support to go back to just passing one directory to ReadPluginsFromDirectory now that the directory swap allows it
#rb ben.marsh

[CL 7954514 by Josh Adams in Dev-Build branch]
2019-08-12 17:59:42 -04:00
Josh Adams
1e4b186150 - Big update to platforms: PlatformExtensions
- This allows for Confidential platforms to exist outside of the engine, and insert themselves in as needed
- Directory structure is, where .... mirrors the directory structure for Engine and projects
     - /Platforms/XXX/....
- Moving to more data driven approach for ShaderPlatforms and PlatformInfo, where they can be read from DataDrivenPlatformInfo.ini files that live in the platform config folders
- Removed platform mentions from UBT, by way of changing some enums to partial classes with static members (see UnrealTargetPlatform)
- Various other UBT/UAT modifications to allow for looking in other locations for files
- THIS IS NOT A COMPLETE AND FINAL SOLUTION. WE WILL CONTINUE WORK IN DEV-BUILD BEFORE ITS READY FOR PRIMETIME
#rb ben.marsh

[CL 6271418 by Josh Adams in Dev-Build branch]
2019-05-03 08:03:23 -04:00