Merging //UE4/Dev-Main to Dev-Anim (//UE4/Dev-Anim) @ CL 5236305

#rb none
#jira none

[CL 5236785 by Thomas Sarkanen in Dev-Anim branch]
This commit is contained in:
Thomas Sarkanen
2019-02-28 04:41:36 -05:00
parent 55dee4afa7
commit 474bc576ee
529 changed files with 43382 additions and 3703 deletions

View File

@@ -1198,6 +1198,10 @@ namespace UnrealBuildTool
{
DirectoryReference ProjDir = Target.TargetFilePath.Directory.GetDirectoryName() == "Source" ? Target.TargetFilePath.Directory.ParentDirectory : Target.TargetFilePath.Directory;
GetExcludePathsCPP(ProjDir, PathsToExclude);
DirectoryReference PluginRootDir = DirectoryReference.Combine(ProjDir, "Plugins");
WriteWorkspaceSettingsFileForPlugins(PluginRootDir, PathsToExclude);
bFoundTarget = true;
}
}
@@ -1225,6 +1229,26 @@ namespace UnrealBuildTool
OutFile.Write(FileReference.Combine(VSCodeDir, "settings.json"));
}
private void WriteWorkspaceSettingsFileForPlugins(DirectoryReference PluginBaseDir, List<string> PathsToExclude)
{
if (DirectoryReference.Exists(PluginBaseDir))
{
foreach (DirectoryReference SubDir in DirectoryReference.EnumerateDirectories(PluginBaseDir, "*", SearchOption.TopDirectoryOnly))
{
string[] UPluginFiles = Directory.GetFiles(SubDir.ToString(), "*.uplugin");
if (UPluginFiles.Length == 1)
{
DirectoryReference PluginDir = SubDir;
GetExcludePathsCPP(PluginDir, PathsToExclude);
}
else
{
WriteWorkspaceSettingsFileForPlugins(SubDir, PathsToExclude);
}
}
}
}
private void WriteWorkspaceFile(ProjectData ProjectData)
{
JsonFile WorkspaceFile = new JsonFile();