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);
        }
Example #2
0
 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));
        }
Example #4
0
 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()));
 }
Example #6
0
        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);
        }
Example #7
0
        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()));
 }
Example #10
0
 public BuildInformation(IBuildDetail buildDetail)
 {
     if (null == buildDetail)
     {
         throw new ArgumentNullException("buildDetail");
     }
     _detail = buildDetail;
     _data   = new BuildDetailToBuildDataAdapter(buildDetail);
 }
Example #11
0
File: Pass.cs Project: mortend/uno
 protected Pass(ShaderBackend backend)
     : base(backend.Log)
 {
     Disk        = backend.Disk;
     Data        = backend.Data;
     Environment = backend.Environment;
     Essentials  = backend.Essentials;
     ILFactory   = backend.ILFactory;
 }
Example #12
0
File: Pass.cs Project: mortend/uno
 protected Pass(Pass parent)
     : base(parent.Log)
 {
     Disk        = parent.Disk;
     Data        = parent.Data;
     Environment = parent.Environment;
     Essentials  = parent.Essentials;
     ILFactory   = parent.ILFactory;
 }
Example #13
0
        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);
        }
Example #14
0
        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));
        }
Example #15
0
        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));
        }
Example #16
0
        public override void Enter()
        {
            builderData = GetComponent <IBuildData>();
            building    = unit.Target.transform.GetComponent <IBuildable>();

            Utils.LookTarget(unit, unit.Target);

            if (tool != null)
            {
                tool.SetActive(true);
            }
        }
Example #17
0
        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);
        }
Example #18
0
File: Pass.cs Project: mortend/uno
 protected Pass(
     Disk disk,
     IBuildData data,
     IEnvironment environment,
     IILFactory ilf)
     : base(disk)
 {
     Disk        = disk;
     Data        = data;
     Environment = environment;
     Essentials  = ilf.Essentials;
     ILFactory   = ilf;
 }
Example #19
0
        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);
        }
Example #20
0
        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());
        }
Example #21
0
        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);
        }
Example #22
0
        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);
        }
Example #25
0
        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);
            }
        }
Example #26
0
 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);
 }
Example #27
0
 public override ComponentInstance Build(IBuilder builder, IEnumerable <int> path, IBuildData buildData)
 {
     return(builder.Build(this, path, buildData));
 }
Example #28
0
 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);
        }
Example #31
0
 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);
 }
Example #34
0
 public abstract ComponentInstance Build(IBuilder builder, IEnumerable <int> path, IBuildData buildData);
Example #35
0
 /// <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;
 }
Example #36
0
 /// <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());
 }