protected virtual void ExpandDefaultValues(int noOfRuns, IList <ITokenDescription> tokens) { foreach (var tokenDescription in Manifest.Tokens.Where(t => !string.IsNullOrEmpty(t.Default) && !t.Default.Contains("$")).ToArray()) { if (Manifest.ReplacementTokens.ContainsKey(tokenDescription.Key)) { continue; } Manifest.ReplacementTokens.Add(tokenDescription.Key, tokenDescription.Default); } ReplaceTokensService = new ReplaceTokensService(Manifest.ReplacementTokens); foreach (var tokenDescription in Manifest.Tokens.Where(t => !string.IsNullOrEmpty(t.Default) && t.Default.Contains("$"))) { tokenDescription.Default = ReplaceTokensService.Replace(tokenDescription.Default); } if (!Manifest.Tokens.Any(t => t.Default.Contains("$")) || noOfRuns >= tokens.Count) { return; } noOfRuns++; ExpandDefaultValues(noOfRuns, tokens); }
public virtual void ReplaceTokens(object scopeResult) { var result = (FileTokenReplaceResult)scopeResult; result.FilePath = FilePath; if (!File.Exists(FilePath) || !CanModify(FilePath)) { result.Status = FileTokenReplacementStatus.Failed; _doneEvent.Set(); return; } if (FileTypeIsIgnored(FilePath)) { result.Status = FileTokenReplacementStatus.Skipped; _doneEvent.Set(); return; } var fileContent = File.ReadAllText(FilePath); var parsedContent = _tokensService.Replace(fileContent, out var replacementsCounter); File.WriteAllText(FilePath, parsedContent); result.ReplacementCounter = replacementsCounter; result.Status = FileTokenReplacementStatus.Success; _doneEvent.Set(); }
public virtual void ReplaceTokens(object threadContext) { if (!File.Exists(FilePath) || !CanModify(FilePath)) { Success = false; _doneEvent.Set(); return; } if (FileTypeIsIgnored(FilePath)) { Success = true; _doneEvent.Set(); return; } var fileContent = File.ReadAllText(FilePath); var parsedContent = _tokensService.Replace(fileContent, out IDictionary <string, int> replacementsCount); File.WriteAllText(FilePath, parsedContent); ReplacementCounter = replacementsCount; _doneEvent.Set(); }