in src/main/java/org/apache/maven/report/projectinfo/ScmReport.java [573:626]
public ScmRepository getScmRepository(String scmUrl) {
if (scmUrl == null || scmUrl.isEmpty()) {
return null;
}
ScmRepository repo = null;
List<String> messages = new ArrayList<>();
try {
messages.addAll(scmManager.validateScmRepository(scmUrl));
} catch (Exception e) {
messages.add(e.getMessage());
}
if (!messages.isEmpty()) {
StringBuilder sb = new StringBuilder();
boolean isIntroAdded = false;
for (String msg : messages) {
// Ignore NoSuchScmProviderException msg
// See impl of AbstractScmManager#validateScmRepository()
if (msg.startsWith("No such provider")) {
continue;
}
if (!isIntroAdded) {
sb.append("This SCM url '");
sb.append(scmUrl);
sb.append("' is invalid due to the following errors:");
sb.append(LS);
isIntroAdded = true;
}
sb.append(" * ");
sb.append(msg);
sb.append(LS);
}
if (StringUtils.isNotEmpty(sb.toString())) {
sb.append("For more information about SCM URL Format, please refer to: "
+ "http://maven.apache.org/scm/scm-url-format.html");
throw new IllegalArgumentException(sb.toString());
}
}
try {
repo = scmManager.makeScmRepository(scmUrl);
} catch (Exception e) {
// Should be already catched
if (log.isDebugEnabled()) {
log.debug(e.getMessage(), e);
}
}
return repo;
}