public void Execute_NoProjectFile_ShouldLookupProjectFileInWorkDirectory() { var workDirectory = new DirectoryStub("Src") { new DirectoryStub("DotNet") { new DirectoryStub("Build"), new FileStub("Rosalia.sln") }, new DirectoryStub("Artifacts"), new DirectoryStub("Scripts") }; var task = new MsBuildTask { ToolPath = "myMsBuild" }; task.AssertCommand( workDirectory["DotNet"]["Build"], (msBuildPath, msBuildArguments) => { Assert.That(msBuildArguments.Trim(), Is.EqualTo("Src\\DotNet\\Rosalia.sln")); }); }
public void PopulateFromConfiguration() { const string xml = @"<msbuild> <executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\MSBuild.exe</executable> <workingDirectory>C:\dev\ccnet</workingDirectory> <projectFile>CCNet.sln</projectFile> <buildArgs>/p:Configuration=Debug /v:diag</buildArgs> <targets>Build;Test</targets> <timeout>15</timeout> <logger>Kobush.Build.Logging.XmlLogger,Kobush.MSBuild.dll</logger> <loggerParameters> <loggerParameter>buildresult.xml</loggerParameter> <loggerParameter>someField=true</loggerParameter> </loggerParameters> <priority>BelowNormal</priority> </msbuild>"; task = (MsBuildTask)NetReflector.Read(xml); Assert.AreEqual(@"C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\MSBuild.exe", task.Executable); Assert.AreEqual(@"C:\dev\ccnet", task.WorkingDirectory); Assert.AreEqual("CCNet.sln", task.ProjectFile); Assert.AreEqual("Build;Test", task.Targets); Assert.AreEqual("/p:Configuration=Debug /v:diag", task.BuildArgs); Assert.AreEqual(15, task.Timeout); Assert.AreEqual("Kobush.Build.Logging.XmlLogger,Kobush.MSBuild.dll", task.Logger); Assert.AreEqual(2, task.LoggerParameters.Length); Assert.AreEqual("buildresult.xml", task.LoggerParameters[0]); Assert.AreEqual("someField=true", task.LoggerParameters[1]); Assert.AreEqual(ProcessPriorityClass.BelowNormal, task.Priority); }
public void PopulateFromMinimalConfiguration() { task = (MsBuildTask)NetReflector.Read("<msbuild />"); Assert.AreEqual(defaultExecutable, task.Executable); Assert.AreEqual(MsBuildTask.DefaultTimeout, task.Timeout); Assert.AreEqual(null, task.Logger); }
protected override async Task <MsBuildTask> AssignUpsertedReferences(MsBuildTask record) { record.Element = await _strings.UpsertAsync(record.Element); record.ElementId = record.Element?.AsciiStringReferenceId ?? record.ElementId; record.MsBuildTaskAttributeList = await _attributes.UpsertAsync(record.MsBuildTaskAttributeList); record.MsBuildTaskAttributeListId = record.MsBuildTaskAttributeList?.MsBuildTaskAttributeListId ?? record.MsBuildTaskAttributeListId; return(record); }
public void ApplyTo() { MsBuildTask testTask = new MsBuildTask(); DirectDynamicValue value = new DirectDynamicValue("newDir", "workingDirectory"); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("newDir", "a location"); value.ApplyTo(testTask, parameters, null); Assert.AreEqual("a location", testTask.WorkingDirectory, "Value has not been correctly set"); }
public void ApplyTo() { MsBuildTask testTask = new MsBuildTask(); ReplacementDynamicValue value = new ReplacementDynamicValue("{0}\\Happy - {1}", "workingDirectory", new NameValuePair("newDir", null), new NameValuePair("oldDir", "default")); Dictionary <string, string> parameters = new Dictionary <string, string>(); parameters.Add("newDir", "a location"); value.ApplyTo(testTask, parameters, null); Assert.AreEqual("a location\\Happy - default", testTask.WorkingDirectory, "Value has not been correctly set"); }
public void Execute_HasProjectFile_ShouldGenerateCommandLine() { var task = new MsBuildTask { ToolPath = "myMsBuild", ProjectFile = new DefaultFile("projectFile") }; task.AssertCommand((msBuildPath, msBuildArguments) => { Assert.That(msBuildArguments.Trim(), Is.EqualTo("projectFile")); }); }
public void TestDynamic() { dynamic d = new ExpandoObject(); d.DynProp = "Hello Dynamic!\n"; Console.WriteLine(d.DynProp); dynamic msb = new MsBuildTask("dummy.sln"); msb.Targets.Add("Rebuild"); msb.Properties.Configuration = "Release"; msb.Properties.WarningLevel = 0; msb.Properties.OutPUtPaTh = @"c:\build"; // msb.Build(); Console.WriteLine(msb); Console.WriteLine(msb.Properties.outputPath); }
public void PopulateFromConfigurationBogusLoggerParameters() { const string xml = @"<msbuild> <executable>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50215\MSBuild.exe</executable> <workingDirectory>C:\dev\ccnet</workingDirectory> <projectFile>CCNet.sln</projectFile> <buildArgs>/p:Configuration=Debug /v:diag</buildArgs> <targets>Build;Test</targets> <timeout>15</timeout> <logger>Kobush.Build.Logging.XmlLogger,Kobush.MSBuild.dll;buildresult.xml</logger> <priority>BelowNormal</priority> </msbuild>"; Assert.That(delegate { task = (MsBuildTask)NetReflector.Read(xml); }, Throws.TypeOf <NetReflectorException>()); ; }
public void Build() { var asmInfo = new AssemblyInfoTask(AsmInfoDir); asmInfo.SetBuildNumber(shake.CommandLine.Properties.BuildNumber ?? 0); asmInfo.Save(); AsmVer = asmInfo.AssemblyVersion; Console.WriteLine("Building {0} ...", AsmVer); dynamic msb = new MsBuildTask(Solution); msb.Properties.OutputPath = BuildDir; msb.Properties.Configuration = shake.CommandLine.Properties.Configuration; msb.Properties.WarningLevel = 0; msb.Properties.DebugType = "none"; msb.Targets.Add("Rebuild"); msb.Build(); }
protected void SetUp() { var shadowCopier = mocks.Create <IShadowCopier>().Object; Mock.Get(shadowCopier).Setup(_shadowCopier => _shadowCopier.RetrieveFilePath(defaultLogger)).Returns(defaultLogger); var executionEnvironment = mocks.Create <IExecutionEnvironment>().Object; Mock.Get(executionEnvironment).SetupGet(_executionEnvironment => _executionEnvironment.IsRunningOnWindows).Returns(true); Mock.Get(executionEnvironment).SetupGet(_executionEnvironment => _executionEnvironment.RuntimeDirectory).Returns(RuntimeEnvironment.GetRuntimeDirectory()); CreateProcessExecutorMock(Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "MSBuild.exe")); task = new MsBuildTask((ProcessExecutor)mockProcessExecutor.Object, executionEnvironment, shadowCopier); result = IntegrationResult(); result.Label = "1.0"; result.ArtifactDirectory = DefaultWorkingDirectory; logfile = Path.Combine(result.ArtifactDirectory, MsBuildTask.LogFilename); TempFileUtil.DeleteTempFile(logfile); }
protected void SetUp() { var shadowCopier = mocks.DynamicMock <IShadowCopier>(); SetupResult.For(shadowCopier.RetrieveFilePath(defaultLogger)).Return(defaultLogger); var executionEnvironment = mocks.DynamicMock <IExecutionEnvironment>(); SetupResult.For(executionEnvironment.IsRunningOnWindows).Return(true); SetupResult.For(executionEnvironment.RuntimeDirectory).Return(RuntimeEnvironment.GetRuntimeDirectory()); mocks.ReplayAll(); CreateProcessExecutorMock(Path.Combine(RuntimeEnvironment.GetRuntimeDirectory(), "MSBuild.exe")); task = new MsBuildTask((ProcessExecutor)mockProcessExecutor.MockInstance, executionEnvironment, shadowCopier); result = IntegrationResult(); result.Label = "1.0"; result.ArtifactDirectory = DefaultWorkingDirectory; logfile = Path.Combine(result.ArtifactDirectory, MsBuildTask.LogFilename); TempFileUtil.DeleteTempFile(logfile); }
public void Execute_NoProjectFileAndNoSolutionInWorkDirectory_ShouldLeaveProjectFileBlank() { var workDirectory = new DirectoryStub("Src") { new DirectoryStub("DotNet") { new DirectoryStub("Build"), }, new DirectoryStub("Artifacts"), new DirectoryStub("Scripts") }; var task = new MsBuildTask { ToolPath = "myMsBuild" }; task.AssertCommand( workDirectory["DotNet"]["Build"], (msBuildPath, msBuildArguments) => { Assert.That(msBuildArguments.Trim(), Is.Empty); }); }
public void BuildArgs_ShouldHandleFileType() { var s = new MsBuildTask().ProjectOrSolutionFilePath(new File(_projectOrSolutionFilePath)); s.AddSetFieldsToArgumentBuilder(); Assert.That(s._argumentBuilder.Build(), Is.EqualTo(_projectOrSolutionFilePath)); }
public void Setup() { _projectOrSolutionFilePath = "c:\\temp.sln"; _mockExecutor = MockRepository.GenerateStub<IActionExcecutor>(); _subject = new MsBuildTask(_mockExecutor).ProjectOrSolutionFilePath(_projectOrSolutionFilePath); }
protected override IEnumerable <object> EnumerateReferences(MsBuildTask record) { yield return(record.Element); yield return(record.MsBuildTaskAttributeList); }
public void Execute_ToolPathPrivided_ShouldUseToolPath() { var task = new MsBuildTask { ToolPath = "myMsBuild", ProjectFile = new DefaultFile("projectFile") }; task.AssertCommand( (msBuildPath, msBuildArguments) => { Assert.That(msBuildPath, Is.EqualTo("myMsBuild")); }); }
protected override Expression <Func <MsBuildTask, bool> > FindExisting(MsBuildTask record) => existing => existing.ElementId == record.ElementId && existing.MsBuildTaskAttributeListId == record.MsBuildTaskAttributeListId;
static void CheckAppSettings() { TfsTask.CheckExePath(); MsBuildTask.CheckExePath(); UnitTestRunner.CheckExePath(); }