public MsBuildTaskFixtureResult <T> Execute <T>(T task) where T : GitVersionTaskBase
        {
            return(UsingEnv(() =>
            {
                var buildEngine = new MockEngine();

                task.BuildEngine = buildEngine;

                var versionFile = Path.Combine(task.SolutionDirectory, "gitversion.json");
                fixture.WriteVersionVariables(versionFile);

                task.VersionFile = versionFile;

                var result = task.Execute();

                return new MsBuildTaskFixtureResult <T>(fixture)
                {
                    Success = result,
                    Task = task,
                    Errors = buildEngine.Errors,
                    Warnings = buildEngine.Warnings,
                    Messages = buildEngine.Messages,
                    Log = buildEngine.Log,
                };
            }));
        }
Пример #2
0
        public MsBuildExeFixture(RepositoryFixtureBase fixture, string workingDirectory = "")
        {
            this.fixture = fixture;
            ProjectPath  = Path.Combine(workingDirectory, "app.csproj");

            var versionFile = Path.Combine(workingDirectory, "gitversion.json");

            fixture.WriteVersionVariables(versionFile);
        }