Exemple #1
0
        public TestProjectFixture BuildProject(
            DotNetCli dotnet       = null,
            string runtime         = null,
            string framework       = null,
            string outputDirectory = null)
        {
            dotnet          = dotnet ?? _sdkDotnet;
            outputDirectory = outputDirectory ?? _testProject.OutputDirectory;
            _testProject.OutputDirectory = outputDirectory;
            framework  = framework ?? _framework;
            _framework = framework;

            var buildArgs = new List <string>();

            buildArgs.Add("--no-restore");

            if (runtime != null)
            {
                buildArgs.Add("--runtime");
                buildArgs.Add(runtime);
            }

            if (framework != null)
            {
                buildArgs.Add("--framework");
                buildArgs.Add(framework);
            }

            buildArgs.Add($"/p:MNAVersion={_repoDirectoriesProvider.MicrosoftNETCoreAppVersion}");

            if (outputDirectory != null)
            {
                buildArgs.Add("-o");
                buildArgs.Add(outputDirectory);
            }

            dotnet.Build(buildArgs.ToArray())
            .WorkingDirectory(_testProject.ProjectDirectory)
            .Environment("NUGET_PACKAGES", _repoDirectoriesProvider.NugetPackages)
            .Environment("VERSION", "")     // Generate with package version 1.0.0, not %VERSION%
            .CaptureStdErr()
            .CaptureStdOut()
            .Execute()
            .EnsureSuccessful();

            _testProject.LoadOutputFiles();

            return(this);
        }
Exemple #2
0
        public TestProjectFixture PublishProject(
            DotNetCli dotnet       = null,
            string runtime         = null,
            string framework       = null,
            string selfContained   = null,
            string outputDirectory = null)
        {
            dotnet                      = dotnet ?? SdkDotnet;
            outputDirectory             = outputDirectory ?? TestProject.OutputDirectory;
            TestProject.OutputDirectory = outputDirectory;
            framework                   = framework ?? Framework;
            Framework                   = framework;

            var publishArgs = new List <string>
            {
                "--no-restore",
                "/bl:PublishProject.binlog"
            };

            if (runtime != null)
            {
                publishArgs.Add("--runtime");
                publishArgs.Add(runtime);
            }

            if (framework != null)
            {
                publishArgs.Add("--framework");
                publishArgs.Add(framework);
                publishArgs.Add($"/p:NETCoreAppFramework={framework}");
            }

            if (selfContained != null)
            {
                publishArgs.Add("--self-contained");
                publishArgs.Add(selfContained);
            }

            if (outputDirectory != null)
            {
                publishArgs.Add("-o");
                publishArgs.Add(outputDirectory);
            }

            publishArgs.Add($"/p:TestTargetRid={RepoDirProvider.TargetRID}");
            publishArgs.Add($"/p:MNAVersion={RepoDirProvider.MicrosoftNETCoreAppVersion}");

            dotnet.Publish(publishArgs.ToArray())
            .WorkingDirectory(TestProject.ProjectDirectory)
            .Environment("NUGET_PACKAGES", RepoDirProvider.NugetPackages)
            .CaptureStdErr()
            .CaptureStdOut()
            .Execute()
            .EnsureSuccessful();

            TestProject.LoadOutputFiles();

            return(this);
        }
Exemple #3
0
        public TestProjectFixture BuildProject(
            DotNetCli dotnet       = null,
            string runtime         = null,
            string framework       = null,
            string outputDirectory = null)
        {
            dotnet          = dotnet ?? _sdkDotnet;
            outputDirectory = outputDirectory ?? _testProject.OutputDirectory;
            _testProject.OutputDirectory = outputDirectory;
            framework  = framework ?? _framework;
            _framework = framework;

            var buildArgs = new List <string>();

            if (runtime != null)
            {
                buildArgs.Add("--runtime");
                buildArgs.Add(runtime);
            }

            if (framework != null)
            {
                buildArgs.Add("--framework");
                buildArgs.Add(framework);
            }

            if (outputDirectory != null)
            {
                buildArgs.Add("-o");
                buildArgs.Add(outputDirectory);
            }

            dotnet.Build(buildArgs.ToArray())
            .WorkingDirectory(_testProject.ProjectDirectory)
            .Environment("NUGET_PACKAGES", _repoDirectoriesProvider.NugetPackages)
            .CaptureStdErr()
            .CaptureStdOut()
            .Execute()
            .EnsureSuccessful();

            _testProject.LoadOutputFiles();

            return(this);
        }
Exemple #4
0
        public TestProjectFixture StoreProject(
            DotNetCli dotnet       = null,
            string runtime         = null,
            string framework       = null,
            string manifest        = null,
            string outputDirectory = null)
        {
            dotnet          = dotnet ?? SdkDotnet;
            outputDirectory = outputDirectory ?? TestProject.OutputDirectory;
            framework       = framework ?? Framework;
            Framework       = framework;

            var storeArgs = new List <string>
            {
                "--runtime"
            };

            if (runtime != null)
            {
                storeArgs.Add(runtime);
            }
            else
            {
                storeArgs.Add(CurrentRid);
            }

            if (framework != null)
            {
                storeArgs.Add("--framework");
                storeArgs.Add(framework);
            }

            storeArgs.Add("--manifest");
            if (manifest != null)
            {
                storeArgs.Add(manifest);
            }
            else
            {
                storeArgs.Add(_sourceTestProject.ProjectFile);
            }

            if (outputDirectory != null)
            {
                storeArgs.Add("-o");
                storeArgs.Add(outputDirectory);
            }

            storeArgs.Add($"/p:MNAVersion={RepoDirProvider.MicrosoftNETCoreAppVersion}");
            storeArgs.Add($"/p:NetCoreAppCurrent={Framework}");

            // Ensure the project's OutputType isn't 'Exe', since that causes issues with 'dotnet store'
            storeArgs.Add("/p:OutputType=Library");

            dotnet.Store(storeArgs.ToArray())
            .WorkingDirectory(TestProject.ProjectDirectory)
            .Environment("NUGET_PACKAGES", RepoDirProvider.NugetPackages)
            .CaptureStdErr()
            .CaptureStdOut()
            .Execute()
            .EnsureSuccessful();

            TestProject.LoadOutputFiles();

            return(this);
        }