public void Add(FilePath projectPath, string packageId) { if (packageId == null) { throw new ArgumentNullException(nameof(packageId)); } var argsToPassToRestore = new List <string> { projectPath.Value, "package", packageId, "--no-restore" }; var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create( "add", argsToPassToRestore) .CaptureStdOut() .CaptureStdErr(); var result = command.Execute(); if (result.ExitCode != 0) { throw new PackageObtainException("Failed to add package. " + $"{Environment.NewLine}WorkingDirectory: " + result.StartInfo.WorkingDirectory + $"{Environment.NewLine}Arguments: " + result.StartInfo.Arguments + $"{Environment.NewLine}Output: " + result.StdErr + result.StdOut); } }
public static int Run(string[] args) { DebugHelper.HandleDebugSwitch(ref args); try { var commandFactory = new DotNetCommandFactory(); var scriptRunner = new ScriptRunner(); var managedCompiler = new ManagedCompiler(scriptRunner, commandFactory); var nativeCompiler = new NativeCompiler(); var compilationDriver = new CompilationDriver(managedCompiler, nativeCompiler); var compilerCommandArgs = new CompilerCommandApp("dotnet compile", ".NET Compiler", "Compiler for the .NET Platform"); return(compilerCommandArgs.Execute(compilationDriver.Compile, args)); } catch (Exception ex) { #if DEBUG Console.Error.WriteLine(ex); #else Console.Error.WriteLine(ex.Message); #endif return(1); } }
public DotNetProjectBuilder(BuildCommandApp args) : base(args.ShouldSkipDependencies) { _args = args; _preconditionManager = new IncrementalPreconditionManager( args.ShouldPrintIncrementalPreconditions, args.ShouldNotUseIncrementality, args.ShouldSkipDependencies); _compilerIOManager = new CompilerIOManager( args.ConfigValue, args.OutputValue, args.BuildBasePathValue, args.GetRuntimes(), args.Workspace ); _incrementalManager = new IncrementalManager( this, _compilerIOManager, _preconditionManager, _args.ShouldSkipDependencies, _args.ConfigValue, _args.BuildBasePathValue, _args.OutputValue, BuildIncrementalArgumentList(_args) ); _scriptRunner = new ScriptRunner(); _commandFactory = new DotNetCommandFactory(); }
public void Add(FilePath projectPath, string packageId) { if (packageId == null) { throw new ArgumentNullException(nameof(packageId)); } var argsToPassToRestore = new List <string> { projectPath.Value, "package", packageId, "--no-restore" }; var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create( "add", argsToPassToRestore) .CaptureStdOut() .CaptureStdErr(); var result = command.Execute(); if (result.ExitCode != 0) { throw new PackageObtainException( string.Format( LocalizableStrings.FailedToAddPackage, result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); } }
public void Restore( FilePath project, DirectoryPath assetJsonOutput, FilePath?nugetConfig = null, string source = null, string verbosity = null) { var argsToPassToRestore = new List <string>(); argsToPassToRestore.Add(project.Value); if (nugetConfig != null) { argsToPassToRestore.Add("--configfile"); argsToPassToRestore.Add(nugetConfig.Value.Value); } if (source != null) { argsToPassToRestore.Add("--source"); argsToPassToRestore.Add(source); } argsToPassToRestore.AddRange(new List <string> { "--runtime", AnyRid, $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" }); argsToPassToRestore.Add($"/verbosity:{verbosity ?? "quiet"}"); var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create("restore", argsToPassToRestore); if (_reporter != null) { command = command .OnOutputLine((line) => _reporter.WriteLine(line)) .OnErrorLine((line) => _reporter.WriteLine(line)); } var result = command.Execute(); if (result.ExitCode != 0) { throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } }
private void RunCommand(string commandToExecute, IEnumerable <string> args, string workingDirectory) { var command = new DotNetCommandFactory() .Create(commandToExecute, args) .WorkingDirectory(workingDirectory) .CaptureStdOut() .CaptureStdErr(); var commandResult = command.Execute(); if (commandResult.ExitCode != 0) { MigrationTrace.Instance.WriteLine(commandResult.StdOut); MigrationTrace.Instance.WriteLine(commandResult.StdErr); throw new Exception($"Failed to run {commandToExecute} in directory: {workingDirectory}"); } }
public void Restore(FilePath project, PackageLocation packageLocation, string verbosity = null) { var argsToPassToRestore = new List <string>(); argsToPassToRestore.Add(project.Value); if (packageLocation.NugetConfig != null) { argsToPassToRestore.Add("--configfile"); argsToPassToRestore.Add(packageLocation.NugetConfig.Value.Value); } argsToPassToRestore.AddRange(new List <string> { "--runtime", Constants.AnyRid }); argsToPassToRestore.Add($"--verbosity:{verbosity ?? GetDefaultVerbosity()}"); if (_additionalRestoreArguments != null) { argsToPassToRestore.AddRange(_additionalRestoreArguments.Where(arg => !arg.StartsWith("-verbosity"))); } var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create("restore", argsToPassToRestore); if (verbosity == null || _forceOutputRedirection) { command = command .OnOutputLine(line => WriteLine(_reporter, line, project)) .OnErrorLine(line => WriteLine(_errorReporter, line, project)); } var result = command.Execute(); if (result.ExitCode != 0) { throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } }
public void Restore( FilePath projectPath, DirectoryPath assetJsonOutput, FilePath?nugetconfig, string source = null) { var argsToPassToRestore = new List <string>(); argsToPassToRestore.Add(projectPath.Value); if (nugetconfig != null) { argsToPassToRestore.Add("--configfile"); argsToPassToRestore.Add(nugetconfig.Value.Value); } if (source != null) { argsToPassToRestore.Add("--source"); argsToPassToRestore.Add(source); } argsToPassToRestore.AddRange(new List <string> { "--runtime", RuntimeEnvironment.GetRuntimeIdentifier(), $"/p:BaseIntermediateOutputPath={assetJsonOutput.ToQuotedString()}" }); var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create("restore", argsToPassToRestore) .CaptureStdOut() .CaptureStdErr(); var result = command.Execute(); if (result.ExitCode != 0) { throw new PackageObtainException( string.Format( LocalizableStrings.FailedToRestorePackage, result.StartInfo.WorkingDirectory, result.StartInfo.Arguments, result.StdErr, result.StdOut)); } }
private void RunCommand(string commandToExecute, IEnumerable <string> args, string workingDirectory) { var command = new DotNetCommandFactory() .Create(commandToExecute, args) .WorkingDirectory(workingDirectory) .CaptureStdOut() .CaptureStdErr(); var commandResult = command.Execute(); if (commandResult.ExitCode != 0) { string argList = string.Join(", ", args); throw new GracefulException($"Failed to run {commandToExecute} with " + $"args: {argList} ... " + $"workingDirectory = {workingDirectory}, " + $"StdOut = {commandResult.StdOut}, " + $"StdErr = {commandResult.StdErr}"); } }
public void Restore(FilePath project, FilePath?nugetConfig = null, string verbosity = null) { var argsToPassToRestore = new List <string>(); argsToPassToRestore.Add(project.Value); if (nugetConfig != null) { argsToPassToRestore.Add("--configfile"); argsToPassToRestore.Add(nugetConfig.Value.Value); } argsToPassToRestore.AddRange(new List <string> { "--runtime", AnyRid }); argsToPassToRestore.Add($"-verbosity:{verbosity ?? "quiet"}"); var command = new DotNetCommandFactory(alwaysRunOutOfProc: true) .Create("restore", argsToPassToRestore); if (verbosity == null || _forceOutputRedirection) { command = command .OnOutputLine(line => WriteLine(_reporter, line, project)) .OnErrorLine(line => WriteLine(_errorReporter, line, project)); } var result = command.Execute(); if (result.ExitCode != 0) { throw new ToolPackageException(LocalizableStrings.ToolInstallationRestoreFailed); } }
internal override int DoRunTests(ProjectContext projectContext, DotnetTestParams dotnetTestParams) { try { var commandFactory = new ProjectDependenciesCommandFactory( projectContext.TargetFramework, dotnetTestParams.Config, dotnetTestParams.Output, dotnetTestParams.BuildBasePath, projectContext.ProjectDirectory); return(commandFactory.Create( GetCommandName(projectContext.ProjectFile.TestRunner), GetCommandArgs(projectContext, dotnetTestParams), projectContext.TargetFramework, dotnetTestParams.Config) .ForwardStdErr() .ForwardStdOut() .Execute() .ExitCode); } catch (CommandUnknownException e) { var commandFactory = new DotNetCommandFactory(); return(commandFactory.Create( GetDotNetCommandName(projectContext.ProjectFile.TestRunner), GetCommandArgs(projectContext, dotnetTestParams), projectContext.TargetFramework, dotnetTestParams.Config) .ForwardStdErr() .ForwardStdOut() .Execute() .ExitCode); } }
private static void ConfigureDotNetForFirstTimeUse(INuGetCacheSentinel nugetCacheSentinel) { using (PerfTrace.Current.CaptureTiming()) { using (var nugetPackagesArchiver = new NuGetPackagesArchiver()) { var environmentProvider = new EnvironmentProvider(); var commandFactory = new DotNetCommandFactory(); var nugetCachePrimer = new NuGetCachePrimer(commandFactory, nugetPackagesArchiver, nugetCacheSentinel); var dotnetConfigurer = new DotnetFirstTimeUseConfigurer( nugetCachePrimer, nugetCacheSentinel, environmentProvider); dotnetConfigurer.Configure(); } } }