# Copyright (c) 2016 - present Facebook, Inc. # All rights reserved. # # This source code is licensed under the BSD style license found in the # LICENSE file in the root directory of this source tree. An additional grant # of patent rights can be found in the PATENTS file in the same directory. TESTS_DIR = ../.. ROOT_DIR = $(TESTS_DIR)/../.. ANALYZER = infer BUCK_TARGET = //infer/tests/build_systems/genrule/module2:module2 INFER_TARGET = $(BUCK_TARGET)_infer SOURCES = $(wildcard $(TESTS_DIR)/codetoanalyze/java/infer/*.java) OBJECTS = $(ROOT_DIR)/buck-out/genruletest/gen/infer/tests/build_systems/genrule/module2/lib__module2_compile__output/module2_compile.jar JSON_REPORT = $(ROOT_DIR)/buck-out/gen/infer/tests/build_systems/genrule/module2/module2_infer/infer_out/report.json INFERPRINT_OPTIONS = --project-root $(ROOT_DIR) --issues-tests # fake infer-out because we only copy the results.json from buck-out. INFER_OUT = . include $(TESTS_DIR)/java.make include $(TESTS_DIR)/infer.make $(OBJECTS): $(JAVA_SOURCE_FILES) $(QUIET)cd $(ROOT_DIR) && \ $(call silent_on_success,Compiling Buck genrule for Java sources,\ $(BUCK) build --no-cache $(BUCK_TARGET)) .PHONY: genrule genrule: $(JSON_REPORT) $(JSON_REPORT): $(JAVA_DEPS) $(JAVA_SOURCE_FILES) $(MAKEFILE_LIST) $(QUIET)cd $(ROOT_DIR) && \ $(REMOVE_DIR) buck-out && \ $(call silent_on_success,Testing Buck genrule for Java integration,\ INFER_BIN="$(INFER_BIN)" PROJECT_ROOT="$(PWD)" $(BUCK) build --no-cache $(INFER_TARGET)) $(QUIET)touch $@ report.json: $(JSON_REPORT) $(MAKEFILE_LIST) # the report contains absolute paths $(QUIET)sed -e 's#$(abspath $(TESTS_DIR))/##g' $< > $@ issues.exp.test$(TEST_SUFFIX): report.json $(INFER_BIN) $(QUIET)$(INFER_BIN) report -q -a $(ANALYZER) \ $(INFERPRINT_OPTIONS) $@ --from-json-report $<