blob: 995e60ca048bc67307f47c628745b1518baf113b [file] [log] [blame]
// Copyright (C) 2011 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
java_library_static {
name: "dexmaker",
// Include all the java files.
srcs: ["dexmaker/src/main/java/**/*.java"],
static_libs: [
"dexmaker-dx-target",
],
sdk_version: "core_current",
}
// Build Dexmaker's MockMaker, a plugin to Mockito
java_library_static {
name: "dexmaker-mockmaker",
sdk_version: "core_current",
srcs: ["dexmaker-mockito/src/main/java/**/*.java"],
java_resource_dirs: ["dexmaker-mockito/src/main/resources"],
libs: [
"dexmaker",
"mockito-api",
],
}
// Build dispatcher for Dexmaker's inline MockMaker
java_library_static {
name: "dexmaker-inline-mockmaker-dispatcher",
sdk_version: "core_current",
srcs: ["dexmaker-mockito-inline-dispatcher/src/main/java/**/*.java"],
}
// Defaults for agent code.
cc_defaults {
name: "dexmaker_agent_defaults",
// Compile with the NDK, so that the agent can be used in apps.
sdk_version: "current",
stl: "libc++_static",
host_supported: false,
device_supported: true,
rtti: true,
cflags: [
"-std=c++11",
"-Wall",
"-Werror",
"-Wno-unused-parameter",
"-Wno-shift-count-overflow",
"-Wno-error=non-virtual-dtor",
"-Wno-sign-compare",
"-Wno-switch",
"-Wno-missing-braces",
],
static_libs: [
"slicer_ndk",
],
shared_libs: [
"libz",
],
header_libs: [
"jni_headers",
"libopenjdkjvmti_headers",
],
}
// Build agent for Dexmaker's inline MockMaker
cc_library_shared {
name: "libdexmakerjvmtiagent",
defaults: [
"dexmaker_agent_defaults",
],
srcs: ["dexmaker-mockito-inline/src/main/jni/**/*.cc"],
}
// Build agent for Dexmaker's extended MockMaker
cc_library_shared {
name: "libstaticjvmtiagent",
defaults: [
"dexmaker_agent_defaults",
],
srcs: ["dexmaker-mockito-inline-extended/src/main/jni/**/*.cc"],
}
// Build agent for Dexmaker's inline tests
cc_library_shared {
name: "libmultiplejvmtiagentsinterferenceagent",
defaults: [
"dexmaker_agent_defaults",
],
srcs: ["dexmaker-mockito-inline-tests/src/main/jni/**/*.cc"],
}
// Build Dexmaker's inline MockMaker, a plugin to Mockito
java_library_static {
name: "dexmaker-inline-mockmaker",
sdk_version: "current",
srcs: ["dexmaker-mockito-inline/src/main/java/**/*.java"],
java_resource_dirs: ["dexmaker-mockito-inline/src/main/resources"],
libs: [
"dexmaker",
"mockito-api",
],
required: ["libdexmakerjvmtiagent"],
}
// Build Dexmaker's extended MockMaker, a plugin to Mockito
java_library_static {
name: "dexmaker-extended-mockmaker",
sdk_version: "current",
srcs: ["dexmaker-mockito-inline-extended/src/main/java/**/*.java"],
java_resource_dirs: ["dexmaker-mockito-inline/src/main/resources"],
libs: [
"dexmaker",
"mockito-api",
"dexmaker-inline-mockmaker",
],
required: [
"libdexmakerjvmtiagent",
"libstaticjvmtiagent",
],
}
// Provides mockito functionality for on-device tests. Does not allow stubbing of final or static
// methods.
java_library_static {
name: "mockito-target",
static_libs: [
"mockito-target-minus-junit4",
"junit",
],
sdk_version: "core_current",
}
// Same as mockito-target but does not bundle junit
java_library_static {
name: "mockito-target-minus-junit4",
static_libs: [
"mockito",
"dexmaker",
"dexmaker-mockmaker",
"objenesis",
],
libs: ["junit"],
sdk_version: "core_current",
java_version: "1.7",
}
// Provides mockito functionality for on-device tests. Allows stubbing of final methods. Does not
// allow stubbing of static methods.
// Project depending on this also need to depend on the static JNI library libdexmakerjvmtiagent
java_library_static {
name: "mockito-target-inline",
static_libs: [
"mockito-target-inline-minus-junit4",
"junit",
],
sdk_version: "current",
}
// Same as mockito-target-inline but does not bundle junit
java_library_static {
name: "mockito-target-inline-minus-junit4",
static_libs: [
"mockito",
"dexmaker",
"dexmaker-inline-mockmaker",
"objenesis",
],
libs: ["junit"],
sdk_version: "current",
java_version: "1.7",
}
// Provides mockito functionality for on-device tests. Allows stubbing of final and static methods.
// Stubbing static methods is not an official mockito API.
// Project depending on this also need to depend on the static JNI libraries libstaticjvmtiagent and
// libdexmakerjvmtiagent
java_library_static {
name: "mockito-target-extended",
static_libs: [
"mockito-target-extended-minus-junit4",
"junit",
],
sdk_version: "current",
}
// Same as mockito-target-extended but does not bundle junit
java_library_static {
name: "mockito-target-extended-minus-junit4",
static_libs: [
"mockito",
"dexmaker",
"dexmaker-inline-mockmaker",
"dexmaker-extended-mockmaker",
"objenesis",
],
libs: ["junit"],
sdk_version: "current",
java_version: "1.7",
}
java_import {
name: "dexmaker-dx-target",
jars: ["lib/dalvik-dx-9.0.0_r3.jar"],
}
// dexmaker tests
java_library_static {
name: "dexmaker-tests-lib",
sdk_version: "current",
srcs: ["dexmaker-tests/src/androidTest/java/**/*.java"],
libs: [
"androidx.test.rules",
"dexmaker",
"junit",
],
}
// dexmaker-mockito tests
java_library_static {
name: "dexmaker-mockmaker-tests",
sdk_version: "current",
srcs: ["dexmaker-mockito-tests/src/main/java/**/*.java"],
libs: [
"androidx.test.rules",
"dexmaker",
"mockito",
"junit",
"dexmaker-mockmaker",
],
}
// dexmaker-mockito-inline tests
java_library_static {
name: "dexmaker-inline-mockmaker-tests",
sdk_version: "current",
srcs: ["dexmaker-mockito-inline-tests/src/main/java/**/*.java"],
libs: [
"androidx.test.rules",
"dexmaker",
"android-support-v4",
"mockito",
"junit",
"dexmaker-inline-mockmaker",
],
}
// dexmaker-mockito-extended tests
java_library_static {
name: "dexmaker-extended-mockmaker-tests",
sdk_version: "current",
srcs: ["dexmaker-mockito-inline-extended-tests/src/main/java/**/*.java"],
libs: [
"androidx.test.rules",
"dexmaker",
"android-support-v4",
"mockito",
"junit",
"dexmaker-extended-mockmaker",
],
}
/*
* To run the tests:
* atest DexmakerTests
*/
android_test {
name: "DexmakerTests",
sdk_version: "current",
static_libs: [
"dexmaker-tests-lib",
"dexmaker",
"androidx.test.rules",
"junit",
],
}