Lua向C#逻辑迁移 一期 #13

将整个插件代码上传
This commit is contained in:
2025-10-26 21:48:39 +08:00
parent 56994b3927
commit 648386cd73
785 changed files with 53683 additions and 2 deletions

View File

@ -0,0 +1,52 @@
using System.Collections.ObjectModel;
namespace UnrealSharpBuildTool.Actions;
public class BuildSolution : BuildToolAction
{
private readonly BuildConfig _buildConfig;
private readonly string _folder;
private readonly Collection<string>? _extraArguments;
public BuildSolution(string folder, Collection<string>? extraArguments = null, BuildConfig buildConfig = BuildConfig.Debug)
{
_folder = Program.FixPath(folder);
_buildConfig = buildConfig;
_extraArguments = extraArguments;
}
public override bool RunAction()
{
if (!Directory.Exists(_folder))
{
throw new Exception($"Couldn't find the solution file at \"{_folder}\"");
}
using BuildToolProcess buildSolutionProcess = new BuildToolProcess();
if (_buildConfig == BuildConfig.Publish)
{
buildSolutionProcess.StartInfo.ArgumentList.Add("publish");
}
else
{
buildSolutionProcess.StartInfo.ArgumentList.Add("build");
}
buildSolutionProcess.StartInfo.ArgumentList.Add($"{_folder}");
buildSolutionProcess.StartInfo.ArgumentList.Add("--configuration");
buildSolutionProcess.StartInfo.ArgumentList.Add(Program.GetBuildConfiguration(_buildConfig));
buildSolutionProcess.StartInfo.WorkingDirectory = _folder;
if (_extraArguments != null)
{
foreach (var argument in _extraArguments)
{
buildSolutionProcess.StartInfo.ArgumentList.Add(argument);
}
}
return buildSolutionProcess.StartBuildToolProcess();
}
}