40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
|
|
namespace UnrealSharpBuildTool.Actions;
|
|||
|
|
|
|||
|
|
public class BuildWeave : BuildToolAction
|
|||
|
|
{
|
|||
|
|
public override bool RunAction()
|
|||
|
|
{
|
|||
|
|
BuildSolution buildSolution = new BuildUserSolution();
|
|||
|
|
WeaveProject weaveProject = new WeaveProject();
|
|||
|
|
return buildSolution.RunAction() && weaveProject.RunAction() && AddLaunchSettings();
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
bool AddLaunchSettings()
|
|||
|
|
{
|
|||
|
|
List<FileInfo> allProjectFiles = Program.GetAllProjectFiles(new DirectoryInfo(Program.GetProjectDirectory()));
|
|||
|
|
|
|||
|
|
foreach (FileInfo projectFile in allProjectFiles)
|
|||
|
|
{
|
|||
|
|
if (projectFile.Directory!.Name.EndsWith(".Glue"))
|
|||
|
|
{
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
string csProjectPath = Path.Combine(Program.GetScriptFolder(), projectFile.Directory.Name);
|
|||
|
|
string propertiesDirectoryPath = Path.Combine(csProjectPath, "Properties");
|
|||
|
|
string launchSettingsPath = Path.Combine(propertiesDirectoryPath, "launchSettings.json");
|
|||
|
|
if (!Directory.Exists(propertiesDirectoryPath))
|
|||
|
|
{
|
|||
|
|
Directory.CreateDirectory(propertiesDirectoryPath);
|
|||
|
|
}
|
|||
|
|
if (File.Exists(launchSettingsPath))
|
|||
|
|
{
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
Program.CreateOrUpdateLaunchSettings(launchSettingsPath);
|
|||
|
|
}
|
|||
|
|
return true;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|