Example #1
0
        public void Execute()
        {
            if (_missingInputs.Any())
            {
                Logger.Trace("Missing Inputs:");
                Logger.Trace("---------------");
                _missingInputs.Each(x => Console.WriteLine(x));

                ThrowExceptions.Custom(Exc.GetStackTrace(), type, Exc.CallingMethod(), "MissingInput: " + Exc.Join(",", _missingInputs));
            }

            Logger.Starting(_steps.Count);
            _substitutions.Trace(Logger);

            _substitutions.Set(INSTRUCTIONS, GetInstructions().Replace("\"", "'"));

            _steps.Each(x => {
                Logger.TraceStep(x);
                x.Alter(this);
            });

            if (Solution != null)
            {
                Logger.Trace("Saving solution to {0}", Solution.Filename);
                Solution.Save();
            }

            Substitutions.WriteTo(Root.AppendPath(Substitutions.ConfigFile));
            WriteNugetImports();

            Logger.Finish();
        }