• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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