diff --git a/src/main/java/at/porscheinformatik/sonarqube/licensecheck/maven/MavenDependencyScanner.java b/src/main/java/at/porscheinformatik/sonarqube/licensecheck/maven/MavenDependencyScanner.java index 6fec9f2c..c969707b 100644 --- a/src/main/java/at/porscheinformatik/sonarqube/licensecheck/maven/MavenDependencyScanner.java +++ b/src/main/java/at/porscheinformatik/sonarqube/licensecheck/maven/MavenDependencyScanner.java @@ -237,13 +237,19 @@ private static Dependency loadLicense( } for (License license : licenses) { - licenseMatcher(licenseMap, dependency, license); + boolean found = licenseMatcher(licenseMap, dependency, license); + if (found) { + break; + } } } return dependency; } - private static void licenseMatcher( + /** + * @return true if license was found in defined license list, false otherwise + */ + private static boolean licenseMatcher( Map licenseMap, Dependency dependency, License license @@ -251,13 +257,13 @@ private static void licenseMatcher( String licenseName = license.getName(); if (StringUtils.isBlank(licenseName)) { LOGGER.info("Dependency '{}' has an empty license.", dependency.getName()); - return; + return false; } for (Entry entry : licenseMap.entrySet()) { if (entry.getKey().matcher(licenseName).matches()) { dependency.setLicense(entry.getValue()); - return; + return true; } } @@ -269,6 +275,8 @@ private static void licenseMatcher( dependency.getName(), dependency.getVersion() ); + + return false; } private static MavenSettings getSettingsFromCommandLineArgs() {