internal void Resolve(Resolver resolver) { resolver.SetParameter("conf", this); resolver.SetParameter("target", Target); resolver.Resolve(this); resolver.RemoveParameter("conf"); resolver.RemoveParameter("target"); Util.ResolvePath(Solution.SharpmakeCsPath, ref SolutionPath); if (Solution.IsFileNameToLower) { SolutionFileName = SolutionFileName.ToLower(); } }
public string ResolveString(string input, Configuration conf = null, ITarget target = null) { Resolver resolver = new Resolver(); resolver.SetParameter("solution", this); if (conf != null) { resolver.SetParameter("conf", conf); } if (target != null) { resolver.SetParameter("target", target); } return(resolver.Resolve(input)); }
internal void Resolve() { if (_resolved) { return; } Resolver resolver = new Resolver(); resolver.SetParameter("solution", this); resolver.Resolve(this); if (PerforceRootPath != null) { Util.ResolvePath(SharpmakeCsPath, ref _perforceRootPath); } foreach (Solution.Configuration conf in Configurations) { conf.Resolve(resolver); } foreach (var extraItemKey in ExtraItems.Keys.ToList()) { Strings values = new Strings(ExtraItems[extraItemKey]); foreach (string value in values) { string newValue = resolver.Resolve(value); values.UpdateValue(value, newValue); } ExtraItems[extraItemKey] = values; } _resolved = true; }
internal void Resolve() { if (_resolved) { return; } using (Builder.Instance.CreateProfilingScope("ResolveSolution")) { Resolver resolver = new Resolver(); resolver.SetParameter("solution", this); resolver.Resolve(this); foreach (Solution.Configuration conf in Configurations) { conf.Resolve(resolver); } foreach (var extraItemKey in ExtraItems.Keys.ToList()) { Strings values = new Strings(ExtraItems[extraItemKey]); foreach (string value in values) { string newValue = resolver.Resolve(value); values.UpdateValue(value, newValue); } ExtraItems[extraItemKey] = values; } _resolved = true; } }
public ScopedParameterGroup(Resolver resolver, params VariableAssignment[] assignments) { _resolver = resolver; var names = new List <string>(); foreach (var assignment in assignments) { _resolver.SetParameter(assignment.Identifier, assignment.Value); names.Add(assignment.Identifier); } _names = names.ToArray(); }
internal void Resolve() { if (_resolved) { return; } Resolver resolver = new Resolver(); resolver.SetParameter("solution", this); resolver.Resolve(this); if (PerforceRootPath != null) { Util.ResolvePath(SharpmakeCsPath, ref _perforceRootPath); } foreach (Solution.Configuration conf in Configurations) { conf.Resolve(resolver); } _resolved = true; }
public ScopedParameter(Resolver resolver, string name, object value) { _resolver = resolver; _name = name; _resolver.SetParameter(_name, value); }