Beispiel #1
0
        private static void Main(string[] args)
        {
            var parser = new OptionParser <Options>();

            if (!parser.TryParse(args, out var options))
            {
                return;
            }

            try
            {
                var table = new List <Entry>();
                if (!options.LocalOnly && new DefaultPublicIpResolver().TryResolve(out var publicIp))
                {
                    table.Add("Internet (Public)", publicIp, null);
                }

                var allInterfaces = NetworkInterface
                                    .GetAllNetworkInterfaces()
                                    .Where(i => i.OperationalStatus == OperationalStatus.Up)
                                    .ToArray();

                table.AddRange(allInterfaces.Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Ethernet));
                table.AddRange(allInterfaces.Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Wireless80211));
                table.AddRange(allInterfaces.Where(i => i.NetworkInterfaceType == NetworkInterfaceType.Loopback));

                table.WriteTable(Console.Out, options.ShowIpv6);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.Message);
                parser.WriteUsage();
            }
        }
Beispiel #2
0
        private static void Main(string[] args)
        {
            var parser = new OptionParser <Options>();

            if (!parser.TryParse(args, out var options))
            {
                return;
            }

            var dateFormatter     = new DefaultDateTimeFormatter();
            var timeSpanFormatter = new DefaultTimeSpanFormatter();

            try
            {
                var resolver = GetStrategy(options.Strategy);
                var uptime   = new Uptime(resolver);

                dateFormatter.Format           = options.DateTimeFormat;
                dateFormatter.UniversalTime    = options.UseUtc;
                timeSpanFormatter.CustomFormat = options.TimeSpanFormat;
                timeSpanFormatter.Compact      = options.Compact;

                if (options.ShowBootTimeOnly)
                {
                    dateFormatter.WriteLine(uptime.LastBoot, Console.Out);
                    return;
                }

                if (options.ShowOnTimeOnly)
                {
                    timeSpanFormatter.WriteLine(uptime.UptimeSpan, Console.Out);
                    return;
                }

                Console.Write("Boot Time:    ");
                dateFormatter.WriteLine(uptime.LastBoot, Console.Out);
                Console.Write("Current Time: ");
                dateFormatter.WriteLine(uptime.Now, Console.Out);
                Console.Write("Up Time:      ");
                timeSpanFormatter.WriteLine(uptime.UptimeSpan, Console.Out);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.Message);
                parser.WriteUsage();
            }
        }
Beispiel #3
0
        private static void Main(string[] args)
        {
            var parser = new OptionParser <Options>();

            if (!parser.TryParse(args, out var options))
            {
                return;
            }

            try
            {
                var provider = new CultureInfo(options.CultureTwoLetterCode);

                var formatter = new DefaultDateTimeFormatter(formatProvider: provider);

                if (options.ShowExamples)
                {
                    new ExampleWriter(formatter).WriteExamples();
                    return;
                }

                if (options.Extra.Count > 1)
                {
                    throw new InvalidOperationException($"unexpected count of arguments: {options.Extra.ToSeparatedString()}");
                }

                if (options.Extra.Count != 0)
                {
                    formatter.Format = options.Extra[0];
                }

                formatter.UniversalTime = options.UseUtc;
                formatter.WriteLine(Console.Out);
            }
            catch (Exception e)
            {
                Console.Error.WriteLine(e.Message);
                parser.WriteUsage();
            }
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            var parser = new OptionParser <Options>();

            if (!parser.TryParse(args, out var options))
            {
                return;
            }

            var versions = new MsBuildVersions();

            if (options.ListInstallations)
            {
                // print all installed msbuild  versions to stdout
                foreach (var info in versions.All)
                {
                    var v    = info.Version;
                    var path = info.FilePath;
                    Console.WriteLine($"  {v.Major,2}.{v.Minor,-2} {info.Arch}  {path}");
                }
                return;
            }

            if (options.Extra.Count == 0)
            {
                Console.WriteLine("please specify a .NET solution or project to build");
                return;
            }

            var projectsAndSolutions = options.Extra.Select(i => $"\"{i}\"").ToSeparatedString(" ");
            var configuration        = options.DebugBuild ? "/p:Configuration=Debug" : "/p:Configuration=Release";
            var latest = versions.Latest;

            new CliRunner(latest.FilePath, $"{configuration} {projectsAndSolutions}")
            .Redirect(Console.Out);
        }
Beispiel #5
0
        public void TryParse_GivenValueCanNotBeParsed_ReturnsFalse()
        {
            Given_ValueCanNotBeParsed();

            Assert.That(_parser.TryParse(_value, out _byteEnum), Is.False);
        }