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