public override bool Run(string[] args) { Console.WriteLine(""); Console.WriteLine("Replacing text in files..."); Console.WriteLine(""); var replacer = new TextReplacer(); var commit = Arguments.ContainsAny("c", "commit"); var text = args[0]; var replacementText = args[1]; var patterns = new string[] { "*" }; // TODO: Should this be "**" to search sub directories? if (Arguments.ContainsAny("f", "files")) { patterns = Arguments["f", "files"].Split(';'); } replacer.ReplaceIn(CurrentDirectory, patterns, text, replacementText, commit); return(!IsError); }
public void ReplaceIn_DontCommit() { // Copy binary files over to test that they're skipped new FileCopier( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), WorkingDirectory ).Copy("*.dll"); var testFileName = Path.Combine(CurrentDirectory, "TestFolder/HelloWorld/TestFile.txt"); var testFileContent = "Hello World"; var searchText = "World"; var replacementText = "Universe"; DirectoryChecker.EnsureDirectoryExists(Path.GetDirectoryName(testFileName)); File.WriteAllText(testFileName, testFileContent); var replacer = new TextReplacer(); replacer.ReplaceIn(Path.Combine(CurrentDirectory, "TestFolder"), "**", searchText, replacementText, false); var newText = File.ReadAllText(testFileName); Assert.IsTrue(File.Exists(testFileName), "File name must have been changed when it shouldn't have."); Assert.IsFalse( newText.Contains(replacementText), "The replacement text was found when it shouldn't have been." ); }
public void UpdateSourceFiles(string id, string fromVersion, string toVersion) { var fromText = id + "." + fromVersion; var toText = id + "." + toVersion; var replacer = new TextReplacer(); replacer.ReplaceIn( Path.GetFullPath("src"), "**.cs", fromText, toText, true ); }