in command.line/java/jetbrains/buildServer/core/runtime/RuntimeUtil.java [192:216]
public static URI resolve(final URI uri, IProgressMonitor monitor) {
if ("class".equals(uri.getScheme())) {
String className = uri.getPath() != null && uri.getPath().trim().length() > 0 ? uri.getPath() : uri.getSchemeSpecificPart();
if (className != null && className.length() > 0) {
int i = 0;
while (i < className.length()) {
if (Character.isLetter(className.charAt(i))) {
break;
}
i++;
}
if (i < className.length()) {
className = className.substring(i);
try {
final Class<?> clazz = Class.forName(className);
return new URI(clazz.newInstance().toString());
} catch (Exception e) {
monitor.status(new ProgressStatus(ProgressStatus.ERROR, e.getMessage(), e));
}
}
}
}
monitor.status(new ProgressStatus(ProgressStatus.OK, String.format("Nothing resolve: '%s'", uri)));
return uri;
}