Ejemplo n.º 1
0
        static void replaceVersion(VersionProp vp, Version oldVer, Version newVer, ref string fileContent)
        {
            string strOldVer = verToAsmVersion(oldVer);
            string strNewVer = verToAsmVersion(newVer);

            fileContent = fileContent.Replace(strOldVer, strNewVer);

            using (StreamWriter sw = new StreamWriter(vp.FilePath)
            {
                AutoFlush = true
            })
            {
                sw.Write(fileContent);
                sw.Close();
            }
        }
Ejemplo n.º 2
0
        static Version processVersion(VersionProp vp, Version v)
        {
            int rev   = v.Revision + vp.RevInc;
            int build = v.Build + vp.BuildInc;
            int minor = v.Minor;

            if (rev >= vp.RevMax)
            {
                rev = 0;
                build++;
            }
            if (build >= vp.BuildMax)
            {
                build = 0;
                minor++;
            }

            return(new Version(v.Major, minor, build, rev));
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            //Major Version
            //Minor Version
            //Build Number
            //Revision

            VersionProp vp = parseCommandLine(args);

            string  fileContent = getFileContent(vp.FilePath);
            string  asmVer      = getAsmVerString(fileContent);
            Version oldVer      = parseVersion(asmVer);

            if (oldVer == null)
            {
                Console.WriteLine("Unable to parse AssemblyVersion");
                Environment.Exit(0);
            }
            Version newVer = processVersion(vp, oldVer);

            replaceVersion(vp, oldVer, newVer, ref fileContent);

            Console.WriteLine(oldVer.ToString() + " -> " + newVer.ToString());
        }
Ejemplo n.º 4
0
        static VersionProp parseCommandLine(string[] args)
        {
            //-f filepath
            //-bm Build number max
            //-rm Revision number max
            //-ri Revision increment
            //-bi Build increment
            //-h help

            if (args.Count() == 0)
            {
                showHelp();
                Environment.Exit(0);
            }

            VersionProp vp = new VersionProp()
            {
                BuildInc = 0,
                BuildMax = 100,
                RevInc   = 1,
                RevMax   = 100
            };

            for (int i = 0; i < args.Count(); i++)
            {
                if (args[i] == "-f")
                {
                    if (File.Exists(args[i + 1]))
                    {
                        vp.FilePath = args[i + 1];
                        i++;
                    }
                    else
                    {
                        Console.WriteLine("File doesn't exist : " + args[i + 1]);
                        Environment.Exit(0);
                        break;
                    }
                }
                else if (args[i] == "-bm" || args[i] == "-rm" || args[i] == "-ri" || args[i] == "-bi")
                {
                    int m;
                    if (int.TryParse(args[i + 1], out m))
                    {
                        switch (args[i])
                        {
                        case "-bm":
                            vp.BuildMax = m;
                            break;

                        case "-rm":
                            vp.RevMax = m;
                            break;

                        case "-ri":
                            vp.RevInc = m;
                            break;

                        case "-bi":
                            vp.BuildInc = m;
                            break;
                        }
                        i++;
                    }
                    else
                    {
                        Console.WriteLine("Argument \"" + args[i] + " " + args[i + 1] + "\" is invalid.");
                        Environment.Exit(0);
                    }
                }
                else
                {
                    Console.WriteLine("Invalid argument \"" + args[i] + "\"");
                    Environment.Exit(0);
                }
            }
            return(vp);
        }