Commit Graph

4513 Commits

Author SHA1 Message Date
Ben Marsh
185054b7c2 UBT: Add a check that the UnrealHeaderTool target file exists, rather than throwing an exception when reading it fails.
#rb none
#rnx

[CL 4158011 by Ben Marsh in Dev-Core branch]
2018-06-25 08:17:31 -04:00
Ben Marsh
49c7fe4749 WorkspaceTool: Use readonly clients for build machines.
#rb none

[CL 4157960 by Ben Marsh in Dev-Core branch]
2018-06-25 07:45:37 -04:00
Ben Marsh
40785e872a Fix warning due to plugins disabled in .target.cs file.
#rb none
#rnx

[CL 4157117 by Ben Marsh in Dev-Core branch]
2018-06-23 16:55:03 -04:00
Ben Marsh
c56336b9e5 Lots and lots of fixes compiling for Clang on Windows.
Editor now compiles cleanly without warnings, but crashes on startup due to error in intrinsics test. Disabling that runs further, but crashes accessing freed memory. Switching to the ANSI allocator runs further, but crashes in Slate after the splash screen and before the editor window opens. // TODO!

* Switching between Clang/ICL/VS2015/VS2017 is now supported through the same mechanism as switching Visual Studio versions, without requiring any source level changes. To use Clang, set WindowsPlatform.Compiler = WindowsCompiler.Clang from a .target.cs file, or set <WindowsPlatform><Compiler>Clang</Compiler></WindowsPlatform> from BuildConfiguration.xml. To pick a specific toolchain version, set WindowsPlatform.CompilerVersion.
* Clang is now supported through AutoSDKs; will be added to CIS.
* The Samples/Sandbox/Clang project forces Clang to be used from its target.cs file, and allows easily building all editor modules and plugins with Clang on Windows.
* UnrealMathSSE intrinsics have been re-enabled for Clang due to missing functions from the UnrealMathFPU implementation, but causes failure in tests at startup.
* SSE4_CRC32() is disabled in D3D12Pipelinestate.cpp, since intrinsics are only allowed if enabled for the whole target (rather than being used in specific functions due to runtime checks)

#fyi Mike.Fricker, Ben.Woodhouse
#rb none

[CL 4156437 by Ben Marsh in Dev-Core branch]
2018-06-22 15:58:04 -04:00
Ben Marsh
4fc6530413 UGS: Update version to 1.143.
#rb none
#rnx

[CL 4149399 by Ben Marsh in Dev-Core branch]
2018-06-20 09:33:30 -04:00
Ben Marsh
9329600b81 UGS: Allow adding additional columns to display particular badges by adding entries from the project config file. Example syntax:
+Columns=(Name="Desktop",MinWidth=50,DesiredWidth=100,Weight=3,Badges="Editor")
+Columns=(Name="Mobile",MinWidth=50,DesiredWidth=100,Weight=3,Badges="IOS,Android")

Same form can be used to control how default columns are displayed (though badge settings are ignored). Also allow PerforceMonitor to detect local changes to project config files and update settings automatically.

#rb none

[CL 4149373 by Ben Marsh in Dev-Core branch]
2018-06-20 09:18:59 -04:00
Ben Marsh
7ef06a06c6 UGS: Fix tooltips not showing for changes that have description badges.
#rb none

[CL 4148639 by Ben Marsh in Dev-Core branch]
2018-06-19 19:24:05 -04:00
Ben Marsh
b40be6edc0 UGS: Added support for showing the latest completed build from a specific list of badges in the status panel. To declare a badge as one that should appear in the status panel rather than the CIS column, add it to the project's UnrealGameSync.ini in the project or [Default] section like so:
+ServiceBadges=RoboMerge

#rb none

[CL 4148207 by Ben Marsh in Dev-Core branch]
2018-06-19 17:27:23 -04:00
Ben Marsh
d15cd26889 UGS: Compress build badges in a column if it shrinks below the size that they would be visible.
#rb none
#rnx

[CL 4147318 by Ben Marsh in Dev-Core branch]
2018-06-19 15:10:44 -04:00
Ben Marsh
e301ffbf23 UGS: Fix display of multiline errors in the status panel.
#rb none
#rnx

[CL 4137393 by Ben Marsh in Dev-Core branch]
2018-06-19 10:25:32 -04:00
Ben Marsh
ced29fb8da UGS: Align all badges with the same name, to make it easier to see which CIS steps are being run. Allow overriding the slot taken by a particular badge by calling it "SlotName:LabelName".
#rb none

[CL 4137207 by Ben Marsh in Dev-Core branch]
2018-06-19 08:44:48 -04:00
Ben Marsh
b44d3518c5 UBT: Remove legacy code to handle disabling optional plugins; now that this is compiled into the target, it will work for any plugins we choose.
#rb none
#rnx

[CL 4135823 by Ben Marsh in Dev-Core branch]
2018-06-18 14:16:44 -04:00
Ben Marsh
3a5ab2ef69 UBT: Plugins can now be enabled and disabled from the .target.cs file (for targets that do not use the shared compile environment), by compiling the list of enabled/disabled plugin names into the Projects module.
#rb none

[CL 4135730 by Ben Marsh in Dev-Core branch]
2018-06-18 13:56:19 -04:00
Ben Marsh
776fe93cb9 Merging CL 4134118 from 4.20 branch - UBT: Fix new plugin wizard not being able to compile engine plugins, due to engine plugins not being enabled by default.
#rb none
#jira UE-60442
#rnx

[CL 4135646 by Ben Marsh in Dev-Core branch]
2018-06-18 13:24:28 -04:00
Ben Marsh
bc6d38fae4 WorkspaceTool: Use the correct path to p4 on Mac.
#rb none
#rnx

[CL 4135591 by Ben Marsh in Dev-Core branch]
2018-06-18 12:57:28 -04:00
Ben Marsh
544172ade8 Fix allowing use of Job objects on Windows platforms (debug code submitted by mistake)
#rb none
#rnx

[CL 4135449 by Ben Marsh in Dev-Core branch]
2018-06-18 12:06:08 -04:00
Ben Marsh
80055450ec WorkspaceTool: Use ManagedProcess to execute Perforce, and add a default implementation of it for non-Win32 platforms.
#rb none
#rnx

[CL 4135441 by Ben Marsh in Dev-Core branch]
2018-06-18 12:04:19 -04:00
Robert Manuszewski
cd1a00df0a Merging //UE4/Dev-Main @ 4134643 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4134762 by Robert Manuszewski in Dev-Core branch]
2018-06-18 00:16:40 -04:00
Ben Marsh
dba7ff0a6a UGS: A per-project list of folders and extensions to be deleted by default when running the 'clean workspace' tool can now be specified through the <ProjectDir>/Build/UnrealGameSync.ini file. Settings may be specified for an individual branch (via a category with the depot path to the project) or for wherever the project is currently open (via the [Default] category).
The SafeToDeleteFolders list specifies a substring that will be checked against folder paths. Anything containing this folder will be marked as safe for delete by default.

The SafeToDeleteExtensions list specifies a list of extensions for files that can always be deleted.

Example:

 [Default]
+SafeToDeleteFolders=/MyGame/Test/
+SafeToDeleteFolders=/DataService/
+SafeToDeleteExtensions=.xx1
+SafeToDeleteExtensions=.xx2

#rb none
#jira UE-60575

[CL 4133681 by Ben Marsh in Dev-Core branch]
2018-06-15 16:47:57 -04:00
Ben Marsh
61663171f5 UGS: Setting for whether or not to use incremental builds is now exposed through the variable "$(UseIncrementalBuilds)" for use by custom build steps.
#rb none
#jira UE-60554

[CL 4133550 by Ben Marsh in Dev-Core branch]
2018-06-15 16:16:07 -04:00
Ben Marsh
2ca03ba31e UGS: Allow the $(Change) variable to be used in more places than just the context menu.
#rb none
#jira UE-60573

[CL 4133490 by Ben Marsh in Dev-Core branch]
2018-06-15 15:56:41 -04:00
Ben Marsh
dd6f3b0c59 WorkspaceTool: Improve resilience when long-running actions are interrupted.
* Before moving a large number of files, the workspace state is saved with information about files in the source and target locations, allowing recovery of files in either location.
* The workspace state can be tagged as dirty, meaning that some cache or workspace items may not be correct. If a workspace is loaded with this flag, we check integrity of all files in each category before continuing.
* Gathering files to add and remove is done in a two separate operations.
* Workspace state is captured after every 256mb is synced, to avoid large resyncs if an error occurs.
* If any attempt to move a file from the cache, or copy a file within the workspace fails, we fall back to re-syncing the item from Perforce.

Also other minor improvements:

* Always write out log file, and keep old log files for 3 days.
* Added dump command, to list contents of workspace and cache.

#rb none

[CL 4133164 by Ben Marsh in Dev-Core branch]
2018-06-15 14:30:23 -04:00
Robert Manuszewski
44c29d8fa7 Merging //UE4/Dev-Main @ 4131780 to Dev-Core (//UE4/Dev-Core)
#rb none

[CL 4132239 by Robert Manuszewski in Dev-Core branch]
2018-06-15 08:06:26 -04:00
Ben Marsh
4d543b24e6 UGS: Speculative fix for unreproduced exception accessing disposed window while shutting down.
#rb none
#rnx

[CL 4129618 by Ben Marsh in Dev-Core branch]
2018-06-14 08:29:47 -04:00
Ben Marsh
05dba4a183 UGS: Main window is now restored to normal size when activated by clicking on the tray icon.
#jira UE-60490
#rb none

[CL 4129614 by Ben Marsh in Dev-Core branch]
2018-06-14 08:15:04 -04:00