using MsbuildAnalyzer.Models;
namespace MsbuildAnalyzer.Utilities;
///
/// Run target creation methods for TargetBuilder.
///
public static partial class TargetBuilder
{
private static void AddRunTarget(
Dictionary targets,
string fileName,
PluginOptions options)
{
string[] defaultFlags = ["--no-build"];
targets[options.RunTargetName] = new Target
{
Command = "dotnet run",
Options = new TargetOptions
{
Cwd = "{projectRoot}",
Args = defaultFlags
},
Configurations = new Dictionary
{
["debug"] = new TargetConfiguration
{
Args = [.. defaultFlags, "--configuration", "Debug"]
},
["release"] = new TargetConfiguration
{
Args = [.. defaultFlags, "--configuration", "Release"]
}
},
DependsOn = [options.BuildTargetName],
Cache = false,
Metadata = new TargetMetadata
{
Description = "Run the .NET application",
Technologies = ProjectUtilities.GetTechnologies(fileName)
}
};
}
}