public void WhenNoLogoSpecifiedTheSwitchIsPassedToMsBuild() { var properties = new MsBuildProperties { NoLogo = true }; _msBuildRunner.Run(properties); _processRunner.Received() .RunProcess(Arg.Is <ProcessProperties>(pp => pp.Arguments.Contains("/nologo"))); }
public void AllTargetsArePassedToMsBuildInCorrectFormat() { var properties = new MsBuildProperties { Targets = new[] { "Clean", "Compile" } }; _msBuildRunner.Run(properties); _processRunner.Received() .RunProcess(Arg.Is <ProcessProperties>(pp => new[] { "/target:Clean", "/target:Compile" }.IsSubsetOf(pp.Arguments))); }
public void AllArbitraryArgumentsArePassedToMsbuildAsIs() { var arbitraryArguments = new[] { "/arbArg1", "-arbArg2", "/arbArg3:someValue" }; var properties = new MsBuildProperties { ArbitraryArguments = arbitraryArguments }; _msBuildRunner.Run(properties); _processRunner.Received() .RunProcess(Arg.Is <ProcessProperties>(pp => arbitraryArguments.IsSubsetOf(pp.Arguments))); }
public void ProjectNameShoudBeLastArgumentToMsBuild() { var properties = new MsBuildProperties { Project = "the-project-name.csproj", ArbitraryArguments = new[] { "/arbArgument1", "/argArgument2" } }; _msBuildRunner.Run(properties); _processRunner.Received() .RunProcess(Arg.Is <ProcessProperties>(pp => pp.Arguments.Last().Equals("the-project-name.csproj"))); }
private IDictionary <string, string> GetParsedBuildProperties() { if (MsBuildProperties == null) { return(new Dictionary <string, string>()); } var keyValuePairs = MsBuildProperties.Split(','); var twoElementArrays = keyValuePairs.Select(kvp => kvp.Split('=')).ToList(); foreach (var errorKvp in twoElementArrays.Where(a => a.Length != 2)) { throw new ArgumentException(string.Format("Key value pair near {0} is formatted incorrectly", string.Join(",", errorKvp[0]))); } return(twoElementArrays.ToDictionary(kvp => kvp[0].Trim(), kvp => kvp[1].Trim())); }
private void AddMsBuildMacros(Dictionary <string, string> result) { var buildTool = SolutionToolset.GetBuildTool(); if (buildTool == null) { return; } var container = MsBuildProperties.Get(buildTool); if (container == null) { return; } foreach (string macro in container.GetKeys()) { string value = container.GetValues(macro).FirstOrDefault(); if (value == null) { continue; } result.Add(macro, value); } }
public MsBuildActionConfigurator(MsBuildProperties properties) { _msBuildProperties = properties; }