Commit Graph

57 Commits

Author SHA1 Message Date
Ben Marsh
40f391e11e Copying //UE4/Dev-Build to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2857832 on 2016/02/05 by Ben.Marsh

	GitHub #1959 - Prevent UELinkerFixups file from using shared PCHs; it doesn't necessarily have the right compile environment to be able to use them.

Change 2858189 on 2016/02/06 by Ben.Marsh

	Allow runtime dependencies to be optional, so we can allow games to be staged without requiring PhysX/Apex PDBs.

Change 2858968 on 2016/02/08 by Ben.Marsh

	Allow plugins to be enabled/disabled depending on different target types. Contributed by Ben Everett/Hi-Rez Studios.

Change 2859325 on 2016/02/08 by Ben.Marsh

	Stop adding a debug output device if it goes to the same place as the regular log output device. Prevent output messages printing to the log twice on Mac.

	#codereview Michael.Trepka

Change 2859995 on 2016/02/09 by Matthew.Griffin

	Changed UnrealFileServer to be non-monolithic so that it doesn't include code that is not public

Change 2860393 on 2016/02/09 by Ben.Marsh

	Add support for pre and post build steps for projects and plugin files. Steps are specified as a list of shell commands per-target platform, and are written to a shell script by UBT. Whenever the target is built, the pre-build steps are executed before UHT, and post-build steps are executed at the end.

	The following target properties are expanded with UBT properties in the commands: $(EngineDir), $(ProjectDir), $(TargetName), $(TargetPlatform), $(TargetConfiguration), $(TargetType), $(ProjectFile), $(PluginDir).

	Example JSON fragment:

		"PreBuildSteps": {
			"Win64": [
				"echo EngineDir=$(EngineDir)",
				"echo ProjectDir=$(ProjectDir)",
				"echo TargetName=$(TargetName)",
				"echo TargetPlatform=$(TargetPlatform)",
				"echo TargetConfiguration=$(TargetConfiguration)",
				"echo TargetType=$(TargetType)",
				"echo ProjectFile=$(ProjectFile)",
				"echo PluginDir=$(PluginDir)"
			]
		},

Change 2860504 on 2016/02/09 by Ben.Marsh

	Remove nodes from the grid view that we don't have any data for.

Change 2860592 on 2016/02/09 by Ben.Marsh

	Add script to copy all UAT/UBT build products to another directory. To be used to avoid compiling multiple times on build system.

Change 2861087 on 2016/02/09 by Ben.Marsh

	Allow UAT binaries compiled on the initial agent to be copied to all other agents in a build. Saves a lot of startup time on Mac, in particular.

Change 2861788 on 2016/02/10 by Ben.Marsh

	Fix warnings and mangled notification email if triggers finish before all their jobsteps have been created.

#lockdown Nick.Penwarden

[CL 2863732 by Ben Marsh in Main branch]
2016-02-11 15:36:17 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Matthew Griffin
3025b7ea08 Changed code checking module compatibility to only run on non monolithic builds
Also fixed spelling mistake in function that made it hard to find all instances of the same thing

#codereview James.Moran

[CL 2607567 by Matthew Griffin in Main branch]
2015-07-01 11:29:29 -04:00
Matthew Griffin
d2515308d8 Ensure that dependencies on removed plugins are removed from the saved .uproject file
Removed Saving from the Project Manager's SetPluginEnabled function, setting a dirty flag instead, as it won't be able to check source control
Added a new function to save the current project from the Project Manager and clear the dirty flag on success

[CL 2588323 by Matthew Griffin in Main branch]
2015-06-16 04:27:48 -04:00
Peter Sauerbrei
2e8a308315 fix for installed plugins enabled by default kicking a link build for content-only projects
UE-16385
#codereview ben.marsh

[CL 2571774 by Peter Sauerbrei in Main branch]
2015-05-30 15:41:30 -04:00
Ben Marsh
7b2d94f21c Fix disabling an installed plugin removing it from the plugin reference list, which causes them to be re-enabled on next engine startup.
[CL 2571722 by Ben Marsh in Main branch]
2015-05-30 12:51:57 -04:00
Ben Marsh
cc719d7a21 Always enable installed plugins by default, but update your project file with references to them on startup (so other users opening the project will be able to find it on the marketplace).
[CL 2566860 by Ben Marsh in Main branch]
2015-05-27 12:56:05 -04:00
Ben Marsh
4f07e9779a Fix initialization order warnings for FPluginReferenceDescriptor, and reorder constructor parameters to match the more logical order.
[CL 2544454 by Ben Marsh in Main branch]
2015-05-09 08:05:10 -04:00
Ben Marsh
86551e13b5 Add a Marketplace URL field to the .uplugin descriptor. The URL will be embedded into projects that enable the plugin, which will prompt to open the marketplace at the given URL if the user doesn't have the plugin installed.
#codereview Richard.Fawcett, Leigh.Swift

[CL 2543889 by Ben Marsh in Main branch]
2015-05-08 18:24:48 -04:00
Ben Marsh
923e6b01a4 Renaming some plugin browser stuff for consistency, and removing a bunch of unnecessary abstractions.
[CL 2526080 by Ben Marsh in Main branch]
2015-04-26 10:27:46 -04:00
Ben Marsh
8be8504edc Remove some of the tedious layers of indirection from the plugin manager.
[CL 2521707 by Ben Marsh in Main branch]
2015-04-22 16:41:13 -04:00
Ben Marsh
1f5b1222c2 Remove GenerateNewProjectFile from IProjectManager.
[CL 2401854 by Ben Marsh in Main branch]
2015-01-09 08:08:13 -05:00
Jaroslaw Palczynski
17bd6bf781 Getting rid of unnecessary loading of UE4Game module.
[CL 2385799 by Jaroslaw Palczynski in Main branch]
2014-12-11 13:19:40 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Jaroslaw Palczynski
2df4ab4b49 [UE-4798] AutostartupModules is not working properly
The auto-startup module list is now compiled to:
1. Exe if the target is a program.
2. Game module binary if the target is game, editor etc.

#codereview Robert.Manuszewski

[CL 2344885 by Jaroslaw Palczynski in Main branch]
2014-10-30 10:07:51 -04:00
Ben Marsh
31618620c1 Include module names in dialog for recompiling on startup, and don't allow continuing if they are an incorrect version.
[CL 2292600 by Ben Marsh in Main branch]
2014-09-10 12:43:07 -04:00
Ben Marsh
7e47a9d047 Remove virtual function to return .uproject extension from IProjectManager.
[CL 2289650 by Ben Marsh in Main branch]
2014-09-08 13:51:36 -04:00
Ben Marsh
3bac51e396 Provide a proper error message if a file cannot be deleted during project upgrade, and fix offering to checkout the project file if necessary.
[CL 2227462 by Ben Marsh in Main branch]
2014-07-22 15:58:02 -04:00
Ben Marsh
e35719b0b4 Store whether a plugin is enabled by default in the uplugin file (rather than in the INI file). Simplifies checks for what is enabled in UE4Game and decentralizes everything.
[CL 2119957 by Ben Marsh in Main branch]
2014-06-27 16:38:50 -04:00
Ben Marsh
100dfb0b32 Store the list of enabled plugins in the uproject file (fixing TTP 335060), and enable all game plugins by default (TTP 339313).
[CL 2119810 by Ben Marsh in Main branch]
2014-06-27 15:23:15 -04:00
Ben Marsh
8d04b7998a Separate out project and plugin descriptors from each other, and the instance data maintained by their respective managers. Projects and plugins already only have superficial similarities, and will continue to diverge.
[CL 2119335 by Ben Marsh in Main branch]
2014-06-27 08:41:46 -04:00
Ben Marsh
46b651e4a7 Make a standalone class for module descriptors in .uproject and .uplugin files.
[CL 2116860 by Ben Marsh in Main branch]
2014-06-25 13:09:31 -04:00
Max Preussner
017837289f Modules: Module Manager API cleanup pass
There is now a consistent set of methods for module loading, unloading and lookup that all behave in the same expected way.

- renamed GetModuleInterface to GetModule and made it not assert
- removed GetModuleInterfaceRef
- namespace enums to enum classes, NULL to nullptr
- moved important public methods to the top, so they're easier to discover
- added missing & improved existing documentation
- cleaned up existing use cases

[CL 2109936 by Max Preussner in Main branch]
2014-06-18 19:23:34 -04:00
Jamie Dale
0cfe5f0651 Added PlatformInfo to DesktopPlatform and improved the editors Supported Platform UI
TTP# 337136 - SETTINGS: Target Platform settings polish
TTP# 337652 - EDITOR: Limit Project supported Android icons down to 1
TTP# 337650 - EDITOR: There is only 1 icon for Apple for Project Supported Platforms

DesktopPlatform now contains a static array of FPlatformInfo. This can be used to query UE4 about its available platforms, even when they're not available as a target platform.

FPlatformInfo contains the information required by the editor (such as a localized display name and icon), as well as whether a platform is a variation ("flavor") of another, and if so, whether the flavor affects the build output (eg, Win32 or Win64), or the cook output (eg, Android_XYZ). This lets the editor build up nested menus for the "Package Project" and "Cook Project" options, rather than just showing everything as a flat list.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2095796 by Jamie Dale in Main branch]
2014-06-05 12:13:44 -04:00
Jamie Dale
c730fdef83 Added support for choosing which platforms your project will target
TTP# 332489 - TOOLS FEATURE: Editor: Allow user to designate which platforms a project is designed for; warn user when deploying to platforms that will result in a bad time

There is now a "Target Platforms" tab in the project settings which allows you to choose which platforms your project will target. This information is stored inside the .uproject file.

If you try and launch, cook, or package for a project that isn't on the supported list, then you'll see a suppressible warning notifying you that the project may not run as expected. This is also conveyed to you via a warning icon next to platforms which aren't set as a target.

Additionally the target platform icons are shown in the tooltip on the "Open Project" dialog, as well as in the tab area of the level editor.

ReviewedBy Thomas.Sarkanen, Max.Preussner

[CL 2088161 by Jamie Dale in Main branch]
2014-05-29 17:37:19 -04:00