public CompileContext(ProjectContext rootProject, BuilderCommandApp args) { _rootProject = rootProject; // Cleaner to clone the args and mutate the clone than have separate CompileContext fields for mutated args // and then reasoning which ones to get from args and which ones from fields. _args = (BuilderCommandApp)args.ShallowCopy(); // Set up dependencies _rootProjectDependencies = new ProjectDependenciesFacade(_rootProject, _args.ConfigValue); // gather preconditions _preconditions = GatherIncrementalPreconditions(); }
public CompileContext(ProjectContext rootProject, BuilderCommandApp args) { _rootProject = rootProject; _args = args; // Set up Output Paths. They are unique per each CompileContext // Todo: clone args and mutate the clone so the rest of this class does not have special treatment for output paths _outputPath = _rootProject.GetOutputPath(_args.ConfigValue, _args.OutputValue); _intermediateOutputPath = _rootProject.GetIntermediateOutputPath(_args.ConfigValue, _args.IntermediateValue, _args.OutputValue); // Set up dependencies _dependencies = GetProjectDependenciesWithSources(_rootProject, _args.ConfigValue); //gather preconditions _preconditions = GatherIncrementalPreconditions(); }
public CompileContext(ProjectContext rootProject, BuilderCommandApp args) { _rootProject = rootProject; // Cleaner to clone the args and mutate the clone than have separate CompileContext fields for mutated args // and then reasoning which ones to get from args and which ones from fields. _args = (BuilderCommandApp)args.ShallowCopy(); // Set up Output Paths. They are unique per each CompileContext _args.OutputValue = _rootProject.GetOutputPath(_args.ConfigValue, _args.OutputValue); _args.IntermediateValue = _rootProject.GetIntermediateOutputPath(_args.ConfigValue, _args.IntermediateValue, _args.OutputValue); // Set up dependencies _dependencies = new ProjectDependenciesFacade(_rootProject, _args.ConfigValue); // gather preconditions _preconditions = GatherIncrementalPreconditions(); }
public CompileContext(ProjectContext rootProject, BuilderCommandApp args) { _rootProject = rootProject; // Cleaner to clone the args and mutate the clone than have separate CompileContext fields for mutated args // and then reasoning which ones to get from args and which ones from fields. _args = (BuilderCommandApp) args.ShallowCopy(); // Set up Output Paths. They are unique per each CompileContext _args.OutputValue = _rootProject.GetOutputPath(_args.ConfigValue, _args.OutputValue); _args.IntermediateValue = _rootProject.GetIntermediateOutputPath(_args.ConfigValue, _args.IntermediateValue, _args.OutputValue); // Set up dependencies _dependencies = new ProjectDependenciesFacade(_rootProject, _args.ConfigValue); // gather preconditions _preconditions = GatherIncrementalPreconditions(); }
public static int Run(string[] args) { DebugHelper.HandleDebugSwitch(ref args); try { var app = new BuilderCommandApp("dotnet build", ".NET Builder", "Builder for the .NET Platform. It performs incremental compilation if it's safe to do so. Otherwise it delegates to dotnet-compile which performs non-incremental compilation"); return app.Execute(OnExecute, args); } catch (Exception ex) { #if DEBUG Console.Error.WriteLine(ex); #else Console.Error.WriteLine(ex.Message); #endif return 1; } }
public static int Run(string[] args) { DebugHelper.HandleDebugSwitch(ref args); try { var app = new BuilderCommandApp("dotnet build", ".NET Builder", "Builder for the .NET Platform. It performs incremental compilation if it's safe to do so. Otherwise it delegates to dotnet-compile which performs non-incremental compilation"); return(app.Execute(OnExecute, args)); } catch (Exception ex) { #if DEBUG Console.Error.WriteLine(ex); #else Console.Error.WriteLine(ex.Message); #endif return(1); } }