public void PerformUpdate(string fl, FileUpdateType fut) { string versonToWrite = cv.GetVersionString(cv.GetDisplayType(fut)); Bilge.VerboseLog($"Perform update requested {versonToWrite} using {fut.ToString()}", fl); switch (fut) { case FileUpdateType.Assembly4: case FileUpdateType.Assembly2: UpdateCSFileWithAttribute(fl, ASMFILE_VER_TAG, versonToWrite); break; case FileUpdateType.AssemblyInformational: UpdateCSFileWithAttribute(fl, ASMFILE_INFVER_TAG, versonToWrite); break; case FileUpdateType.AssemblyFile: UpdateCSFileWithAttribute(fl, ASMFILE_FILEVER_TAG, versonToWrite); break; case FileUpdateType.Wix: Bilge.Log("Wix Updates NOT SUPPORTED"); break; default: break; } }
public DisplayType GetDisplayType(FileUpdateType fut, DisplayType dt = DisplayType.Default) { if (dt != DisplayType.Default) { return(dt); } return(DisplayTypes[fut]); }
public void SetMiniMatches(FileUpdateType target, params string[] versionTargetMinMatch) { if (!fileUpdateMinmatchers.ContainsKey(target)) { fileUpdateMinmatchers.Add(target, new List <string>()); } fileUpdateMinmatchers[target].AddRange(versionTargetMinMatch); }
public void AddUpdateType(string minmatchPattern, FileUpdateType updateToPerform) { b.Verbose.Log("Adding Update Type " + minmatchPattern); if (!pendingUpdates.ContainsKey(minmatchPattern)) { pendingUpdates.Add(minmatchPattern, new List <FileUpdateType>()); } pendingUpdates[minmatchPattern].Add(updateToPerform); }
private static int ValidateFileUpdateType(FileUpdateType fut) { int fai = (int)fut; #if DEBUG if (fai < 0 || fai > NUMBERDISPLAYTYPES - 1) { throw new ArgumentOutOfRangeException("fut", $"The value {fut},{fai} for fut does not map to a known type."); } #endif return(fai); }
public void PerformUpdate(string fl, FileUpdateType fut, DisplayType dt = DisplayType.Default) { b.Verbose.Log("Perform update requested " + fut.ToString(), fl); if (!File.Exists(fl)) { throw new FileNotFoundException($"Filename must be present for version update {fl}"); } var dtx = cv.GetDisplayType(fut, dt); string versonToWrite = cv.GetVersionString(dtx); switch (fut) { case FileUpdateType.NetAssembly: UpdateCSFileWithAttribute(fl, ASMFILE_VER_TAG, versonToWrite); break; case FileUpdateType.NetInformational: UpdateCSFileWithAttribute(fl, ASMFILE_INFVER_TAG, versonToWrite); break; case FileUpdateType.NetFile: UpdateCSFileWithAttribute(fl, ASMFILE_FILEVER_TAG, versonToWrite); break; case FileUpdateType.Wix: UpdateWixFile(fl, versonToWrite); break; case FileUpdateType.Nuspec: UpdateNuspecFile(fl, versonToWrite); break; case FileUpdateType.StdAssembly: UpdateStdCSPRoj(fl, versonToWrite, ASM_STD_ASMVTAG); break; case FileUpdateType.StdFile: UpdateStdCSPRoj(fl, versonToWrite, ASM_STD_FILETAG); break; case FileUpdateType.StdInformational: UpdateStdCSPRoj(fl, versonToWrite, ASM_STD_VERSTAG); break; case FileUpdateType.TextFile: UpdateLiteralReplacer(fl, cv, dtx); break; default: throw new NotImplementedException("The file type requested does not have a way to update files currently."); } }
public DisplayType GetDisplayType(FileUpdateType fut) { int fai = ValidateFileUpdateType(fut); /* * Bilge.Log($"{0} >> {displayTypes[0]} >> {displayTypes[(int)FileUpdateType.Assembly4]}"); * Bilge.Log($"{1} >> {displayTypes[1]} >> {displayTypes[(int)FileUpdateType.AssemblyInformational]}"); * Bilge.Log($"{2} >> {displayTypes[2]} >> {displayTypes[(int)FileUpdateType.AssemblyFile]}"); * Bilge.Log($"{3} >> {displayTypes[3]} >> {displayTypes[(int)FileUpdateType.Wix]}"); * Bilge.Log($"{4} >> {displayTypes[4]} >> {displayTypes[(int)FileUpdateType.Assembly2]}"); * Bilge.Log("Done"); * Bilge.Log($"Getting {fai}"); */ return(displayTypes[fai]); }
public void SetAllVersioningItems(string verItemsSimple) { b.Info.Log("SetAllVersioningITems"); if (verItemsSimple.Contains(Environment.NewLine)) { // The TFS build agent uses \n not Environment.Newline for its line separator, however unit tests use Environment.Newline // so replacing them with \n to make the two consistant. verItemsSimple = verItemsSimple.Replace(Environment.NewLine, "\n"); } string[] allLines = verItemsSimple.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries); foreach (var ln in allLines) { string[] parts = ln.Split('!'); if (parts.Length != 2) { throw new InvalidOperationException($"The versioning item string was in the wrong format [{ln}] "); } FileUpdateType ft = GetFileTypeFromString(parts[1]); AddUpdateType(parts[0], ft); } }
public string GetVersion(FileUpdateType fut, string srcFile) { switch (fut) { case FileUpdateType.Nuspec: return(GetVersionFromNuspec(srcFile)); case FileUpdateType.StdAssembly: return(GetVersionFromCSProj(srcFile, "AssemblyVersion")); case FileUpdateType.StdInformational: return(GetVersionFromCSProj(srcFile, "Version")); case FileUpdateType.StdFile: return(GetVersionFromCSProj(srcFile, "FileVersion")); } // case FileUpdateType.Wix: // break; //default: // break; // case FileUpdateType.Assembly: // break; //case FileUpdateType.AssemblyInformational: // break; //case FileUpdateType.AssemblyFile: // break; throw new NotImplementedException(); }
public void SetDisplayTypeForVersion(FileUpdateType fut, DisplayType dt) { int vfut = ValidateFileUpdateType(fut); displayTypes[vfut] = dt; }
public void SetDisplayTypeForVersion(FileUpdateType fut, DisplayType dt) { DisplayTypes[fut] = dt; }
public RestoredFileData(String sourcePath, String path, Int64 size, FileUpdateType updateType) : base(path, size) { SourcePath = sourcePath; UpdateType = updateType; }