Exemple #1
0
        public void ReadFileTest()
        {
            var appInto = CoreUpdaterInfo.ReadFile(@"TestData\CoreUpdaterInfoTest.json");

            Assert.Equal("MakePdf", appInto.Name);
            Assert.Equal("1.0.0", appInto.Version);
        }
Exemple #2
0
        static int Main(string[] args)
        {
            var assembly = Assembly.GetExecutingAssembly();
            var fvi      = FileVersionInfo.GetVersionInfo(assembly.Location);

            var name                         = assembly.GetName().Name;
            var assemblyName                 = Path.GetFileName(assembly.Location);
            var assemblyVersion              = assembly.GetName().Version.ToString();
            var assemblyFileVersion          = fvi.FileVersion;
            var assemblyInformationalVersion = fvi.ProductVersion;

            System.Console.WriteLine($"{name} {assemblyInformationalVersion}");

            // Analyze program arguments
            var cla = new CommandLineApplication(throwOnUnexpectedArg: false)
            {
                // Application name
                Name        = name,
                Description = "Create CoreUpdaterInfo.json for CoreUpdater.",
            };

            cla.HelpOption("-?|-h|--help");

            var targetDir        = cla.Option("-d|--dir", "Target directory", CommandOptionType.SingleValue);
            var targetAppName    = cla.Option("-n|--name", "Application name.", CommandOptionType.SingleValue);
            var targetAppVersion = cla.Option("-v|--version", "Application version.", CommandOptionType.SingleValue);
            var outputFilename   = cla.Option("-o|--output", "Output file name (Option). Default is CoreUpdaterInfo.json", CommandOptionType.SingleValue);

            // Default behavior
            cla.OnExecute(() =>
            {
                if (targetDir.HasValue() == false || targetAppName.HasValue() == false || targetAppVersion.HasValue() == false)
                {
                    cla.ShowHelp();
                    return(0);
                }

                var files   = Directory.GetFiles(targetDir.Value(), "*", SearchOption.AllDirectories);
                var appInfo = new CoreUpdaterInfo()
                {
                    Name    = targetAppName.Value(),
                    Version = targetAppVersion.Value()
                };
                appInfo.AddFileInfo(targetDir.Value(), files);
                appInfo.WriteFile(targetDir.Value(), outputFilename.Value() ?? "CoreUpdaterInfo.json");
                return(0);
            });

            // Execution
            try
            {
                return(cla.Execute(args));
            }
            catch (Exception e)
            {
                System.Console.Write(e.Message);
                return(1);
            }
        }
Exemple #3
0
        public void ReadStringTest()
        {
            var str     = "{  \"Name\": \"MakePdf\",  \"Version\": \"1.0.0\",  \"Files\": [    {      \"Name\": \"CoreUpdaterInfo.json\",      \"Hash\": \"79dc6187bd3081ecec2282469b21fbacbf9522a146cd26d81411eb3e5588d987\"    },    {      \"Name\": \"MakePdf.Core.dll\",      \"Hash\": \"c023099221415a38f62a5ed1ecd1a42e5dc88d6b240fb60e97da97ac4b5db3a4\"    }  ]}";
            var appInto = CoreUpdaterInfo.ReadString(str);

            Assert.Equal("MakePdf", appInto.Name);
            Assert.Equal("1.0.0", appInto.Version);
        }