public void Initialize(IEnumerable <Project> projects, IDictionary <Language, SonarQubeQualityProfile> profilesMap)
        {
            if (projects == null)
            {
                throw new ArgumentNullException(nameof(projects));
            }

            if (profilesMap == null)
            {
                throw new ArgumentNullException(nameof(profilesMap));
            }

            this.SolutionFullPath = this.projectSystem.GetCurrentActiveSolution().FullName;

            this.qualityProfileMap = new Dictionary <Language, SonarQubeQualityProfile>(profilesMap);

            foreach (Project project in projects)
            {
                if (BindingRefactoringDumpingGround.IsProjectLevelBindingRequired(project))
                {
                    var binder = new ProjectBindingOperation(serviceProvider, project, this);
                    binder.Initialize();
                    this.childBinder.Add(binder);
                }
                else
                {
                    this.logger.WriteLine(Strings.Bind_Project_NotRequired, project.FullName);
                }
            }
        }
예제 #2
0
        public void Initialize()
        {
            Debug.Assert(BindingRefactoringDumpingGround.IsProjectLevelBindingRequired(this.initializedProject),
                         $"Not expecting project binding operation to be called for project '{this.initializedProject.FullName}'");

            this.CaptureProject();
            this.CalculateRuleSetInformation();
        }