1 # Copyright (C) 2015 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 LOCAL_PATH := $(call my-dir) 16 17 # Include definitions of DAGGER2_PROCESSOR_CLASSES/LIBRARIES 18 include external/dagger2/dagger2_annotation_processor.mk 19 20 # build caliper host jar 21 # ============================================================ 22 23 include $(CLEAR_VARS) 24 25 LOCAL_MODULE := caliper-host 26 LOCAL_MODULE_TAGS := optional 27 LOCAL_MODULE_CLASS := JAVA_LIBRARIES 28 LOCAL_SRC_FILES := $(call all-java-files-under, caliper/src/main/java/) 29 LOCAL_JAVA_RESOURCE_DIRS := caliper/src/main/resources 30 LOCAL_IS_HOST_MODULE := true 31 32 LOCAL_STATIC_JAVA_LIBRARIES := \ 33 apache-commons-math-host \ 34 caliper-gson-host \ 35 caliper-java-allocation-instrumenter-host \ 36 caliper-jersey-client-host \ 37 caliper-jersey-core-host \ 38 caliper-joda-time-host \ 39 caliper-jsr311-api-host \ 40 dagger2-host \ 41 dagger2-inject-host \ 42 guavalib 43 44 # Use Dagger2 annotation processor 45 PROCESSOR_LIBRARIES := $(DAGGER2_PROCESSOR_LIBRARIES) 46 PROCESSOR_CLASSES := $(DAGGER2_PROCESSOR_CLASSES) 47 include external/dagger2/java_annotation_processors.mk 48 49 LOCAL_JAVA_LANGUAGE_VERSION := 1.7 50 include $(BUILD_HOST_JAVA_LIBRARY) 51 52 # Remember the location of the generated files, this is needed for when 53 # building for target 54 caliper_host_generated_sources_dir := $(local-generated-sources-dir)/annotation_processor_output 55 56 # build caliper target api jar 57 # ============================================================ 58 # This contains just those classes needed for benchmarks to compile. 59 60 include $(CLEAR_VARS) 61 62 LOCAL_MODULE := caliper-api-target 63 LOCAL_MODULE_TAGS := optional 64 LOCAL_MODULE_CLASS := JAVA_LIBRARIES 65 LOCAL_SRC_FILES := \ 66 caliper/src/main/java/com/google/caliper/AfterExperiment.java \ 67 caliper/src/main/java/com/google/caliper/BeforeExperiment.java \ 68 caliper/src/main/java/com/google/caliper/Param.java \ 69 caliper/src/main/java/com/google/caliper/All.java \ 70 caliper/src/main/java/com/google/caliper/Benchmark.java 71 72 LOCAL_JAVA_LANGUAGE_VERSION := 1.7 73 include $(BUILD_JAVA_LIBRARY) 74 75 # build caliper tests 76 # ============================================================ 77 # vogar --expectations $ANDROID_BUILD_TOP/external/caliper/expectations/knownfailures.txt \ 78 --test-only \ 79 --classpath $ANDROID_BUILD_TOP/out/host/common/obj/JAVA_LIBRARIES/caliper-tests_intermediates/javalib.jar \ 80 com.google.caliper 81 82 include $(CLEAR_VARS) 83 84 LOCAL_MODULE := caliper-tests 85 LOCAL_MODULE_TAGS := optional 86 LOCAL_MODULE_CLASS := JAVA_LIBRARIES 87 LOCAL_SRC_FILES := $(call all-java-files-under, caliper/src/test/java/) 88 LOCAL_JAVA_RESOURCE_DIRS := caliper/src/test/resources 89 LOCAL_IS_HOST_MODULE := true 90 91 LOCAL_STATIC_JAVA_LIBRARIES := \ 92 caliper-host \ 93 junit-host \ 94 mockito-host 95 96 # Use Dagger2 annotation processor 97 PROCESSOR_LIBRARIES := $(DAGGER2_PROCESSOR_LIBRARIES) 98 PROCESSOR_CLASSES := $(DAGGER2_PROCESSOR_CLASSES) 99 include external/dagger2/java_annotation_processors.mk 100 101 LOCAL_JAVA_LANGUAGE_VERSION := 1.7 102 include $(BUILD_HOST_JAVA_LIBRARY) 103 104 # build caliper examples 105 # ============================================================ 106 107 include $(CLEAR_VARS) 108 109 LOCAL_MODULE := caliper-examples 110 LOCAL_MODULE_TAGS := optional 111 LOCAL_MODULE_CLASS := JAVA_LIBRARIES 112 LOCAL_SRC_FILES := $(call all-java-files-under, examples/src/main/java/) 113 LOCAL_IS_HOST_MODULE := true 114 115 LOCAL_STATIC_JAVA_LIBRARIES := \ 116 caliper-host \ 117 junit-host \ 118 mockito-host 119 120 LOCAL_JAVA_LANGUAGE_VERSION := 1.7 121 include $(BUILD_HOST_JAVA_LIBRARY) 122 123 # Build host dependencies. 124 # ============================================================ 125 include $(CLEAR_VARS) 126 127 LOCAL_PREBUILT_JAVA_LIBRARIES := \ 128 caliper-gson-host:lib/gson-2.2.2$(COMMON_JAVA_PACKAGE_SUFFIX) \ 129 caliper-java-allocation-instrumenter-host:lib/java-allocation-instrumenter-2.0$(COMMON_JAVA_PACKAGE_SUFFIX) \ 130 caliper-jersey-client-host:lib/jersey-client-1.11$(COMMON_JAVA_PACKAGE_SUFFIX) \ 131 caliper-jersey-core-host:lib/jersey-core-1.11$(COMMON_JAVA_PACKAGE_SUFFIX) \ 132 caliper-joda-time-host:lib/joda-time-2.1$(COMMON_JAVA_PACKAGE_SUFFIX) \ 133 caliper-jsr311-api-host:lib/jsr311-api-1.1.1$(COMMON_JAVA_PACKAGE_SUFFIX) 134 135 include $(BUILD_HOST_PREBUILT) 136