public String getScalaVersion(final Iterable<File> classpath) {
if (project.getRepositories().isEmpty()) {
throw new GradleException(String.format("Cannot infer Scala classpath because no repository is declared in %s",
project.getName()));
}
File scalaLibraryJar = findScalaJar(classpath, "library");
if (scalaLibraryJar == null) {
StringBuilder searcherClasspath = new StringBuilder();
classpath.forEach(file -> searcherClasspath.append(file.getAbsolutePath() + ";"));
searcherClasspath.deleteCharAt(searcherClasspath.length() - 1);
throw new GradleException(String.format("Missing scala-library in project %s. "
+ "Searched classpath: %s.", project.getName(), searcherClasspath.toString()));
}
String scalaVersion = getScalaVersion(scalaLibraryJar);
if (scalaVersion == null) {
throw new AssertionError(String.format("Unable to extract scala version from %s in project %s. " +
"This is a bug, please report the issue at %s.",
scalaLibraryJar, project.getName(), Defaults.SUPPORT_EMAIL));
}
LOGGER.debug("Returned Scala version {} for project `{}`", scalaVersion, project.getName());
return scalaVersion;
}