Newer
Older
// Copyright (C) 2016 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.
// Build the master framework library.
// READ ME: ########################################################
//
// When updating this list of aidl files, consider if that aidl is
// part of the SDK API. If it is, also add it to the list in Android.mk
// that is preprocessed and distributed with the SDK. This list should
// not contain any aidl files for parcelables, but the one below should
// if you intend for 3rd parties to be able to send those objects
// across process boundaries.
//
// READ ME: ########################################################
name: "framework-core-sources",
"core/java/**/*.aidl",
],
path: "core/java",
}
// These are subset of framework-core-sources that are needed by the
// android.test.mock library. The implementation of android.test.mock references
// private members of various components to allow mocking of classes that cannot
// be mocked without access to those internal implementation details.
filegroup {
name: "framework-core-sources-for-test-mock",
srcs: [
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
"core/java/android/accounts/AccountManagerCallback.java",
"core/java/android/accounts/AccountManagerFuture.java",
"core/java/android/accounts/AccountManager.java",
"core/java/android/accounts/AccountsException.java",
"core/java/android/accounts/AuthenticatorException.java",
"core/java/android/accounts/OperationCanceledException.java",
"core/java/android/annotation/AnimatorRes.java",
"core/java/android/annotation/AnimRes.java",
"core/java/android/annotation/AnyRes.java",
"core/java/android/annotation/ArrayRes.java",
"core/java/android/annotation/AttrRes.java",
"core/java/android/annotation/BoolRes.java",
"core/java/android/annotation/BroadcastBehavior.java",
"core/java/android/annotation/CallbackExecutor.java",
"core/java/android/annotation/CallSuper.java",
"core/java/android/annotation/CheckResult.java",
"core/java/android/annotation/ColorInt.java",
"core/java/android/annotation/ColorRes.java",
"core/java/android/annotation/DimenRes.java",
"core/java/android/annotation/DrawableRes.java",
"core/java/android/annotation/FontRes.java",
"core/java/android/annotation/FractionRes.java",
"core/java/android/annotation/IntDef.java",
"core/java/android/annotation/IntegerRes.java",
"core/java/android/annotation/IntRange.java",
"core/java/android/annotation/LayoutRes.java",
"core/java/android/annotation/NonNull.java",
"core/java/android/annotation/Nullable.java",
"core/java/android/annotation/PluralsRes.java",
"core/java/android/annotation/RawRes.java",
"core/java/android/annotation/RequiresPermission.java",
"core/java/android/annotation/SdkConstant.java",
"core/java/android/annotation/Size.java",
"core/java/android/annotation/StringDef.java",
"core/java/android/annotation/StringRes.java",
"core/java/android/annotation/StyleableRes.java",
"core/java/android/annotation/StyleRes.java",
"core/java/android/annotation/SuppressLint.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/SystemService.java",
"core/java/android/annotation/TestApi.java",
"core/java/android/annotation/UserIdInt.java",
"core/java/android/annotation/XmlRes.java",
"core/java/android/app/Application.java",
"core/java/android/app/IApplicationThread.aidl",
"core/java/android/app/IServiceConnection.aidl",
"core/java/android/app/PackageDeleteObserver.java",
"core/java/android/content/ComponentCallbacks2.java",
"core/java/android/content/ComponentCallbacks.java",
"core/java/android/content/ContentInterface.java",
"core/java/android/content/ContentProvider.java",
"core/java/android/content/ContentProviderNative.java",
"core/java/android/content/ContentResolver.java",
"core/java/android/content/Context.java",
"core/java/android/content/ContextWrapper.java",
"core/java/android/content/DialogInterface.java",
"core/java/android/content/IContentProvider.java",
"core/java/android/content/Intent.java",
"core/java/android/content/IntentSender.java",
"core/java/android/content/OperationApplicationException.java",
"core/java/android/content/pm/ActivityInfo.java",
"core/java/android/content/pm/ApplicationInfo.java",
"core/java/android/content/pm/InstantAppInfo.java",
"core/java/android/content/pm/IPackageDataObserver.aidl",
"core/java/android/content/pm/KeySet.java",
"core/java/android/content/pm/PackageManager.java",
"core/java/android/content/pm/VerifierDeviceIdentity.java",
"core/java/android/content/res/Resources.java",
"core/java/android/database/CrossProcessCursor.java",
"core/java/android/database/CrossProcessCursorWrapper.java",
"core/java/android/database/Cursor.java",
"core/java/android/database/CursorWrapper.java",
"core/java/android/os/Binder.java",
"core/java/android/os/Bundle.java",
"core/java/android/os/IBinder.java",
"core/java/android/os/IInterface.java",
"core/java/android/os/Parcelable.java",
"core/java/android/os/ParcelFileDescriptor.java",
"core/java/android/os/RemoteException.java",
"core/java/android/os/storage/VolumeInfo.java",
"core/java/android/util/AndroidException.java",
"core/java/android/view/DisplayAdjustments.java",
"core/java/android/view/ViewDebug.java",
"core/java/com/android/internal/annotations/VisibleForTesting.java",
],
path: "core/java",
visibility: ["//frameworks/base/test-mock"],
filegroup {
name: "framework-drm-sources",
srcs: [
"drm/java/**/*.java",
],
path: "drm/java",
}
filegroup {
name: "framework-graphics-sources",
srcs: [
"graphics/java/**/*.aidl",
],
path: "graphics/java",
}
filegroup {
name: "framework-identity-sources",
srcs: [
"identity/java/**/*.java",
],
path: "identity/java",
}
filegroup {
name: "framework-keystore-sources",
srcs: [
"keystore/java/**/*.java",
"keystore/java/**/*.aidl",
],
path: "keystore/java",
}
filegroup {
name: "framework-location-sources",
srcs: [
"location/java/**/*.aidl",
],
path: "location/java",
}
filegroup {
name: "framework-lowpan-sources",
srcs: [
"lowpan/java/**/*.aidl",
],
path: "lowpan/java",
}
filegroup {
name: "framework-media-sources",
srcs: [
"media/java/**/*.aidl",
],
path: "media/java",
}
filegroup {
name: "framework-mca-effect-sources",
srcs: [
],
path: "media/mca/effect/java",
}
filegroup {
name: "framework-mca-filterfw-sources",
srcs: [
],
path: "media/mca/filterfw/java",
}
filegroup {
name: "framework-mca-filterpacks-sources",
srcs: [
"media/mca/filterpacks/java/**/*.java",
],
path: "media/mca/filterpacks/java",
}
filegroup {
name: "framework-mime-sources",
srcs: [
"mime/java/**/*.java",
],
path: "mime/java",
}
filegroup {
name: "framework-opengl-sources",
srcs: [
],
path: "opengl/java",
}
filegroup {
name: "framework-rs-sources",
srcs: [
"rs/java/**/*.java",
],
path: "rs/java",
}
filegroup {
name: "framework-sax-sources",
srcs: [
],
path: "sax/java",
}
filegroup {
name: "framework-telecomm-sources",
srcs: [
"telecomm/java/**/*.aidl",
],
path: "telecomm/java",
}
filegroup {
name: "framework-telephony-sources",
srcs: [
"telephony/java/**/*.aidl",
],
path: "telephony/java",
}
Amit Mahajan
committed
filegroup {
name: "framework-telephony-common-sources",
srcs: [
"telephony/common/**/*.java",
],
path: "telephony/common",
}
filegroup {
name: "framework-mms-sources",
srcs: [
"mms/java/**/*.java",
"mms/java/**/*.aidl",
],
path: "mms/java",
}
filegroup {
name: "framework-wifi-sources",
srcs: [
"wifi/java/**/*.aidl",
path: "wifi/java",
filegroup {
name: "framework-wifi-updatable-exported-aidl-sources",
srcs: [
"wifi/aidl-export/**/*.aidl",
],
path: "wifi/aidl-export",
}
name: "framework-non-updatable-sources",
srcs: [
// Java/AIDL sources under frameworks/base
":framework-core-sources",
":framework-drm-sources",
":framework-graphics-sources",
":framework-keystore-sources",
":framework-identity-sources",
":framework-location-sources",
":framework-lowpan-sources",
":framework-media-sources",
":framework-mca-effect-sources",
":framework-mca-filterfw-sources",
":framework-mca-filterpacks-sources",
":framework-mms-sources",
":framework-opengl-sources",
":framework-rs-sources",
":framework-sax-sources",
":framework-telecomm-sources",
Amit Mahajan
committed
":framework-telephony-common-sources",
":framework-telephony-sources",
":framework-wifi-sources",
":PacProcessor-aidl-sources",
":ProxyHandler-aidl-sources",
":net-utils-framework-common-srcs",
// AIDL from frameworks/base/native/
":platform-compat-native-aidl",
// AIDL sources from external directories
":dumpstate_aidl",
":framework_native_aidl",
":gatekeeper_aidl",
":gsiservice_aidl",
":incidentcompanion_aidl",
":installd_aidl",
":keystore_aidl",
":libaudioclient_aidl",
":libbinder_aidl",
":libbluetooth-binder-aidl",
":libcamera_client_aidl",
":libcamera_client_framework_aidl",
":libupdate_engine_aidl",
":storaged_aidl",
":vold_aidl",
// For the generated R.java and Manifest.java
":framework-res{.aapt.srcjar}",
// etc.
":framework-javastream-protos",
":framework-statslog-gen", // StatsLogInternal.java
":statslog-framework-java-gen", // FrameworkStatsLog.java
filegroup {
name: "framework-updatable-sources",
srcs: [
":framework-sdkextensions-sources",
":framework-tethering-srcs",
":framework-wifi-updatable-exported-aidl-sources",
java_library {
name: "framework-updatable-stubs-module_libs_api",
static_libs: [
"framework-sdkextensions-stubs-module_libs_api",
"framework-tethering-stubs-module_libs_api",
"updatable_media_stubs",
],
sdk_version: "module_current",
visibility: [":__pkg__"],
}
filegroup {
name: "framework-all-sources",
srcs: [
":framework-mime-sources",
":framework-non-updatable-sources",
":framework-updatable-sources",
java_defaults {
name: "framework-aidl-export-defaults",
aidl: {
export_include_dirs: [
"core/java",
"drm/java",
"graphics/java",
"keystore/java",
"location/java",
"lowpan/java",
"media/java",
"media/apex/java",
"media/mca/effect/java",
"media/mca/filterfw/java",
"media/mca/filterpacks/java",
"opengl/java",
"rs/java",
"sax/java",
"telecomm/java",
"wifi/java",
// TODO(b/147699819): remove this
"telephony/java",
// Collection of classes that are generated from non-Java files that are not listed in
// framework_srcs. These have no or very limited dependency to the framework.
java_library {
name: "framework-internal-utils",
"suspend_control_aidl_interface-java",
"android.hardware.cas-V1.1-java",
"android.hardware.cas-V1.0-java",
"android.hardware.contexthub-V1.0-java",
"android.hardware.health-V1.0-java-constants",
"android.hardware.radio-V1.0-java",
"android.hardware.radio-V1.1-java",
"android.hardware.radio-V1.2-java",
"android.hardware.radio-V1.3-java",
"android.hardware.radio-V1.4-java",
"android.hardware.radio-V1.5-java",
"android.hardware.thermal-V1.0-java-constants",
"android.hardware.thermal-V1.0-java",
"android.hardware.thermal-V1.1-java",
"android.hardware.thermal-V2.0-java",
"android.hardware.tv.input-V1.0-java-constants",
"android.hardware.usb-V1.0-java-constants",
"android.hardware.usb-V1.1-java-constants",
"android.hardware.usb-V1.2-java-constants",
"android.hardware.usb.gadget-V1.0-java",
"android.hardware.vibrator-V1.0-java",
"android.hardware.vibrator-V1.1-java",
"android.hardware.vibrator-V1.2-java",
"android.hardware.vibrator-V1.3-java",
"android.hardware.wifi-V1.0-java-constants",
"devicepolicyprotosnano",
"com.android.sysprop.apex",
"com.android.sysprop.init",
sdk_version: "core_platform",
installable: false,
}
java_defaults {
name: "framework-defaults",
defaults: ["framework-aidl-export-defaults"],
installable: true,
aidl: {
generate_get_transaction_name: true,
},
srcs: ["core/java/**/*.logtags"],
exclude_srcs: [
// See comment on framework-atb-backward-compatibility module below
"core/java/android/content/pm/AndroidTestBaseUpdater.java",
],
sdk_version: "core_platform",
libs: [
"app-compat-annotations",
"unsupportedappusage",
],
jarjar_rules: ":framework-jarjar-rules",
static_libs: [
"framework-internal-utils",
],
// TODO: remove gps_debug when the build system propagates "required" properly.
"gps_debug.conf",
dxflags: [
"--core-library",
"--multi-dex",
],
plugins: ["view-inspector-annotation-processor"],
filegroup {
name: "framework-jarjar-rules",
srcs: ["jarjar_rules_hidl.txt"],
}
filegroup {
name: "libincident_aidl",
srcs: [
"core/java/android/os/IIncidentManager.aidl",
"core/java/android/os/IIncidentReportStatusListener.aidl",
],
}
filegroup {
name: "statsd_aidl",
srcs: [
"core/java/android/os/IStatsCompanionService.aidl",
"core/java/android/os/IStatsManager.aidl",
"core/java/android/os/IStatsPullerCallback.aidl",
filegroup {
name: "libvibrator_aidl",
srcs: [
"core/java/android/os/IExternalVibrationController.aidl",
"core/java/android/os/IExternalVibratorService.aidl",
],
name: "framework-minus-apex",
defaults: ["framework-defaults"],
srcs: [":framework-non-updatable-sources"],
required: [
"framework-platform-compat-config",
"libcore-platform-compat-config",
"services-platform-compat-config",
libs: ["framework-updatable-stubs-module_libs_api"],
// If MimeMap ever becomes its own APEX, then this dependency would need to be removed
// in favor of an API stubs dependency in java_library "framework" below.
// For backwards compatibility.
stem: "framework",
apex_available: ["//apex_available:platform"],
visibility: [
// TODO(b/147128803) remove the below lines
"//frameworks/base/packages/Tethering/tests/unit",
],
}
// This "framework" module is NOT installed to the device. It's
// "framework-minus-apex" that gets installed to the device. Note that
// the filename is still framework.jar (via the stem property) for
// compatibility reason. The purpose of this module is to provide
// framework APIs (both public and private) for bundled apps.
// "framework-minus-apex" can't be used for the purpose because 1)
// many apps have already hardcoded the name "framework" and
// 2) it lacks API symbols from updatable modules - as it's clear from
// its suffix "-minus-apex".
java_library {
name: "framework",
defaults: ["framework-aidl-export-defaults"],
installable: false, // this lib is a build-only library
static_libs: [
"framework-minus-apex",
"framework-updatable-stubs-module_libs_api",
],
sdk_version: "core_platform",
apex_available: ["//apex_available:platform"],
java_library {
name: "framework-all",
defaults: ["framework-defaults"],
srcs: [":framework-all-sources"],
installable: false,
static_libs: [
// Additional dependencies needed to build the ike API classes.
"ike-internals",
],
apex_available: ["//apex_available:platform"],
visibility: [
// DO NOT ADD ANY MORE ENTRIES TO THIS LIST
"//external/robolectric-shadows:__subpackages__",
"//frameworks/layoutlib:__subpackages__",
],
platform_compat_config {
name: "framework-platform-compat-config",
src: ":framework-minus-apex",
// A temporary build target that is conditionally included on the bootclasspath if
// android.test.base library has been removed and which provides support for
// maintaining backwards compatibility for APKs that target pre-P and depend on
// android.test.base classes. This is used iff REMOVE_ATB_FROM_BCP=true is
// specified on the build command line.
java_library {
name: "framework-atb-backward-compatibility",
installable: true,
libs: ["app-compat-annotations"],
srcs: [
"core/java/android/content/pm/AndroidTestBaseUpdater.java",
],
}
genrule {
name: "framework-statslog-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --worksource",
out: ["android/util/StatsLogInternal.java"],
genrule {
name: "statslog-framework-java-gen",
tools: ["stats-log-api-gen"],
cmd: "$(location stats-log-api-gen) --java $(out) --module framework" +
" --javaPackage com.android.internal.util --javaClass FrameworkStatsLog --worksource",
out: ["com/android/internal/util/FrameworkStatsLog.java"],
}
gensrcs {
name: "framework-javastream-protos",
depfile: true,
tools: [
"aprotoc",
"protoc-gen-javastream",
"soong_zip",
],
cmd: "mkdir -p $(genDir)/$(in) " +
"&& $(location aprotoc) " +
" --plugin=$(location protoc-gen-javastream) " +
" --dependency_out=$(depfile) " +
" --javastream_out=$(genDir)/$(in) " +
" -Iexternal/protobuf/src " +
" -I . " +
" $(in) " +
"&& $(location soong_zip) -jar -o $(out) -C $(genDir)/$(in) -D $(genDir)/$(in)",
srcs: [
"core/proto/**/*.proto",
"libs/incident/**/*.proto",
],
name: "framework-annotations",
"core/java/android/annotation/Hide.java",
"core/java/android/annotation/NonNull.java",
"core/java/android/annotation/Nullable.java",
"core/java/android/annotation/IntDef.java",
"core/java/android/annotation/IntRange.java",
"core/java/android/annotation/RequiresPermission.java",
"core/java/android/annotation/SystemApi.java",
"core/java/android/annotation/TestApi.java",
"core/java/com/android/internal/annotations/GuardedBy.java",
"core/java/com/android/internal/annotations/VisibleForTesting.java",
java_library {
name: "framework-annotations-lib",
srcs: [ ":framework-annotations" ],
sdk_version: "core_current",
filegroup {
name: "framework-ike-shared-srcs",
visibility: ["//frameworks/opt/net/ike"],
srcs: [
"core/java/android/annotation/StringDef.java",
"core/java/android/net/annotations/PolicyDirection.java",
"core/java/com/android/internal/util/HexDump.java",
"core/java/com/android/internal/util/IState.java",
"core/java/com/android/internal/util/State.java",
"core/java/com/android/internal/util/StateMachine.java",
"telephony/java/android/telephony/Annotation.java",
],
}
filegroup {
name: "framework-networkstack-shared-srcs",
srcs: [
// TODO: remove these annotations as soon as we can use andoid.support.annotations.*
":framework-annotations",
"core/java/android/net/DhcpResults.java",
"core/java/android/util/LocalLog.java",
"core/java/com/android/internal/util/HexDump.java",
"core/java/com/android/internal/util/IndentingPrintWriter.java",
"core/java/com/android/internal/util/IState.java",
"core/java/com/android/internal/util/MessageUtils.java",
"core/java/com/android/internal/util/Preconditions.java",
"core/java/com/android/internal/util/RingBufferIndices.java",
"core/java/com/android/internal/util/State.java",
"core/java/com/android/internal/util/StateMachine.java",
"core/java/com/android/internal/util/TrafficStatsConstants.java",
"core/java/com/android/internal/util/WakeupMessage.java",
"core/java/com/android/internal/util/TokenBucket.java",
"core/java/android/net/shared/*.java",
// utility classes statically linked into framework-wifi and dynamically linked
// into wifi-service
java_library {
name: "framework-wifi-util-lib",
sdk_version: "module_current",
srcs: [
"core/java/android/net/shared/Inet4AddressUtils.java",
"core/java/com/android/internal/util/Preconditions.java",
],
libs: [
"framework-annotations-lib",
"unsupportedappusage",
],
visibility: [
"//frameworks/base/wifi",
"//frameworks/base/services/net",
],
}
filegroup {
name: "framework-services-net-module-wifi-shared-srcs",
srcs: [
"core/java/android/net/DhcpResults.java",
"core/java/android/net/shared/InetAddressUtils.java",
"core/java/android/net/util/IpUtils.java",
"core/java/android/util/LocalLog.java",
],
}
// keep these files in sync with the package/Tethering/jarjar-rules.txt for the tethering module.
filegroup {
name: "framework-tethering-shared-srcs",
srcs: [
"core/java/android/util/LocalLog.java",
"core/java/com/android/internal/util/IndentingPrintWriter.java",
"core/java/com/android/internal/util/IState.java",
"core/java/com/android/internal/util/MessageUtils.java",
"core/java/com/android/internal/util/State.java",
"core/java/com/android/internal/util/StateMachine.java",
"core/java/com/android/internal/util/TrafficStatsConstants.java",
"core/java/android/net/shared/Inet4AddressUtils.java",
// Build ext.jar
// ============================================================
java_library {
name: "ext",
sdk_version: "core_platform",
static_libs: [
"libphonenumber-platform",
"tagsoup",
"libtextclassifier-java",
],
required: [
"libtextclassifier",
],
dxflags: ["--core-library"],
}
// ==== java proto host library ==============================
java_library_host {
name: "platformprotos",
srcs: [
"cmds/am/proto/instrumentation_data.proto",
"core/proto/**/*.proto",
"libs/incident/proto/**/*.proto",
],
proto: {
include_dirs: ["external/protobuf/src"],
type: "full",
},
errorprone: {
javacflags: ["-Xep:MissingOverride:OFF"], // b/72714520
// ==== java proto device library (for test only) ==============================
java_library {
name: "platformprotosnano",
proto: {
type: "nano",
output_params: ["store_unknown_fields=true"],
include_dirs: ["external/protobuf/src"],
},
exclude_srcs: [
"core/proto/android/privacy.proto",
"core/proto/android/section.proto",
],
srcs: [
"core/proto/**/*.proto",
"libs/incident/proto/android/os/**/*.proto",
],
}
// ==== java proto device library (for test only) ==============================
java_library {
name: "platformprotoslite",
proto: {
type: "lite",
include_dirs: ["external/protobuf/src"],
},
srcs: [
"core/proto/**/*.proto",
"libs/incident/proto/android/os/**/*.proto",
],
exclude_srcs: [
"core/proto/android/privacy.proto",
"core/proto/android/section.proto",
],
sdk_version: "core_current",
// Protos have lots of MissingOverride and similar.
errorprone: {
javacflags: ["-XepDisableAllChecks"],
},
}
// ==== c++ proto device library ==============================
cc_defaults {
name: "libplatformprotos-defaults",
proto: {
export_proto_headers: true,
include_dirs: ["external/protobuf/src"],
},
cflags: [
"-Wall",
"-Werror",
"-Wno-unused-parameter",
],
srcs: [
"core/proto/**/*.proto",
],
}
cc_library {
name: "libplatformprotos",
defaults: ["libplatformprotos-defaults"],
host_supported: true,
target: {
host: {
proto: {
type: "full",
},
},
android: {
proto: {
type: "lite",
},
shared_libs: [
"libprotobuf-cpp-lite",
],
shared: {
enabled: false,
},
},
},
}
Joe Onorato
committed
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
// This library is meant for vendor code that needs to output protobuf. It links
// against the static version of libprotobuf-cpp-lite, for which we can not guarantee
// binary compatibility.
cc_library {
name: "libplatformprotos-static",
defaults: ["libplatformprotos-defaults"],
host_supported: false,
// This is okay because this library is only built as a static library. The C++
// API is not guaranteed. The proto API is guaranteed to be stable via Metrics Council,
// but is not authorized to be used outside of debugging.
vendor_available: true,
target: {
android: {
proto: {
type: "lite",
},
static_libs: [
"libprotobuf-cpp-lite",
],
shared: {
enabled: false,
},
},
},
}
// This is the full proto version of libplatformprotos. It may only
// be used by test code that is not shipped on the device.
cc_library {
name: "libplatformprotos-test",
defaults: ["libplatformprotos-defaults"],
host_supported: false,
target: {
android: {
proto: {
type: "full",
},
shared: {
enabled: false,
},
},
},
}
filegroup {
name: "incremental_aidl",
srcs: [
"core/java/android/os/incremental/IncrementalFileSystemControlParcel.aidl",
],
path: "core/java",
}
aidl_interface {
name: "libincremental_aidl",
srcs: [
":incremental_aidl",
],
backend: {
java: {
sdk_version: "28",
},
cpp: {
enabled: true,
},
ndk: {
enabled: true,
},
},
}
gensrcs {
name: "gen-platform-proto-constants",
depfile: true,
tools: [
"aprotoc",
"protoc-gen-cppstream",
],
srcs: [
"core/proto/android/os/batterytype.proto",
"core/proto/android/os/data.proto",
"core/proto/android/os/kernelwake.proto",
"core/proto/android/os/pagetypeinfo.proto",
"core/proto/android/os/procrank.proto",
"core/proto/android/os/system_properties.proto",
"core/proto/android/util/event_log_tags.proto",
"core/proto/android/util/log.proto",
],
// Append protoc-gen-cppstream tool's PATH otherwise aprotoc can't find the plugin tool
cmd: "mkdir -p $(genDir) " +
"&& $(location aprotoc) " +
" --plugin=$(location protoc-gen-cppstream) " +
" --dependency_out=$(depfile) " +
" --cppstream_out=$(genDir) " +
" -Iexternal/protobuf/src " +
" -I . " +
" $(in)",