Exemplo n.º 1
0
        public void Execute()
        {
            // Some messages, especially internal ones, don't want to display in headless
            if (_args.HasFlag("noheadless") && _state.Headless)
            {
                return;
            }

            var output    = _output;
            var colorName = _args.Get("color").AsString();

            if (!string.IsNullOrEmpty(colorName))
            {
                var color = (ConsoleColor)Enum.Parse(typeof(ConsoleColor), colorName);
                output = output.Color(color);
            }

            var strings = _args.GetAllPositionals().Where(p => p.Exists()).Select(p => p.AsString());
            var line    = string.Join(" ", strings);

            if (_args.HasFlag("nonewline"))
            {
                output.Write(line);
            }
            else
            {
                output.WriteLine(line);
            }
        }
Exemplo n.º 2
0
        private string GetTargetPath()
        {
            var targetPath = _arguments.Get(ArgumentKeys.TargetPath);

            if (string.IsNullOrEmpty(targetPath))
            {
                return(GetDefaultPath());
            }

            if (targetPath.IndexOfAny(Path.GetInvalidPathChars()) > 0)
            {
                return(GetDefaultPath());
            }

            if (!Path.IsPathRooted(targetPath))
            {
                targetPath = _fileSystemHelper.GetFullPath(targetPath);
            }

            if (_fileSystemHelper.DirectoryExists(targetPath))
            {
                return(targetPath);
            }

            return(GetDefaultPath());
        }
Exemplo n.º 3
0
 public IEnumerable<IArgument> Access(IArguments args)
 {
     var arg = args.Get(_index);
     if (!arg.Exists() || arg.Consumed)
         return Enumerable.Empty<IArgument>();
     arg.MarkConsumed();
     return new [] { new PositionalArgument(arg.AsString(string.Empty)) };
 }
 public IEnumerable<IArgument> Access(IArguments args)
 {
     var arg = args.Get(_name);
     if (!arg.Exists())
         return Enumerable.Empty<IArgument>();
     arg.MarkConsumed();
     return new [] { new NamedArgument(_name, arg.AsString(string.Empty)) };
 }
Exemplo n.º 5
0
        /// <summary>
        ///   Runs the report generation.
        /// </summary>
        public void Run()
        {
            foreach (var targetAssembly in _arguments.Get(ArgumentKeys.TargetAssemblies))
            {
                var reportModel = _modelBuilder.BuildModel(targetAssembly);

                Debug.Assert(reportModel != null);

                _reportGenerator.Generate(reportModel);
            }
        }
        public IEnumerable <IArgument> Access(IArguments args)
        {
            var arg = args.Get(_name);

            if (!arg.Exists())
            {
                return(Enumerable.Empty <IArgument>());
            }
            arg.MarkConsumed();
            return(new [] { new PositionalArgument(arg.AsString(string.Empty)) });
        }
Exemplo n.º 7
0
        public IEnumerable <IArgument> Access(IArguments args)
        {
            var arg = args.Get(_index);

            if (!arg.Exists())
            {
                return(Enumerable.Empty <IArgument>());
            }
            arg.MarkConsumed();
            return(new[] { new NamedArgument(_newName, arg.AsString(string.Empty)), });
        }
Exemplo n.º 8
0
 public void Execute()
 {
     _output.WriteLine(_args.Get(0).AsString());
     _output.WriteLine(_args.Get("b").AsString());
     _output.WriteLine(_args.HasFlag("c").ToString());
 }
Exemplo n.º 9
0
 protected override void Because()
 {
     value = propertyBag.Get(key);
 }
Exemplo n.º 10
0
 /// <summary>
 /// Get the flag argument with the given name and mark it consumed
 /// </summary>
 /// <param name="args"></param>
 /// <param name="name"></param>
 /// <returns></returns>
 public static INamedArgument Consume(this IArguments args, string name)
 {
     Assert.ArgumentNotNull(args, nameof(args));
     return(args.Get(name).MarkConsumed());
 }
Exemplo n.º 11
0
 /// <summary>
 /// Get the positional argument at the given index, and mark it consumed
 /// </summary>
 /// <param name="args"></param>
 /// <param name="index"></param>
 /// <returns></returns>
 public static IPositionalArgument Consume(this IArguments args, int index)
 {
     Assert.ArgumentNotNull(args, nameof(args));
     return(args.Get(index).MarkConsumed());
 }