1// Copyright (C) 2019 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 15package { 16 default_visibility: [ ":__pkg__" ], 17 default_applicable_licenses: ["Android-Apache-2.0"], 18} 19 20genrule { 21 name: "statslog-statsd-java-gen", 22 tools: ["stats-log-api-gen"], 23 cmd: "$(location stats-log-api-gen) --java $(out) --module statsd" + 24 " --javaPackage com.android.internal.statsd --javaClass StatsdStatsLog --minApiLevel 30", 25 out: ["com/android/internal/statsd/StatsdStatsLog.java"], 26} 27 28java_library_static { 29 name: "statslog-statsd", 30 srcs: [ 31 ":statslog-statsd-java-gen", 32 ], 33 visibility: [ 34 "//cts/hostsidetests/statsd/apps:__subpackages__", 35 "//vendor:__subpackages__", 36 ], 37} 38 39filegroup { 40 name: "framework-statsd-sources", 41 srcs: [ 42 "java/**/*.java", 43 ":framework-statsd-aidl-sources", 44 ":statslog-statsd-java-gen", 45 ], 46 visibility: [ 47 "//frameworks/base", // For the "global" stubs. 48 "//frameworks/base/apex/statsd:__subpackages__", 49 "//packages/modules/StatsD/framework:__subpackages__", 50 ], 51} 52 53// This target is used by service-statsd to bypass the prebuilt SDK artifacts 54// for framework-statsd when SDK prebuilts are enabled. 55// 56// When SDK prebuilts are disabled, the target framework-statsd exposes all 57// Java classes/methods, not only those that are a part of a stable API surface. 58// When SDK prebuilts are enabled however, only the stable API surface is 59// exposed from that target. 60java_library { 61 name: "framework-statsd-internal", 62 defaults: ["framework-module-defaults"], 63 sdk_version: "module_current", 64 srcs: [ 65 ":framework-statsd-sources", 66 ], 67 apex_available: [ 68 "com.android.os.statsd", 69 "test_com.android.os.statsd", 70 ], 71 min_sdk_version: "30", 72 visibility: [ 73 "//packages/modules/StatsD:__subpackages__", 74 ], 75} 76 77java_sdk_library { 78 name: "framework-statsd", 79 defaults: ["framework-module-defaults"], 80 installable: true, 81 82 srcs: [ 83 ":framework-statsd-sources", 84 ], 85 86 permitted_packages: [ 87 "android.app", 88 "android.os", 89 "android.util", 90 // From :statslog-statsd-java-gen 91 "com.android.internal.statsd", 92 ], 93 94 api_packages: [ 95 "android.app", 96 "android.os", 97 "android.util", 98 ], 99 100 hostdex: true, // for hiddenapi check 101 102 impl_library_visibility: [ 103 "//frameworks/base/apex/statsd/framework/test:__subpackages__", 104 "//packages/modules/StatsD/framework/test:__subpackages__", 105 ], 106 107 apex_available: [ 108 "com.android.os.statsd", 109 "test_com.android.os.statsd", 110 ], 111 min_sdk_version: "30", 112} 113 114// JNI library for StatsLog.write 115cc_library_shared { 116 name: "libstats_jni", 117 srcs: ["jni/**/*.cpp"], 118 header_libs: ["libnativehelper_header_only"], 119 shared_libs: [ 120 "liblog", // Has a stable abi - should not be copied into apex. 121 "libstatssocket", 122 ], 123 stl: "libc++_static", 124 cflags: [ 125 "-Wall", 126 "-Werror", 127 "-Wextra", 128 "-Wno-unused-parameter", 129 ], 130 apex_available: [ 131 "com.android.os.statsd", 132 "test_com.android.os.statsd", 133 ], 134 min_sdk_version: "30", 135 visibility: [ 136 "//packages/modules/StatsD/apex:__subpackages__", 137 ], 138} 139