示例#1
0
    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."
                );
        }
示例#3
0
        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
                );
        }