Commit Graph

3400 Commits

Author SHA1 Message Date
Mike Fricker
659cb89e9c [INTEGRATE] UnrealBuildTool fixes for small modules
- Fixed small game-specific plugins always using non-unity and getting a unique PCH

- You can now override the default behavior of UBT which compiles small game modules for "fast iteration"
        - Many small game modules have a low frequency of iteration, and never need a unique PCH or non-unity enabled
        - You can use the following module-specific variables to override the default behavior:

                      MinSourceFilesForUnityBuildOverride = 1;
                      MinFilesUsingPrecompiledHeaderOverride = BuildConfiguration.MinFilesUsingPrecompiledHeader;

[CL 2648185 by Mike Fricker in Main branch]
2015-08-07 13:58:49 -04:00
James Moran
2a1ba3ccad Packaging HTML5 deploys double-click script for HTML5LaunchHelper to avoid using the command line.
Fixes UE-19637

[CL 2647934 by James Moran in Main branch]
2015-08-07 11:00:13 -04:00
Steve Robb
3ad72e0d88 UBT now rebuilds makefile when hotreloading a different module.
#codereview robert.manuszewski

[CL 2647884 by Steve Robb in Main branch]
2015-08-07 10:19:42 -04:00
James Moran
a892538094 Fix handling of spaces in emcc path.
Fix Optimizer path on Mac
fix jira-19532 part 2

[CL 2647762 by James Moran in Main branch]
2015-08-07 07:10:38 -04:00
Bob Tellez
5507cb9604 [AUTOMERGE]
Excluding the editor for a platform no longer excludes the Tools node, which includes tools used for non-editor targets

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2647003 by Bob.Tellez on 2015/08/06 16:52:16.

[CL 2647005 by Bob Tellez in Main branch]
2015-08-06 16:52:45 -04:00
Marcus Wassmer
9f9a6ba80a Set up stagedir even in skipstage so the run command can find the proper executable
#codereview james.moran

[CL 2646930 by Marcus Wassmer in Main branch]
2015-08-06 16:19:18 -04:00
Wes Hunt
cefa87e4b7 Ionic.zip code import
* Moving Ionic.Zip source code into UE4 from UE4 source.
* Only one left should be in Binaries/DotNET.
* Moving TPS info to source location.
* Deleting several copies that were floating around.

Assembly Resolve Refactor
* Added AssemblyUtils.InstallAssemblyResolver to handle resolving of known assemblies that may not exist in the same folder as the referencing assembly.
* This is now installed by UAT and UBT, which should handle all needs to load Ionic.Zip and RPCUtility.exe from scripts that install into subfolders of Binaries/DotNET.
* Other assemblies can be added easily as necesary, centralizing the location where this is handled.
* Removed AssemblyResolver from RPCUtilHelper as UBT handles it automatically now.
* Removed Ionic.Zip references from projects that weren't really using it.
#codereview:ben.marsh

[CL 2646891 by Wes Hunt in Main branch]
2015-08-06 15:55:44 -04:00
Steve Robb
e446302541 Fix to module name comparison when checking files to rebuild.
#codereview robert.manuszewski

[CL 2646563 by Steve Robb in Main branch]
2015-08-06 12:14:25 -04:00
Steve Robb
7d32c57c73 Support for regular C++ int types in casts.
#codereview robert.manuszewski

[CL 2646554 by Steve Robb in Main branch]
2015-08-06 12:09:44 -04:00
Wes Hunt
e2783d981e Add additional telemetry to TempStorage. Moved TelemetryStopwatch out of CommandUtils. Added DateTimeStopwatch to make timing things easier.
[CL 2646031 by Wes Hunt in Main branch]
2015-08-05 22:16:45 -04:00
Josh Markiewicz
57eb560a93 #Integration FN->Main from CL#2644336
actual vetted build from QA

[CL 2646006 by Josh Markiewicz in Main branch]
2015-08-05 21:54:43 -04:00
Wes Hunt
6a80229042 Turn off all automation tests by default. This will need to get propagated to all branches, so I will just update the branch hacker in the two remaining branches that weren't already turning it off: LauncherDev and Fortnite.
#codereview:ben.marsh,adric.worley,bob.ferreira

[CL 2645709 by Wes Hunt in Main branch]
2015-08-05 18:31:03 -04:00
Chris Babcock
9c6add976a Keep the last export of each path from .bash_profile instead of the first one if not set in ini
#jira UE-19619
#ue4
#android
#codereview Michael.Trepka,Mark.Satterthwaite

[CL 2645674 by Chris Babcock in Main branch]
2015-08-05 18:10:38 -04:00
Josh Markiewicz
f8d83447e1 #Integration FN->Main from CL#2642868
Engine Source changes

[CL 2645403 by Josh Markiewicz in Main branch]
2015-08-05 15:54:57 -04:00
Wes Hunt
8a216453ea SetUATLocation uses the EntryAssembly instead of the executing assembly.
[CL 2645374 by Wes Hunt in Main branch]
2015-08-05 15:31:36 -04:00
Wes Hunt
585af51d15 TempStorage Refactor
GUBP High Level
* Temp Storage is zipped into a single archive per node now. This results in ~75% reduction in temp storage usage and network traffic, not to mention the per-file overhead.
* Temp Storage is in P:\\Builds\\{Game}\\TmpStore instead of P:\\Builds\\{Game}\\GUBP (to facilitate easier cleaning of this new structure).
* Temp Storage nodes are in subdirectories of {Branch}\\{CL}\\{NodeName} now instead of a flat directory structure that was hard to manually sift through.

GUBP Mid Level
* Removed -Store= and -StoreSuffix= test parameters.
* Added -NoZipTempStorage parameter to turn off temp storage zipping if necessary.
* Created GUBP.JobInfo class that collects info about the job as a whole to be passed around by GUBP. Mostly used by any code that need to interact with TempStorage.
* Created TempStorageNodeInfo that describes the necessary parameters to find the temp storage location for a node.
* Fully XML commented TempStorage.cs, and commented internals all major functions.
* Added a bunch of telemetry data for storing, retrieving, and cleaning shared temp storage.

UAT Mid Level
* Fixed a bug in Ionic.Zip that make ExtractAll() not work on Mono, checked in new DLLs.
* Added UAT parameter -UseLocalBuildStorage that allows you to test build storage stuff completely locally. Writes to Engine\\Saved\\LocalBuilds\\...

GUBP Low Level
* Refactored some GUBP startup code so temp vars would be limited in scope. Makes it easier to track the impact of refactoring these things.
* CullNodesForPreflight is only called for preflight builds.
* Refactored TempStorage.FindTempStorageManifests to use new TmpStore structure and harden the brittle string/path parsing it was doing. See the new TempStorage FindMatchingSharedTempStorageNodeCLs().
* Refactored TempStorage Saving and Loading to use XDocument instead of older XmlDocument. Removed a bunch of redundant checks.
* Use StripBaseDirectory and MakeRerootedFilePath to remove the brittle directory manipulation code. Directories no longer require a '/' at the end.
* Removed a few redundant caching layers in cleaning temp storage that try to ensure we don't clean a folder twice. None of them were necessary.
* Removed unused single-threaded copy code from temp storage.
* Updated Temp Storage unit test, and fully commented the logic behind it.

UAT Low Level
* UAT top level exception handler is now a single log line now to help parsers find the error.
* Removed several uses of FormatException as it doesn't display the entire exception chain, and is not as good as the default exception formatter.
* Removed ExceptionToString as it used FormatException, which was not a good precedent.
* Fixed several cases of exception propagation that was not properly chaining the inner exception.
* Refactored ThreadedCopyFiles to use Parallel.For because it was just as fast (if not faster) and much simpler to maintain.
* Removed the suffix from Robust_FileExists_NoExceptions because it's sole purpose in life WAS to throw exceptions!
* Added a bunch of XML doc comments to CommandUtils.
* Modernized some container manipulation and iteration to use IEnumerable and extension methods more appropriately.
* Added several @todos for other minor cleanup stuff that should happen eventually.
* Fixed some uses of String.Compare to use invariant culture.
#codereview:ben.marsh

[CL 2644846 by Wes Hunt in Main branch]
2015-08-05 10:22:11 -04:00
Leigh Swift
f3cbd62bfa Merging using UE4-To-UE4-LauncherDev
CL# 2644628 on 05/08/2015 05:12
---------------------
Quick comment fix for BuildPatchTool main cpp

[CL 2644631 by Leigh Swift in Main branch]
2015-08-05 05:13:16 -04:00
Chris Babcock
28d1b83a10 Use gnu-libstdc++ 4.8 for NDK level 19, and allow 4.9 for higher NDK levels
Only use ld.gold for Clang 3.6 if unity build
#jira UE-10647
#ue4
#android

[CL 2644345 by Chris Babcock in Main branch]
2015-08-04 19:58:25 -04:00
Dmitry Rekman
3d4c157110 Revert the previous change and disable XGE again.
- Modular builds (editor, UT server) seem to be broken by this since FixDeps step probably is not listing its prerequisites correctly.

#codereview Ben.Marsh

[CL 2644331 by Dmitry Rekman in Main branch]
2015-08-04 19:39:07 -04:00
Peter Sauerbrei
a277b21917 UE-18895 - can now deploy unicode paths/filenames
#ios

[CL 2644040 by Peter Sauerbrei in Main branch]
2015-08-04 16:36:51 -04:00
Ankit Khare
08ec877c77 Always copy web server during packaging itself too for html5. #jira UE-19556
[CL 2643992 by Ankit Khare in Main branch]
2015-08-04 16:19:39 -04:00
Dmitry Rekman
85c1194619 Enabling XGE for Linux in hopes that the crashes are gone.
#codereview Ben.Marsh

[CL 2643908 by Dmitry Rekman in Main branch]
2015-08-04 15:22:37 -04:00
Bob Tellez
76f066306f [AUTOMERGE]
#UE4 Added a PALTest for string precision

--------
Integrated using branch Ue4-To-UE4-Fortnite-Simple (reversed) of change#2643891 by Bob.Tellez on 2015/08/04 15:18:26.

[CL 2643898 by Bob Tellez in Main branch]
2015-08-04 15:19:39 -04:00
Timothy Reynolds
fae6a68b46 Added missing Source folder to zipping filter list.
UE-19560

[CL 2643666 by Timothy Reynolds in Main branch]
2015-08-04 13:36:36 -04:00
Peter Sauerbrei
0ad0789bfb UE-17831 - fixed issue with non-existent dSYM files being added to the receipt
Also fixed name issue with the ini file
#ios
#codereview ben.marsh

[CL 2643624 by Peter Sauerbrei in Main branch]
2015-08-04 13:08:35 -04:00