Ejemplo n.º 1
0
        private void CreateBuildPlan()
        {
            var factory = new BuildComponentFactory();

            var quilt = factory.CreateBuildComponentQuilt(m_kitSpecification, m_design);

            PushPendingComponent(quilt);

            while (true)
            {
                // Go through all outstanding components and create build steps.
                //
                {
                    var component = PullPendingComponent();
                    while (component != null)
                    {
                        ProcessComponent(component, factory);

                        component = PullPendingComponent();
                    }
                }

                // Pull a build step and add inputs.
                //
                {
                    var step = PullPendingStep();
                    if (step == null)
                    {
                        // No more steps.  Processing complete.
                        return;
                    }

                    step.ComputeInputs(factory);
                    foreach (BuildComponent component in step.Consumes)
                    {
                        PushPendingComponent(component);
                    }
                }
            }
        }
Ejemplo n.º 2
0
 protected override IBuildComponent Clone(BuildComponentFactory factory)
 {
     return(factory.CreateBuildComponentQuilt(KitSpecification, Design));
 }