buildSrc/src/main/java/com/uber/okbuck/generator/BuckFileGenerator.java [74:127]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private static List<Rule> createRules(Project project, boolean integrationTestsEnabled) {
    List<Rule> rules = new ArrayList<>();
    ProjectType projectType = ProjectUtil.getType(project);

    ProjectCache.getTargetCache(project)
        .getTargets()
        .forEach(
            (name, target) -> {
              switch (projectType) {
                case JAVA_LIB:
                case GROOVY_LIB:
                case KOTLIN_LIB:
                case SCALA_LIB:
                  rules.addAll(
                      createRules(
                          (JvmTarget) target,
                          projectType.getMainRuleType(),
                          projectType.getTestRuleType(),
                          projectType.getIntegrationTestRuleType(),
                          integrationTestsEnabled));
                  break;
                case ANDROID_LIB:
                  AndroidLibTarget androidLibTarget = (AndroidLibTarget) target;
                  List<Rule> targetRules = createRules(androidLibTarget);
                  rules.addAll(targetRules);
                  if (androidLibTarget.getLibInstrumentationTarget() != null) {
                    rules.addAll(
                        createRules(androidLibTarget.getLibInstrumentationTarget(), targetRules));
                  }
                  break;
                case ANDROID_APP:
                  AndroidAppTarget androidAppTarget = (AndroidAppTarget) target;
                  targetRules = createRules(androidAppTarget);
                  rules.addAll(targetRules);
                  if (androidAppTarget.getAppInstrumentationTarget() != null) {
                    rules.addAll(
                        createRules(
                            androidAppTarget.getAppInstrumentationTarget(),
                            androidAppTarget,
                            targetRules));
                  }
                  break;
                default:
                  throw new IllegalArgumentException(
                      "Okbuck does not support "
                          + project
                          + "type projects yet. Please use the extension option okbuck.buckProjects to exclude "
                          + project);
              }
            });

    // de-dup rules by name
    return new ArrayList<>(new LinkedHashSet<>(rules));
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



plugin/src/main/java/com/uber/okbuck/generator/BuckFileGenerator.java [74:127]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  private static List<Rule> createRules(Project project, boolean integrationTestsEnabled) {
    List<Rule> rules = new ArrayList<>();
    ProjectType projectType = ProjectUtil.getType(project);

    ProjectCache.getTargetCache(project)
        .getTargets()
        .forEach(
            (name, target) -> {
              switch (projectType) {
                case JAVA_LIB:
                case GROOVY_LIB:
                case KOTLIN_LIB:
                case SCALA_LIB:
                  rules.addAll(
                      createRules(
                          (JvmTarget) target,
                          projectType.getMainRuleType(),
                          projectType.getTestRuleType(),
                          projectType.getIntegrationTestRuleType(),
                          integrationTestsEnabled));
                  break;
                case ANDROID_LIB:
                  AndroidLibTarget androidLibTarget = (AndroidLibTarget) target;
                  List<Rule> targetRules = createRules(androidLibTarget);
                  rules.addAll(targetRules);
                  if (androidLibTarget.getLibInstrumentationTarget() != null) {
                    rules.addAll(
                        createRules(androidLibTarget.getLibInstrumentationTarget(), targetRules));
                  }
                  break;
                case ANDROID_APP:
                  AndroidAppTarget androidAppTarget = (AndroidAppTarget) target;
                  targetRules = createRules(androidAppTarget);
                  rules.addAll(targetRules);
                  if (androidAppTarget.getAppInstrumentationTarget() != null) {
                    rules.addAll(
                        createRules(
                            androidAppTarget.getAppInstrumentationTarget(),
                            androidAppTarget,
                            targetRules));
                  }
                  break;
                default:
                  throw new IllegalArgumentException(
                      "Okbuck does not support "
                          + project
                          + "type projects yet. Please use the extension option okbuck.buckProjects to exclude "
                          + project);
              }
            });

    // de-dup rules by name
    return new ArrayList<>(new LinkedHashSet<>(rules));
  }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



