void okbuck()

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);
  }