private static List createRules()

in buildSrc/src/main/java/com/uber/okbuck/generator/BuckFileGenerator.java [206:251]


  private static List<Rule> createRules(
      AndroidAppTarget target, List<String> additionalDeps, List<String> additionalResDeps) {
    List<String> deps = new ArrayList<>();
    deps.add(":" + AndroidBuckRuleComposer.src(target));

    deps.addAll(additionalDeps);

    List<Rule> libRules =
        createRules(
            target,
            target.getExopackage() != null ? target.getExopackage().getAppClass() : null,
            additionalDeps,
            additionalResDeps);
    List<Rule> rules = new ArrayList<>(libRules);

    libRules.forEach(
        rule -> {
          if (rule instanceof AndroidModuleRule && rule.name() != null) {
            deps.add(rule.buckName().replace(":src_", ":res_"));
          }
        });

    Rule keystoreRule = KeystoreRuleComposer.compose(target);

    if (target.getExopackage() != null) {
      Rule exoPackageRule = ExopackageAndroidLibraryRuleComposer.compose(target);
      rules.add(exoPackageRule);
      deps.add(exoPackageRule.buckName());
    }

    if (keystoreRule != null) {
      rules.add(keystoreRule);

      Rule appManifest = ManifestRuleComposer.composeForBinary(target);
      rules.add(appManifest);

      rules.add(
          AndroidBinaryRuleComposer.compose(
              target,
              appManifest.buckName(),
              deps,
              ":" + AndroidBuckRuleComposer.keystore(target)));
    }

    return rules;
  }