blob: 3401244c417ad3c8c43df765783dcc9e33b527be [file] [log] [blame]
// Copyright (C) 2019 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.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
soong_config_module_type_import {
from: "packages/modules/common/Android.bp",
module_types: [
"module_apex",
],
}
module_apex {
name: "com.android.os.statsd",
defaults: ["com.android.os.statsd-defaults"],
manifest: "apex_manifest.json",
enabled: false,
soong_config_variables: {
module_build_from_source: {
enabled: true,
},
},
}
apex_defaults {
bootclasspath_fragments: ["com.android.os.statsd-bootclasspath-fragment"],
jni_libs: [
"libstats_jni",
],
native_shared_libs: [
"libstatspull",
"libstatssocket",
],
binaries: ["statsd"],
java_libs: [
"service-statsd",
],
compile_multilib: "both",
prebuilts: [
"com.android.os.statsd.init.rc",
"current_sdkinfo",
],
name: "com.android.os.statsd-defaults",
updatable: true,
min_sdk_version: "30",
key: "com.android.os.statsd.key",
certificate: ":com.android.os.statsd.certificate",
}
apex_key {
name: "com.android.os.statsd.key",
public_key: "com.android.os.statsd.avbpubkey",
private_key: "com.android.os.statsd.pem",
}
android_app_certificate {
name: "com.android.os.statsd.certificate",
// This will use com.android.os.statsd.x509.pem (the cert) and
// com.android.os.statsd.pk8 (the private key)
certificate: "com.android.os.statsd",
}
prebuilt_etc {
name: "com.android.os.statsd.init.rc",
src: "statsd.rc",
filename: "init.rc",
installable: false,
}
// ==========================================================
// Make libstatssocket available to unbundled modules
// ==========================================================
sdk {
name: "statsd-module-sdk",
bootclasspath_fragments: ["com.android.os.statsd-bootclasspath-fragment"],
native_shared_libs: [
"libstatssocket",
],
}
// TODO(b/180769414): ART should be able to use the statsd-module-sdk entry,
// but unfortunately that conflicts with internal builds. Make a special copy
// for ART for the time being.
sdk {
name: "statsd-module-sdk-for-art",
native_shared_libs: [
"libstatssocket",
],
}
// Encapsulate the contributions made by the com.android.os.statsd to the bootclasspath.
bootclasspath_fragment {
name: "com.android.os.statsd-bootclasspath-fragment",
contents: ["framework-statsd"],
apex_available: ["com.android.os.statsd"],
// The bootclasspath_fragments that provide APIs on which this depends.
fragments: [
{
apex: "com.android.art",
module: "art-bootclasspath-fragment",
},
],
// Additional stubs libraries that this fragment's contents use which are
// not provided by another bootclasspath_fragment.
additional_stubs: [
"android-non-updatable",
],
hidden_api: {
max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
},
}