Example #1
0
        private List <MethodGraph> AnalyzeApplication(string companyAssembliesPattern, ApplicationDetails application)
        {
            try
            {
                _logOutput.LogInfo("----------------------------------");
                _logOutput.LogInfo("Analysis started for application: " + application.CsProjName);
                AnalysisScope.CurrentApplicationName = application.CsProjName;
                AnalysisScope.CurrentApplicationPath = application.FullFolderPath;

                AnalysisPhaseResult loaded = _analysisEngine.LoadApplication(companyAssembliesPattern, application);
                if (loaded != AnalysisPhaseResult.Success)
                {
                    _logOutput.LogError("Unable to analyse application. Processing aborted. Reason = " + loaded);
                    _logOutput.ApplicationAnalisisComplete(application.CsProjName, loaded.ToString());
                    return(new List <MethodGraph>());
                }

                _logOutput.LogInfo("Code indexes built");

                return(_analysisEngine.BuildMethodGraphs(application.CsProjName, companyAssembliesPattern));
            }
            catch (Exception ex)
            {
                _logOutput.LogError("Processing failed", ex);
                _logOutput.ApplicationAnalisisComplete(application.CsProjName, "Failed");
                return(new List <MethodGraph>());
            }
        }