diff --git a/infer/tests/build_systems/buck/Makefile b/infer/tests/build_systems/buck/Makefile index fb7e261db..d68c37923 100644 --- a/infer/tests/build_systems/buck/Makefile +++ b/infer/tests/build_systems/buck/Makefile @@ -9,8 +9,11 @@ TESTS_DIR = ../.. ROOT_DIR = $(TESTS_DIR)/../.. ANALYZER = infer -SOURCES = $(wildcard $(TESTS_DIR)/codetoanalyze/java/infer/*.java) -OBJECTS = $(ROOT_DIR)/buck-out/gen/infer/tests/codetoanalyze/java/infer/lib__compile_compile__output/compile_compile.jar +BUCK_TARGET = //infer/tests/codetoanalyze/java/infer:compile +SOURCES = $(addprefix $(ROOT_DIR), $(shell buck audit input $(BUCK_TARGET))) +TARGET_OUTPUT = $(word 2, $(shell buck targets --show-output $(BUCK_TARGET))) +OBJECTS = $(ROOT_DIR)/$(TARGET_OUTPUT) + INFERPRINT_OPTIONS = --project-root $(ROOT_DIR) --issues-tests CLEAN_EXTRA = $(ROOT_DIR)/buck-out @@ -21,11 +24,11 @@ $(OBJECTS): $(JAVA_SOURCE_FILES) cd $(ROOT_DIR) && \ $(call silent_on_success,\ INFER_BIN=$(INFER_BIN) NO_BUCKD=1 \ - buck build --no-cache //infer/tests/codetoanalyze/java/infer:compile) + buck build --no-cache $(BUCK_TARGET)) infer-out/report.json: $(JAVA_DEPS) $(JAVA_SOURCE_FILES) cd $(ROOT_DIR) && \ $(call silent_on_success,\ INFER_BIN=$(INFER_BIN) NO_BUCKD=1 \ $(INFER_BIN) -a $(ANALYZER) --results-dir $(CURDIR)/infer-out -- \ - buck build --no-cache //infer/tests/codetoanalyze/java/infer:compile) + buck build --no-cache $(BUCK_TARGET)) diff --git a/infer/tests/build_systems/genrule/Makefile b/infer/tests/build_systems/genrule/Makefile index 31a0aa852..d13900fa3 100644 --- a/infer/tests/build_systems/genrule/Makefile +++ b/infer/tests/build_systems/genrule/Makefile @@ -9,8 +9,16 @@ TESTS_DIR = ../.. ROOT_DIR = $(TESTS_DIR)/../.. ANALYZER = 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 + +BUCK_TARGET = //infer/tests/build_systems/genrule/module2:module2 +SOURCES = $(addprefix $(ROOT_DIR), $(shell buck audit input $(BUCK_TARGET))) +TARGET_OUTPUT = $(word 2, $(shell buck targets --show-output $(BUCK_TARGET))) +OBJECTS = $(ROOT_DIR)/$(TARGET_OUTPUT) + +INFER_TARGET = $(BUCK_TARGET)_infer +GENRULE_OUTPUT = $(word 2, $(shell GENERATE_INFER_GENRULES=1 buck targets --show-output $(INFER_TARGET))) +JSON_REPORT = $(ROOT_DIR)/$(GENRULE_OUTPUT)/report.json + INFER_OPTIONS = --project-root $(ROOT_DIR) INFERPRINT_OPTIONS = --project-root $(ROOT_DIR) --issues-tests CLEAN_EXTRA = $(ROOT_DIR)/buck-out/genruletest @@ -21,22 +29,21 @@ include $(TESTS_DIR)/base.make $(OBJECTS): $(JAVA_SOURCE_FILES) cd $(ROOT_DIR) && \ $(call silent_on_success,\ - NO_BUCKD=1 buck build --no-cache //infer/tests/codetoanalyze/java/infer:compile) + NO_BUCKD=1 buck build --no-cache $(BUCK_TARGET)) .PHONY: genrule -genrule: $(ROOT_DIR)/buck-out/genruletest/gen/infer/tests/build_systems/genrule/module2/module2_infer/infer_out/report.json +genrule: $(JSON_REPORT) -$(ROOT_DIR)/buck-out/genruletest/gen/infer/tests/build_systems/genrule/module2/module2_infer/infer_out/report.json: \ - $(JAVA_DEPS) $(JAVA_SOURCE_FILES) +$(JSON_REPORT): $(JAVA_DEPS) $(JAVA_SOURCE_FILES) cd $(ROOT_DIR) && \ $(REMOVE_DIR) buck-out && \ $(call silent_on_success,\ INFER_BIN="$(INFER_BIN)" NO_BUCKD=1 GENERATE_INFER_GENRULES=1 \ - buck build --config project.buck_out=buck-out/genruletest --no-cache //infer/tests/build_systems/genrule/module2:module2_infer) + buck build --no-cache $(INFER_TARGET)) touch $@ -infer-out/report.json: $(ROOT_DIR)/buck-out/genruletest/gen/infer/tests/build_systems/genrule/module2/module2_infer/infer_out/report.json +infer-out/report.json: $(JSON_REPORT) $(MKDIR_P) infer-out # the report contains absolute paths @sed -e 's#$(abspath $(TESTS_DIR))/##g' $< > $@