1 // Copyright (C) 2011 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 java_library_static { 16 name: "dexmaker", 17 18 // Include all the java files. 19 srcs: ["dexmaker/src/main/java/**/*.java"], 20 21 static_libs: [ 22 "dexmaker-dx-target", 23 "dexmaker-dex-target", 24 ], 25 26 sdk_version: "10", 27 } 28 29 // Build Dexmaker's MockMaker, a plugin to Mockito 30 java_library_static { 31 name: "dexmaker-mockmaker", 32 sdk_version: "10", 33 srcs: ["dexmaker-mockito/src/main/java/**/*.java"], 34 java_resource_dirs: ["dexmaker-mockito/src/main/resources"], 35 libs: [ 36 "dexmaker", 37 "mockito-api", 38 ], 39 } 40 41 // Build dispatcher for Dexmaker's inline MockMaker 42 java_library_static { 43 name: "dexmaker-inline-mockmaker-dispatcher", 44 sdk_version: "current", 45 srcs: ["dexmaker-mockito-inline-dispatcher/src/main/java/**/*.java"], 46 } 47 48 // Defaults for agent code. 49 cc_defaults { 50 name: "dexmaker_agent_defaults", 51 52 // Compile with the NDK, so that the agent can be used in apps. 53 sdk_version: "current", 54 stl: "libc++_static", 55 56 host_supported: false, 57 device_supported: true, 58 59 rtti: true, 60 61 cflags: [ 62 "-std=c++11", 63 "-Wall", 64 "-Werror", 65 "-Wno-unused-parameter", 66 "-Wno-shift-count-overflow", 67 "-Wno-error=non-virtual-dtor", 68 "-Wno-sign-compare", 69 "-Wno-switch", 70 "-Wno-missing-braces", 71 ], 72 73 static_libs: [ 74 "slicer_ndk", 75 ], 76 77 shared_libs: [ 78 "libz", 79 ], 80 81 // As an NDK-based library we cannot depend on libopenjdkjvmti_headers. 82 include_dirs: [ 83 "art/openjdkjvmti/include", 84 // TODO Remove once upstream has updated to new slicer. 85 "tools/dexter/slicer/export/slicer", 86 ], 87 } 88 89 // Build agent for Dexmaker's inline MockMaker 90 cc_library_shared { 91 name: "libdexmakerjvmtiagent", 92 defaults: [ 93 "dexmaker_agent_defaults", 94 ], 95 srcs: ["dexmaker-mockito-inline/src/main/jni/**/*.cc"], 96 } 97 98 // Build agent for Dexmaker's inline tests 99 cc_library_shared { 100 name: "libmultiplejvmtiagentsinterferenceagent", 101 defaults: [ 102 "dexmaker_agent_defaults", 103 ], 104 srcs: ["dexmaker-mockito-inline-tests/src/main/jni/**/*.cc"], 105 } 106 107 // Build Dexmaker's inline MockMaker, a plugin to Mockito 108 java_library_static { 109 name: "dexmaker-inline-mockmaker", 110 sdk_version: "current", 111 srcs: ["dexmaker-mockito-inline/src/main/java/**/*.java"], 112 java_resource_dirs: ["dexmaker-mockito-inline/src/main/resources"], 113 libs: [ 114 "dexmaker", 115 "mockito-api", 116 ], 117 required: ["libdexmakerjvmtiagent"], 118 119 errorprone: { 120 javacflags: [ 121 "-Xep:CollectionIncompatibleType:WARN" 122 ], 123 } 124 } 125 126 java_import { 127 name: "dexmaker-dx-target", 128 jars: ["lib/dalvik-dx-1.jar"], 129 } 130 131 java_import { 132 name: "dexmaker-dex-target", 133 jars: ["lib/libcore-dex-2.jar"], 134 } 135