// Copyright (C) 2022 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_visibility: [":__subpackages__"], default_applicable_licenses: ["Android-Apache-2.0"], } java_defaults { name: "ondevicepersonalization-java-defaults", lint: { strict_updatability_linting: true, }, plugins: [ "staledataclass-annotation-processor", ], // Exports needed for staledataclass-annotation-processor, see b/139342589. javacflags: [ "-J--add-modules=jdk.compiler", "-J--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED", "-J--add-exports=jdk.compiler/com.sun.tools.javac.model=ALL-UNNAMED", "-J--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", "-J--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED", ], min_sdk_version: "Tiramisu", } filegroup { name: "ondevicepersonalization-sources", srcs: [ "src/**/*.java", "src/**/*.aidl", "src/com/android/ondevicepersonalization/services/policyengine/**/*.kt" ], path: "src", } filegroup { name: "chronicle-sources", srcs: [ "src/com/android/libraries/**/*.kt", ], path: "src", } java_library { name: "ondevicepersonalization-protos", proto: { type: "lite", }, sdk_version: "system_current", min_sdk_version: "Tiramisu", srcs: ["src/**/*.proto"], apex_available: [ "com.android.ondevicepersonalization", ] } java_genrule { name: "ondevicepersonalization-fbs", tools: [ "flatc", "soong_zip", ], host_supported: true, srcs: ["src/**/*.fbs"], out: ["ondevicepersonalization-fbs.srcjar"], cmd: "$(location flatc) -o $(genDir) --java $(in) " + "&& $(location soong_zip) -o $(out) -C $(genDir) -D $(genDir)", } android_app { name: "OnDevicePersonalization", srcs: [ ":ondevicepersonalization-sources", ":chronicle-sources", ":ondevicepersonalization-fbs", ], libs: [ "framework-ondevicepersonalization.impl", "framework-annotations-lib", "framework-configinfrastructure", "framework-connectivity.stubs.module_lib", "kotlin-annotations", ], static_libs: [ "androidx.concurrent_concurrent-futures", "guava", "kotlin-stdlib", "kotlinx_coroutines", "kotlinx-coroutines-android", "ondevicepersonalization-protos", "mobile_data_downloader_lib", "ondevicepersonalization-plugin-lib", "flatbuffers-java", "apache-velocity-engine-core", "owasp-java-encoder", ], sdk_version: "module_current", min_sdk_version: "Tiramisu", updatable: true, certificate: "platform", apex_available: ["com.android.ondevicepersonalization"], defaults: [ "ondevicepersonalization-java-defaults", ], optimize: { shrink_resources: true, proguard_flags_files: ["src/proguard.flags"], }, }