Exemple #1
0
        /// <summary>
        /// Gets the incrementors.
        /// </summary>
        /// <returns>An array containing the incrementors</returns>
        public BaseIncrementor[] GetIncrementors()
        {
            BaseIncrementor[] ret = new BaseIncrementor[Count];

            _incrementors.Values.CopyTo(ret, 0);

            return(ret);
        }
        public void AddFrom(Assembly asm)
        {
            Logger.Write("Locating incrementors in assembly \"" + asm.FullName + "\" ...", LogLevel.Debug);
            List <Type> typesThatDeriveFromType = ReflectionHelper.GetTypesThatDeriveFromType(asm, typeof(BaseIncrementor), false, false);

            Logger.Write("Located " + typesThatDeriveFromType.Count + " incrementors.", LogLevel.Debug);
            foreach (Type current in typesThatDeriveFromType)
            {
                if (current != typeof(BuiltInBaseIncrementor.NoneIncrementor))
                {
                    Logger.Write("Creating instance of incrementor type \"" + current.FullName + "\".", LogLevel.Info);
                    BaseIncrementor baseIncrementor = (BaseIncrementor)Activator.CreateInstance(current);
                    this._incrementors.Add(baseIncrementor.Name, baseIncrementor);
                }
            }
        }
Exemple #3
0
        /// <summary>
        /// Locates BaseIncrementors in the given assembly and add them to the collection.
        /// </summary>
        /// <param name="asm">The assembly.</param>
        public void AddFrom(Assembly asm)
        {
            Logger.Write("Locating incrementors in assembly \"" + asm.FullName + "\" ...", LogLevel.Debug);
            List <Type> types = ReflectionHelper.GetTypesThatDeriveFromType(asm, typeof(BaseIncrementor), false, false);

            Logger.Write("Located " + types.Count + " incrementors.", LogLevel.Debug);

            foreach (Type t in types)
            {
                if (t == typeof(BuiltInBaseIncrementor.NoneIncrementor)) // Don't add the null incrementor; this is done in the constructor.
                {
                    continue;
                }

                Logger.Write("Creating instance of incrementor type \"" + t.FullName + "\".", LogLevel.Info);
                BaseIncrementor incrementor = (BaseIncrementor)Activator.CreateInstance(t);

                _incrementors.Add(incrementor.Name, incrementor);
            }
        }
 internal StringVersion Increment(StringVersion currentVersion, DateTime buildStartDate, DateTime projectStartDate, SolutionItem solutionItem)
 {
     IncrementContext incrementContext = new IncrementContext(currentVersion, buildStartDate, projectStartDate, solutionItem.Filename);
     BaseIncrementor[] array = new BaseIncrementor[]
     {
         this.Major,
         this.Minor,
         this.Build,
         this.Revision
     };
     for (int i = 0; i < 4; i++)
     {
         BaseIncrementor baseIncrementor = array[i];
         if (baseIncrementor != null)
         {
             VersionComponent versionComponent = (VersionComponent)i;
             baseIncrementor.Increment(incrementContext, versionComponent);
             if (!incrementContext.Continue)
             {
                 break;
             }
         }
     }
     return incrementContext.NewVersion;
 }
 internal void FromOldIncrementStyle(OLD_IncrementStyle major, OLD_IncrementStyle minor, OLD_IncrementStyle build, OLD_IncrementStyle revision)
 {
     this.Major = BuildVersionIncrementor.Instance.Incrementors[major];
     this.Minor = BuildVersionIncrementor.Instance.Incrementors[minor];
     this.Build = BuildVersionIncrementor.Instance.Incrementors[build];
     this.Revision = BuildVersionIncrementor.Instance.Incrementors[revision];
 }
 internal void FromGlobalVariable(string value)
 {
     if (!string.IsNullOrEmpty(value))
     {
         if (value.Contains("."))
         {
             string[] array = value.Split(".".ToCharArray());
             if (array.Length != 4)
             {
                 throw new ApplicationException("Invalid versioning style \"" + value + "\".");
             }
             this.Major = BuildVersionIncrementor.Instance.Incrementors[array[0]];
             this.Minor = BuildVersionIncrementor.Instance.Incrementors[array[1]];
             this.Build = BuildVersionIncrementor.Instance.Incrementors[array[2]];
             this.Revision = BuildVersionIncrementor.Instance.Incrementors[array[3]];
         }
         else
         {
             OLD_BuildVersioningStyleType oLD_BuildVersioningStyleType = (OLD_BuildVersioningStyleType)Enum.Parse(typeof(OLD_BuildVersioningStyleType), value);
             OLD_IncrementStyle major = OLD_IncrementStyle.None;
             OLD_IncrementStyle minor = OLD_IncrementStyle.None;
             OLD_IncrementStyle revision = OLD_IncrementStyle.None;
             OLD_IncrementStyle build;
             switch (oLD_BuildVersioningStyleType)
             {
             case OLD_BuildVersioningStyleType.DeltaBaseDate:
                 build = OLD_IncrementStyle.DeltaBaseDate;
                 revision = OLD_IncrementStyle.TimeStamp;
                 break;
             case OLD_BuildVersioningStyleType.YearDayOfYear_Timestamp:
                 build = OLD_IncrementStyle.YearDayOfYear;
                 revision = OLD_IncrementStyle.TimeStamp;
                 break;
             case OLD_BuildVersioningStyleType.DeltaBaseYear:
                 build = OLD_IncrementStyle.DeltaBaseYearDayOfYear;
                 revision = OLD_IncrementStyle.TimeStamp;
                 break;
             case OLD_BuildVersioningStyleType.YearDayOfYear_AutoIncrement:
                 build = OLD_IncrementStyle.YearDayOfYear;
                 revision = OLD_IncrementStyle.Increment;
                 break;
             case OLD_BuildVersioningStyleType.AutoIncrementBuildVersion:
                 build = OLD_IncrementStyle.Increment;
                 break;
             default:
                 throw new ApplicationException("Unknown (old) versioning type: " + oLD_BuildVersioningStyleType.ToString());
             }
             this.FromOldIncrementStyle(major, minor, build, revision);
         }
     }
     else
     {
         this.Major = (this.Minor = (this.Build = (this.Revision = null)));
     }
 }
 public BaseIncrementor[] GetIncrementors()
 {
     BaseIncrementor[] array = new BaseIncrementor[this.Count];
     this._incrementors.Values.CopyTo(array, 0);
     return(array);
 }
 public BaseIncrementor[] GetIncrementors()
 {
     BaseIncrementor[] array = new BaseIncrementor[this.Count];
     this._incrementors.Values.CopyTo(array, 0);
     return array;
 }