@VisibleForTesting void execute(Logger logger) { String defaultName = config.get(QualityProfiles.SONAR_PROFILE_PROP).orElse(null); boolean defaultNameUsed = StringUtils.isBlank(defaultName); for (String lang : store.languages()) { QProfile profile = profiles.findByLanguage(lang); if (profile == null) { logger.warn("No Quality profile found for language {}", lang); } else { logger.info("Quality profile for {}: {}", lang, profile.getName()); if (isNotEmpty(defaultName) && defaultName.equals(profile.getName())) { defaultNameUsed = true; } } } if (!defaultNameUsed && !store.languages().isEmpty()) { throw MessageException.of("sonar.profile was set to '" + defaultName + "' but didn't match any profile for any language. Please check your configuration."); } } }
@Before public void before() throws Exception { store = new InputComponentStore(mock(BranchConfiguration.class)); profiles = mock(QualityProfiles.class); QProfile javaProfile = new QProfile("p1", "My Java profile", "java", null); when(profiles.findByLanguage("java")).thenReturn(javaProfile); QProfile cobolProfile = new QProfile("p2", "My Cobol profile", "cobol", null); when(profiles.findByLanguage("cobol")).thenReturn(cobolProfile); }
@VisibleForTesting void execute(Logger logger) { String defaultName = config.get(QualityProfiles.SONAR_PROFILE_PROP).orElse(null); boolean defaultNameUsed = StringUtils.isBlank(defaultName); for (String lang : store.languages()) { QProfile profile = profiles.findByLanguage(lang); if (profile == null) { logger.warn("No Quality profile found for language {}", lang); } else { logger.info("Quality profile for {}: {}", lang, profile.getName()); if (isNotEmpty(defaultName) && defaultName.equals(profile.getName())) { defaultNameUsed = true; } } } if (!defaultNameUsed && !store.languages().isEmpty()) { throw MessageException.of("sonar.profile was set to '" + defaultName + "' but didn't match any profile for any language. Please check your configuration."); } } }