diff --git a/Makefile.config b/Makefile.config index 7b12237fd..bb20a42fa 100644 --- a/Makefile.config +++ b/Makefile.config @@ -38,6 +38,7 @@ ETC_DIR = $(INFER_DIR)/etc LIB_DIR = $(INFER_DIR)/lib MODELS_DIR = $(INFER_DIR)/models JAVA_BUILTINS_DIR = $(MODELS_DIR)/java/builtins +JAVA_MODELS_DIR = $(MODELS_DIR)/java/src SRC_DIR = $(INFER_DIR)/src BUILD_DIR = $(INFER_DIR)/_build @@ -63,12 +64,17 @@ ifeq ($(BUILD_JAVA_ANALYZERS),yes) JAVA_HOME=$(USER_JAVA_HOME) endif +JAVA_BUILTINS_SOURCES = $(shell find $(JAVA_BUILTINS_DIR) -name "*.java") +JAVA_MODELS_SOURCES = $(shell find $(JAVA_MODELS_DIR) -name "*.java") + JAVA_DEPS = $(addprefix $(PYTHON_LIB_DIR)/, \ analyze.py bucklib.py config.py issues.py jwlib.py source.py utils.py) \ $(addprefix $(CAPTURE_LIB_DIR)/, util.py) \ $(INFER_BIN) \ $(INFERANALYZE_BIN) \ - $(INFERPRINT_BIN) + $(INFERPRINT_BIN) \ + $(JAVA_BUILTINS_SOURCES) \ + $(JAVA_MODELS_SOURCES) CLANG_DEPS = $(addprefix $(PYTHON_LIB_DIR)/, \ analyze.py config.py issues.py source.py utils.py) \ diff --git a/infer/models/java/Makefile b/infer/models/java/Makefile index aaa9883d5..82c4b7f68 100644 --- a/infer/models/java/Makefile +++ b/infer/models/java/Makefile @@ -19,9 +19,6 @@ INFER_RESULTS_DIR = $(MODELS_OUT)/infer INFER_REPORT = $(INFER_RESULTS_DIR)/report.json MODELS_JAR = models.jar -JAVA_BUILTINS_SOURCES = $(shell find builtins -name "*.java") -JAVA_MODELS_SOURCES = $(shell find src -name "*.java") - JAVA_SOURCES = $(JAVA_BUILTINS_SOURCES) $(JAVA_MODELS_SOURCES) MODELS_CLASSPATH = $(ANDROID_JAR):$(GUAVA_JAR):$(JACKSON_JAR):$(JSR_305_JAR):$(INFER_ANNOTATIONS_JAR) @@ -33,6 +30,9 @@ clean: @rm -f $(MODELS_JAR) @rm -f $(JAVA_MODELS_JAR) +compile: + javac -bootclasspath $(ANDROID_JAR) -d $(MODELS_OUT) -classpath $(MODELS_CLASSPATH) $(JAVA_SOURCES) + $(INFER_REPORT): $(ANDROID_JAR) $(GUAVA_JAR) $(JACKSON_JAR) $(JSR_305_JAR) $(INFER_ANNOTATIONS_JAR) $(JAVA_DEPS) $(JAVA_SOURCES) @rm -fr $(MODELS_OUT) mkdir -p $(MODELS_OUT)