Пример #1
0
        public static async Task Run(string[] args)
        {
            v = AssemblyExtras.GetCallingAssemblyInfo();
            var n = v.GetAppString();

            Console.Title = n;

            hWnd = FindWindow(null, n); //put your console window caption here
            ShowWindow(hWnd, (int)Controller.Operation.Hide);

            if (args.Length < 2 || args.Length > 4 || (args.Length == 1 && args[0].Equals("/?")))
            {
                printInstructions(true);
                await Licensing.UpdateConsole(HelpString, OtherText);

                KeyboardAndClose();
            }
            else
            {
                int    num  = 0;
                String path = "";
                var    op   = Operation.None;

                bool quote = false;
                foreach (var s in args)
                {
                    if (num == 0)
                    {
                        path = s;
                        var count = path.Count(ss => ss == '\"');
                        if (count == 1)
                        {
                            quote = true;
                        }
                    }
                    else
                    {
                        if (quote)
                        {
                            path += s;
                            if (path.Contains("\""))
                            {
                                quote = false;
                            }
                            continue;
                        }

                        var sl = s.ToLower();

                        switch (sl)
                        {
                        case "/min":
                            op = Operation.Min;
                            break;

                        case "/max":
                            op = Operation.Max;
                            break;

                        case "/normal":
                            op = Operation.Normal;
                            break;

                        case "/close":
                            op = Operation.Close;
                            break;
                        }
                    }

                    num++;
                }

                if (path.Length == 0)
                {
                    printErrorMessage("No Path Supplied");
                }
                if (op == Operation.None)
                {
                    printErrorMessage("Provide either min or max flag");
                }
                //get file to run
                //String sss = "start " + '"' + path + '"';
                String    sss             = " " + path;
                var       proc            = ExecuteCommandSync(sss);
                bool      performed       = false;
                const int maxtimeouts     = 10000;
                int       timeout         = 0;
                const int timeoutinterval = 1000;

                //Thread.Sleep(4000);

                while (performed == false)
                {
                    if (op == Operation.Close)
                    {
                        CloseWindow(proc.MainWindowHandle);
                        performed = true;
                        continue;
                    }
                    //min
                    var a = ShowWindow(proc.MainWindowHandle, (int)Operation.Min);
                    // Console.WriteLine("a="+a.ToString());
                    //max
                    var b = ShowWindow(proc.MainWindowHandle, (int)Operation.Max);
                    //Console.WriteLine("b=" + b.ToString());
                    //then perform user sizing
                    var c = ShowWindow(proc.MainWindowHandle, (int)op);
                    //Console.WriteLine("c=" + c.ToString());

                    if (c)
                    {
                        performed = true;
                    }
                    Thread.Sleep(timeoutinterval);
                    timeout += timeoutinterval;
                    if (timeout >= maxtimeouts)
                    {
                        return;
                    }
                }
            }
        }
Пример #2
0
        public static async Task Run(string[] args)
        {
            v = AssemblyExtras.GetEntryAssemblyInfo();
            var n = v.GetAppString();

            Console.Title = n;

            bool error = false;

            //parse args
            var packagename = "";
            var filetype    = "";
            var version     = "";
            var startpath   = "";

            try
            {
                for (int ai = 0; ai < args.Length; ai += 2)
                {
                    var index = args[ai];
                    var value = args[ai + 1];

                    if (index == "-n")
                    {
                        packagename = value;
                    }
                    else if (index == "-t")
                    {
                        filetype = "*." + value;
                    }
                    else if (index == "-v")
                    {
                        version = value;
                    }
                    else if (index == "-p")
                    {
                        startpath = value;
                    }
                }
            }
            catch (Exception e)
            {
                error = true;
            }

            if (string.IsNullOrEmpty(version))
            {
                version = null;
            }

            if (string.IsNullOrEmpty(filetype))
            {
                filetype = "*.csproj";
            }
            else
            {
                if (filetype.StartsWith("*.") == false)
                {
                    filetype = "*." + filetype;
                }
            }

            if (string.IsNullOrEmpty(packagename))
            {
                error = true;
            }

            if (string.IsNullOrEmpty(startpath))
            {
                startpath = null;
            }

            System.Reflection.Assembly assembly = System.Reflection.Assembly.GetExecutingAssembly();
            FileVersionInfo            fvi      = FileVersionInfo.GetVersionInfo(assembly.Location);
            string aversion = fvi.FileVersion;

            if (args.Length == 0 || error)
            {
                Console.WriteLine("\r\nNugetPackageUpdater V" + aversion + "\n");
                Console.WriteLine("Args: NugetPackageUpdater.exe");
                Console.WriteLine("-n PackageName (eg Antlr)");
                Console.WriteLine("[-t FileType (default: csproj)]");
                Console.WriteLine("[-v Version (default: newest from nuget)]");
                Console.WriteLine("[-p Start Path (default: current directory)]");
                if (await Licensing.IsUpdateConsoleRequired(HelpString, OtherText) == false)
                {
                    KeyboardAndClose();
                }
            }

            Console.WriteLine("\r\nNugetPackageUpdater V" + aversion + "\n");

            try
            {
                NugetRepos = NugetHelpers.GetLocalNugetRepos();
                ProjectFileChanges(filetype, packagename, version, startpath);
                PackagesChanges(packagename, version, startpath);
            }
            catch (Exception ex)
            {
                l.Error(ex, "Error occured:" + ex);
            }
        }