public WidgetInstance Build(Widget widget, IEnumerable<int> path, IBuildData buildData) { // Add the widget's parameters to the context to be picked up by any children var propertyInstances = widget.Properties.Select(p => p.Build(buildData)).ToList(); buildData.ContextSets.Push(propertyInstances); var areas = widget.Areas.Select( (a, i) => new { Name = a.Name, Components = a.Build(this, path.Append(i), buildData) }) .ToList() .ToDictionary(d => d.Name, d => d.Components); buildData.AreaContents.Push(areas); var specification = this.widgetSpecificationFinder(widget.Name); if (this.renderingInstructions.ShowAmendments) { specification.ApplyAmendments(this.componentLibrary); } // Notice that we're passing null as the path - we don't want to annotate the components from the widget // specification because they're not components that the editor of the current template can do anything about var components = specification.Components.Select((c, i) => c.Build(this, null, buildData)).ToList(); buildData.AreaContents.Pop(); buildData.ContextSets.Pop(); return new WidgetInstance( path, this.renderingInstructions, components); }
public DeploymentMappings Read(string teamProjectName, IBuildData teamBuild) { TraceHelper.TraceInformation(TraceSwitches.TfsDeployer, "Reading Configuration for Team Projet:{0} Team Build:{1}", teamProjectName, teamBuild.BuildType); TfsHelper.GetSharedResources(); _workingDirectory = TfsHelper.GetDeploymentItems(teamProjectName, teamBuild.BuildType); return(ConfigurationReaderHelper.Read(Path.Combine(_workingDirectory, ConfigurationFileName)));; }
public WidgetInstance Build(Widget widget, IEnumerable <int> path, IBuildData buildData) { // Add the widget's parameters to the context to be picked up by any children var propertyInstances = widget.Properties.Select(p => p.Build(buildData)).ToList(); buildData.ContextSets.Push(propertyInstances); var areas = widget.Areas.Select( (a, i) => new { Name = a.Name, Components = a.Build(this, path.Append(i), buildData) }) .ToList() .ToDictionary(d => d.Name, d => d.Components); buildData.AreaContents.Push(areas); var specification = this.widgetSpecificationFinder(widget.Name); if (this.renderingInstructions.ShowAmendments) { specification.ApplyAmendments(this.componentLibrary); } // Notice that we're passing null as the path - we don't want to annotate the components from the widget // specification because they're not components that the editor of the current template can do anything about var components = specification.Components.Select((c, i) => c.Build(this, null, buildData)).ToList(); buildData.AreaContents.Pop(); buildData.ContextSets.Pop(); return(new WidgetInstance( path, this.renderingInstructions, components)); }
public ForeignHelpers(IEnvironment environment, IEssentials essentials, CppBackend backend, IBuildData data) { Environment = environment; Essentials = essentials; Backend = backend; Data = data; }
public AreaInstance Build(Area area, IEnumerable <int> path, IBuildData buildData) { return(new AreaInstance( path, this.renderingInstructions, area.Components.Select((c, i) => c.Build(this, path.Append(i), buildData)).ToList())); }
public MetadataGenerator(Disk disk, IBuildData data, IEssentials essentials, MetadataBackend backend, CilLinker linker, SourcePackage package, string outputDir) : base(disk) { _data = data; _essentials = essentials; _backend = backend; _package = package; _linker = linker; _outputDir = outputDir; _assembly = _linker.Universe.DefineDynamicAssembly( new AssemblyName(package.Name) { Version = package.ParseVersion(Log) }, AssemblyBuilderAccess.Save, outputDir); var module = _assembly.DefineDynamicModule( package.Name, package.Name + ".dll", true); _types = new CilTypeFactory(backend, essentials, linker, module); }
public void Alert(Mapping mapping, IBuildData build, IRunner runner) { try { var client = new SmtpClient(Settings.Default.SmtpServer); var subject = GetSubject(mapping, build, runner); var body = GetBody(mapping, build, runner); var toAddress = mapping.NotificationAddress ?? Settings.Default.ToAddress; var message = new MailMessage { From = new MailAddress(Settings.Default.FromAddress), Subject = subject, Body = body }; // Allow multiple recipients separated by semi-colon foreach (var address in toAddress.Split(';')) { message.To.Add(address); } client.Send(message); } catch (Exception ex) { TraceHelper.TraceError(TraceSwitches.TfsDeployer, ex); } }
public AtomInstance Build(Atom atom, IEnumerable<int> path, IBuildData buildData) { return new AtomInstance( path, this.renderingInstructions, atom.Name, atom.Properties.Select(p => p.Build(buildData)).ToList()); }
public AtomInstance Build(Atom atom, IEnumerable <int> path, IBuildData buildData) { return(new AtomInstance( path, this.renderingInstructions, atom.Name, atom.Properties.Select(p => p.Build(buildData)).ToList())); }
public BuildInformation(IBuildDetail buildDetail) { if (null == buildDetail) { throw new ArgumentNullException("buildDetail"); } _detail = buildDetail; _data = new BuildDetailToBuildDataAdapter(buildDetail); }
protected Pass(ShaderBackend backend) : base(backend.Log) { Disk = backend.Disk; Data = backend.Data; Environment = backend.Environment; Essentials = backend.Essentials; ILFactory = backend.ILFactory; }
protected Pass(Pass parent) : base(parent.Log) { Disk = parent.Disk; Data = parent.Data; Environment = parent.Environment; Essentials = parent.Essentials; ILFactory = parent.ILFactory; }
public string Resolve(IBuildData buildData) { // find the closest context item specifying a value for the context key var key = this.EstablishSoughtKey(buildData); return(this.Variants.FirstOrDefault(v => v.ContentValue.Equals(key, StringComparison.OrdinalIgnoreCase))?.Value.Resolve(buildData) ?? this.Variants.FirstOrDefault(v => v.ContentValue.Split(' ').Contains(key, StringComparer.OrdinalIgnoreCase))?.Value.Resolve(buildData) ?? this.Variants.FirstOrDefault(v => v.IsDefault)?.Value.Resolve(buildData) ?? string.Empty); }
private string GetSubject(Mapping map, IBuildData build, IRunner runner) { string errorMessage = "Success: "; if (runner.ErrorOccurred) { errorMessage = "Failed: "; } return(string.Format("{0} TfsDeployer Ran Script {1} on Machine {2} for {3}/{4}/{5}", errorMessage, map.Script, map.Computer, build.TeamProject, build.BuildType, build.BuildNumber)); }
private static string GetSubject(Mapping map, IBuildData build, DeployAgentResult deployAgentResult) { var errorMessage = "Success: "; if (deployAgentResult.HasErrors) { errorMessage = "Failed: "; } return(string.Format("{0} TfsDeployer Ran Script {1} on Machine {2} for {3}/{4}/{5}", errorMessage, map.Script, map.Computer, build.TeamProject, build.BuildType, build.BuildNumber)); }
public override void Enter() { builderData = GetComponent <IBuildData>(); building = unit.Target.transform.GetComponent <IBuildable>(); Utils.LookTarget(unit, unit.Target); if (tool != null) { tool.SetActive(true); } }
public IEnumerable <Mapping> ReadMappings(string teamProjectName, IBuildData teamBuild, IWorkingDirectory workingDirectory) { TraceHelper.TraceInformation(TraceSwitches.TfsDeployer, "Reading Configuration for Team Project: {0} Team Build: {1}", teamProjectName, teamBuild.BuildType); TfsHelper.GetSharedResources(workingDirectory); _workingDirectory = TfsHelper.GetDeploymentItems(teamProjectName, teamBuild.BuildType, workingDirectory); var configuration = ConfigurationReaderHelper.Read(Path.Combine(_workingDirectory, ConfigurationFileName)); if (configuration == null) { return(new Mapping[0]); } return(configuration.Mappings); }
protected Pass( Disk disk, IBuildData data, IEnvironment environment, IILFactory ilf) : base(disk) { Disk = disk; Data = data; Environment = environment; Essentials = ilf.Essentials; ILFactory = ilf; }
private string EstablishSoughtKey(IBuildData buildData) { foreach (var contextSet in buildData.ContextSets) { var key = contextSet.FirstOrDefault(i => i.Name == this.ContextName && !string.IsNullOrWhiteSpace(i.Value))?.Value; if (!string.IsNullOrWhiteSpace(key)) { return(key); } } return(string.Empty); }
private string CreateArguments(Mapping mapping, IBuildData buildData) { StringBuilder arguments = new StringBuilder( string.Format("{0}, {1} " , buildData.DropLocation , buildData.BuildNumber )); foreach (ScriptParameter param in mapping.ScriptParameters) { arguments.Append(", " + param.value); } return(arguments.ToString()); }
public string Resolve(IBuildData buildData) { foreach (var contextSet in buildData.ContextSets) { var item = contextSet.FirstOrDefault(i => i.Name.Equals(this.Key)); if (item != null) { return(item.Value); } } return(string.Empty); }
private static string GetBody(Mapping map, IBuildData build, DeployAgentResult deployAgentResult) { var builder = new StringBuilder(); builder.AppendLine(string.Format("Team Project/Build: {0} to {1}", build.TeamProject, build.BuildType)); builder.AppendLine(string.Format("Quality Change: {0} to {1}", map.OriginalQuality, map.NewQuality)); builder.AppendLine(string.Format("Drop Location: {0}", build.DropLocation)); builder.AppendLine(string.Format("Build Uri: {0}", build.BuildUri)); builder.AppendLine(string.Format("Script: {0}", map.Script)); builder.AppendLine(string.Format("Executed on Machine: {0}", map.Computer)); builder.AppendLine("Output:"); builder.AppendLine(deployAgentResult.Output); return(builder.ToString()); }
public ContainerInstance Build(Container container, IEnumerable <int> path, IBuildData buildData) { var propertyInstances = container.Properties.Select(p => p.Build(buildData)).ToList(); buildData.ContextSets.Push(propertyInstances); var children = container.Components.Select((c, i) => c.Build(this, path.Append(i), buildData)).ToList(); buildData.ContextSets.Pop(); return(new ContainerInstance( path, this.renderingInstructions, container.Name, propertyInstances, children)); }
public ContainerInstance Build(Container container, IEnumerable<int> path, IBuildData buildData) { var propertyInstances = container.Properties.Select(p => p.Build(buildData)).ToList(); buildData.ContextSets.Push(propertyInstances); var children = container.Components.Select((c, i) => c.Build(this, path.Append(i), buildData)).ToList(); buildData.ContextSets.Pop(); return new ContainerInstance( path, this.renderingInstructions, container.Name, propertyInstances, children); }
public void Alert(Mapping mapping, IBuildData build, IRunner runner) { try { SmtpClient client = new SmtpClient(Settings.Default.SmtpServer); string subject = GetSubject(mapping, build, runner); string body = GetBody(mapping, build, runner); string toAddress = mapping.NotificationAddress ?? Settings.Default.ToAddress; MailMessage message = new MailMessage(Settings.Default.FromAddress, toAddress, subject, body);; client.Send(message); } catch (Exception ex) { TraceHelper.TraceError(TraceSwitches.TfsDeployer, ex); } }
public CilGenerator(Disk disk, IBuildData data, IEssentials essentials, CilBackend backend, CilLinker linker, SourcePackage package, string outputDir) : base(disk) { _data = data; _essentials = essentials; _backend = backend; _package = package; _linker = linker; _outputDir = outputDir; _assembly = _linker.Universe.DefineDynamicAssembly( new AssemblyName(package.Name) /*{Version = new Version(package.Version)}*/, AssemblyBuilderAccess.Save, outputDir); _module = _assembly.DefineDynamicModule( package.Name, package.Name + ".dll", true); }
public override ComponentInstance Build(IBuilder builder, IEnumerable <int> path, IBuildData buildData) { return(builder.Build(this, path, buildData)); }
public PropertyInstance Build(IBuildData buildData) { return new PropertyInstance(this.Name, this.Value?.Resolve(buildData)); }
public PlaceholderInstance Build(Placeholder placeholder, IEnumerable <int> path, IBuildData buildData) { var componentInstance = buildData.AreaContents.Peek().ContainsKey(placeholder.Name) ? buildData.AreaContents.Peek()[placeholder.Name] : null; return(new PlaceholderInstance( path, this.renderingInstructions, componentInstance)); }
public PlaceholderInstance Build(Placeholder placeholder, IEnumerable<int> path, IBuildData buildData) { var componentInstance = buildData.AreaContents.Peek().ContainsKey(placeholder.Name) ? buildData.AreaContents.Peek()[placeholder.Name] : null; return new PlaceholderInstance( path, this.renderingInstructions, componentInstance); }
public PropertyInstance Build(IBuildData buildData) { return(new PropertyInstance(this.Name, this.Value?.Resolve(buildData))); }
public PageInstance Build(Template template, IBuildData buildData) { return(new PageInstance(template.Components.Select((c, i) => c.Build(this, new[] { i }, buildData)).ToList(), this.renderingInstructions)); }
public PageInstance Build(Template template, IBuildData buildData) { return new PageInstance(template.Components.Select((c, i) => c.Build(this, new[] { i }, buildData)).ToList(), this.renderingInstructions); }
public abstract ComponentInstance Build(IBuilder builder, IEnumerable <int> path, IBuildData buildData);
/// <summary> /// ctor /// </summary> /// <param name="logger">dependency injection logger</param> /// <param name="buildData">dependency injection builddate</param> /// <param name="sftpProvider">dependency injection sftp provider</param> public FTPBackHandle(ILogger <FTPBackHandle> logger, IBuildData buildData, ISFTPProvider sftpProvider) { _buildData = buildData; _logger = logger; _sftpProvider = sftpProvider; }
/// <summary> /// ctor /// </summary> /// <param name="logger">dependency injection logger</param> /// <param name="buildData">dependency injection builddate</param> /// <param name="emailProvider">dependency injection email provider</param> public EmailBackHandle(ILogger <EmailBackHandle> logger, IBuildData buildData, IEmailProvider emailProvider) { _buildData = buildData; _logger = logger; _emailProvider = emailProvider; }
public AreaInstance Build(Area area, IEnumerable<int> path, IBuildData buildData) { return new AreaInstance( path, this.renderingInstructions, area.Components.Select((c, i) => c.Build(this, path.Append(i), buildData)).ToList()); }