in plugin/src/main/java/com/uber/okbuck/core/manager/LintManager.java [74:125]
public void finalizeDependencies() {
Path lintCache = project.file(LINT_DEPS_CACHE).toPath();
FileUtil.deleteQuietly(lintCache);
if (dependencies != null && dependencies.size() > 0) {
lintCache.toFile().mkdirs();
new JvmBinaryRule()
.mainClassName("")
.excludes(LINT_BINARY_EXCLUDES)
.defaultVisibility()
.name(LINT_BINARY_RULE_NAME)
.ruleType(RuleType.JAVA_BINARY.getBuckName());
ImmutableList.Builder<Rule> rulesBuilder = new ImmutableList.Builder<>();
Set<String> stringDependencies = BuckRuleComposer.external(dependencies);
stringDependencies.add(":" + ANDROID_LINT_CLI_RULE_NAME);
rulesBuilder.add(
new JvmBinaryRule()
.excludes(LINT_BINARY_EXCLUDES)
.mainClassName(LINT_CLI_CLASS)
.deps(stringDependencies)
.ruleType(RuleType.JAVA_BINARY.getBuckName())
.name(LINT_BINARY_RULE_NAME)
.defaultVisibility());
rulesBuilder.add(
new NativePrebuilt()
.prebuiltType(RuleType.PREBUILT_JAR.getProperties().get(0))
.prebuilt(ANDROID_LINT_CLI_JAR)
.ruleType(RuleType.PREBUILT_JAR.getBuckName())
.name(ANDROID_LINT_CLI_RULE_NAME));
rulesBuilder.add(
new NativePrebuilt()
.prebuiltType(RuleType.PREBUILT_JAR.getProperties().get(0))
.prebuilt(LINT_DUMMY_JAR)
.ruleType(RuleType.PREBUILT_JAR.getBuckName())
.name(LINT_DUMMY_JAR));
FileUtil.copyResourceToProject(
"lint/" + ANDROID_LINT_CLI_JAR, new File(lintCache.toFile(), ANDROID_LINT_CLI_JAR));
FileUtil.copyResourceToProject(
"lint/" + LINT_DUMMY_JAR, new File(lintCache.toFile(), LINT_DUMMY_JAR));
buckFileManager.writeToBuckFile(
rulesBuilder.build(), project.getRootProject().file(lintBuckFile));
}
}