Beispiel #1
0
        private ProcessArgumentBuilder GetArguments(string command, ProcessArgumentBuilder arguments, DotNetToolSettings settings)
        {
            var builder = CreateArgumentBuilder(settings);

            builder.Append(command);

            // Arguments
            if (!arguments.IsNullOrEmpty())
            {
                arguments.CopyTo(builder);
            }

            return(builder);
        }
Beispiel #2
0
        /// <summary>
        /// Execute an assembly using arguments and settings.
        /// </summary>
        /// <param name="projectPath">The target project path.</param>
        /// <param name="command">The command to execute.</param>
        /// <param name="arguments">The arguments.</param>
        /// <param name="settings">The settings.</param>
        public void Execute(FilePath projectPath, string command, ProcessArgumentBuilder arguments, DotNetToolSettings settings)
        {
            if (string.IsNullOrWhiteSpace(command))
            {
                throw new ArgumentNullException(nameof(command));
            }

            if (settings == null)
            {
                throw new ArgumentNullException(nameof(settings));
            }

            var processSettings = new ProcessSettings
            {
                WorkingDirectory = settings.WorkingDirectory ?? projectPath?.GetDirectory()
            };

            RunCommand(settings, GetArguments(command, arguments, settings), processSettings);
        }