SharpDox.Build.Context.BuildContext.StartBuild C# (CSharp) Method

StartBuild() public method

public StartBuild ( ) : void
return void
        public virtual void StartBuild()
        {
            try
            {
                _buildMessenger.ExecuteOnBuildProgress(0);
                _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.StartingBuild);

                var sdProject = new SDProject();
                foreach (var step in _buildSteps)
                {
                    _buildMessenger.ExecuteOnBuildMessage(string.Format(_sdBuildStrings.StartingStep, step.StepName));
                    _buildMessenger.ExecuteOnBuildProgress(step.StepRange.ProgressStart);
                    _buildMessenger.ExecuteOnStepProgress(0);

                    step.OnBuildProgress += _buildMessenger.ExecuteOnBuildProgress;
                    step.OnBuildMessage += _buildMessenger.ExecuteOnBuildMessage;
                    step.OnStepMessage += _buildMessenger.ExecuteOnStepMessage;
                    step.OnStepProgress += _buildMessenger.ExecuteOnStepProgress;

                    sdProject = step.RunStep(sdProject);

                    _buildMessenger.ExecuteOnStepProgress(100);
                }

                _buildMessenger.ExecuteOnBuildProgress(100);
                _buildMessenger.ExecuteOnStepMessage(string.Empty);
                _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.BuildSuccess);
                _buildMessenger.ExecuteOnBuildCompleted(sdProject);
            }
            catch (Exception ex)
            {
                if (ex is ThreadAbortException)
                {
                    _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.BuildStopped);
                    _buildMessenger.ExecuteOnStepProgress(0);
                    _buildMessenger.ExecuteOnBuildProgress(0);

                    _buildMessenger.ExecuteOnBuildStopped();
                }
                else
                {
                    _buildMessenger.ExecuteOnBuildMessage(_sdBuildStrings.CouldNotEndBuild);
                    _buildMessenger.ExecuteOnStepProgress(100);
                    _buildMessenger.ExecuteOnBuildProgress(100);

                    _buildMessenger.ExecuteOnBuildFailed(ex.ToString());
                }
            }
        }

Usage Example

Beispiel #1
0
        public void StartBuild(ICoreConfigSection coreConfigSection, bool thread)
        {
            var config = BuildConfig.FullBuildConfig(_configController, _codeParser(), _sdBuildStrings, _allExporters);
            var context = new BuildContext(BuildMessenger, _sdBuildStrings, config);

            if (thread)
            {
                Stop();
                _buildThread = new Thread(context.StartBuild);
                _buildThread.Start();
            }
            else
            {
                context.StartBuild();
            }
        }