in buildSrc/src/main/java/com/uber/okbuck/core/task/OkBuckTask.java [81:124]
void okbuck() {
// Fetch Groovy support deps if needed
boolean hasGroovyLib =
okBuckExtension
.buckProjects
.stream()
.anyMatch(project -> ProjectUtil.getType(project) == ProjectType.GROOVY_LIB);
if (hasGroovyLib) {
ProjectUtil.getGroovyManager(getProject()).setupGroovyHome();
}
// Fetch Scala support deps if needed
String scalaLibraryLocation;
boolean hasScalaLib =
okBuckExtension
.buckProjects
.stream()
.anyMatch(project -> ProjectUtil.getType(project) == ProjectType.SCALA_LIB);
if (hasScalaLib) {
Set<OExternalDependency> scalaDeps =
ProjectUtil.getScalaManager(getProject()).setupScalaHome(scalaExtension.version);
scalaLibraryLocation =
BuckRuleComposer.external(
scalaDeps
.stream()
.filter(it -> it.getTargetName().contains("scala-library"))
.findFirst()
.get());
} else {
scalaLibraryLocation = "";
}
// Fetch Kotlin deps if needed
if (kotlinExtension.version != null) {
ProjectUtil.getKotlinManager(getProject()).setupKotlinHome(kotlinExtension);
}
generate(
okBuckExtension,
hasGroovyLib ? GroovyManager.GROOVY_HOME_TARGET : null,
kotlinExtension.version != null ? KotlinManager.KOTLIN_HOME_TARGET : null,
hasScalaLib ? ScalaManager.SCALA_COMPILER_LOCATION : null,
hasScalaLib ? scalaLibraryLocation : null);
}