Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Android/tools/tools/external_updater/tests/endtoend/   (Android Betriebssystem Version 17©)  Datei vom 26.5.2026 mit Größe 2 kB image not shown  

Quellcode-Bibliothek Android.bp   Sprache: unbekannt

 
Spracherkennung für: .bp vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

//
// Copyright (C) 2025 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: ["packages_apps_PersonalContext_license"],
    default_visibility: ["//packages/apps/PersonalContext:__subpackages__"],
}

license {
    name: "packages_apps_PersonalContext_license",
    visibility: [":__subpackages__"],
    license_kinds: ["SPDX-license-identifier-Apache-2.0"],
    license_text: ["NOTICE"],
}

// =============================================================================
// SHARED DEFAULTS
// =============================================================================
// Common settings for both Production and Debug apps.
java_defaults {
    name: "PersonalContext_defaults",
    certificate: "platform",
    product_specific: true,
    sdk_version: "system_current",
    privileged: true,
    optimize: {
        enabled: true,
        optimize: true,
        proguard_flags_files: ["proguard.flags"],
        ignore_warnings: false,
    },
    kotlincflags: ["-Xjvm-default=all"],
    plugins: ["dagger2-compiler"],
}

// =============================================================================
// LIBRARIES
// =============================================================================
// Protos
java_library_static {
    name: "PersonalContextProtoLib",
    sdk_version: "system_current",
    srcs: ["src/com/android/personalcontext/**/*.proto"],
    proto: {
        type: "lite",
        local_include_dirs: ["src/com/android/personalcontext"],
    },
}

// The core library containing all logic and services.
// Excludes the Application class and Debug UI to allow for flexible linking.
android_library {
    name: "PersonalContextLib",
    sdk_version: "system_current",
    java_version: "21",
    manifest: "AndroidManifest.xml",
    resource_dirs: ["res"],

    srcs: [
        "src/**/*.java",
        "src/**/*.kt",
    ],

    exclude_srcs: [
        "src/com/android/personalcontext/app/debug/**/*.java",
        "src/com/android/personalcontext/app/debug/**/*.kt",
        "src/com/android/personalcontext/aicore/**/*.java",
        "src/com/android/personalcontext/aicore/**/*.kt",
        // only ".../evaluation/common/..." should be included
        "src/com/android/personalcontext/evaluation/dagger/**/*.java",
        "src/com/android/personalcontext/evaluation/dagger/**/*.kt",
        "src/com/android/personalcontext/evaluation/database/**/*.java",
        "src/com/android/personalcontext/evaluation/database/**/*.kt",
        "src/com/android/personalcontext/evaluation/impl/**/*.java",
        "src/com/android/personalcontext/evaluation/impl/**/*.kt",
        "src/com/android/personalcontext/evaluation/proto/**/*.java",
        "src/com/android/personalcontext/evaluation/proto/**/*.kt",
        "src/com/android/personalcontext/safeparcel/**/*.java",
        "src/com/android/personalcontext/safeparcel/**/*.kt",
        "safeparcel-processor/**/*.java",
        "safeparcel-processor/**/*.kt",
    ],

    static_libs: [
        "PersonalContextProtoLib",
        "com_android_personalcontext_flags_lib",
        "aicore-lib",
        "androidx.annotation_annotation",
        "androidx.appcompat_appcompat",
        "androidx.appfunctions_appfunctions",
        "androidx.appfunctions_appfunctions-service",
        "androidx.appsearch_appsearch",
        "androidx.appsearch_appsearch-platform-storage",
        "androidx.room_room-runtime",
        "androidx.work_work-runtime",
        "dagger2",
        "jsr305",
        "jsr330",
        "kotlin-stdlib",
        "kotlinx-coroutines-android",
        "kotlinx-coroutines-core",
        "kotlinx_coroutines_guava",
        "kotlinx_coroutines",
    ],

    plugins: [
        "androidx.appsearch_appsearch-compiler-plugin",
        "androidx.room_room-compiler-plugin",
        "dagger2-compiler",
    ],

    flags_packages: [
        "com_android_personalcontext_flags",
    ],

    kotlincflags: ["-Xjvm-default=all"],
    enable_ksp: true,
    annotation_processor_flags: ["appfunctions\\:aggregateAppFunctions=true"],
    optional_uses_libs: ["com.android.extensions.appfunctions"],
}

// AICore
java_library {
    name: "aicore-lib",
    sdk_version: "system_current",
    srcs: [
        "src/com/android/personalcontext/aicore/**/*.java",
        "src/com/android/personalcontext/aicore/**/*.kt",
        "src/com/android/personalcontext/common/utils/TimeSource.kt",
        "src/com/android/personalcontext/dagger/**/*.kt",
        "src/com/android/personalcontext/safeparcel/**/*.java",
        "src/com/android/personalcontext/safeparcel/**/*.kt",
    ],
    static_libs: [
        "androidx.annotation_annotation",
        "androidx.core_core",
        "androidx.core_core-ktx",
        "dagger2",
        "jsr305",
        "jsr330",
        "kotlin-stdlib",
        "kotlinx-coroutines-android",
        "kotlinx-coroutines-core",
        "kotlinx_coroutines",
        "kotlinx_coroutines_guava",
        "guava",
    ],
    plugins: [
        "dagger2-compiler",
        "safeparcel-processor",
    ],
}

// =============================================================================
// APPS
// =============================================================================
// Production Target: no Launcher icon.
android_app {
    name: "PersonalContext",
    defaults: ["PersonalContext_defaults"],

    visibility: [
        "//packages/apps/PersonalContext:__subpackages__",
        "//build/make/target/product/gsi",
    ],

    manifest: "AndroidManifest.xml",

    static_libs: [
        "PersonalContextLib",
        "dagger2",
        "jsr330",
    ],
}

// Debug Target: Includes Debug UI and Launcher icon.
android_app {
    name: "PersonalContextDebug",
    defaults: ["PersonalContext_defaults"],
    overrides: ["PersonalContext"],

    manifest: "src/com/android/personalcontext/app/debug/AndroidManifest.xml",
    additional_manifests: ["AndroidManifest.xml"],

    srcs: [
        "src/com/android/personalcontext/app/debug/**/*.java",
        "src/com/android/personalcontext/app/debug/**/*.kt",
    ],

    asset_dirs: ["src/main/assets"],

    static_libs: [
        "PersonalContextLib",
        "androidx.appcompat_appcompat",
        "androidx.activity_activity-compose",
        "androidx.compose.material3_material3",
        "androidx.compose.runtime_runtime",
        "dagger2",
        "icing-java-proto-lite",
        "jsr330",
        "androidx.compose.foundation_foundation",
        "androidx.compose.foundation_foundation-layout",
        "androidx.compose.ui_ui",
        "androidx.lifecycle_lifecycle-viewmodel-compose",
    ],

    libs: [
        "framework-appsearch.stubs.system",
    ],
}

// PCC Debug Target: Same as Debug, but explicitly enables the PCC sandbox.
android_app {
    name: "PersonalContextDebugPcc",
    defaults: ["PersonalContext_defaults"],
    overrides: ["PersonalContext"],
    manifest: "src/com/android/personalcontext/app/debug/AndroidManifest.xml",
    additional_manifests: ["AndroidManifest.xml"],
    srcs: [
        "src/com/android/personalcontext/app/debug/**/*.java",
        "src/com/android/personalcontext/app/debug/**/*.kt",
    ],
    asset_dirs: ["src/main/assets"],
    resource_dirs: ["overlay/res"],
    static_libs: [
        "PersonalContextLib",
        "androidx.appcompat_appcompat",
        "androidx.activity_activity-compose",
        "androidx.compose.material3_material3",
        "androidx.compose.runtime_runtime",
        "dagger2",
        "icing-java-proto-lite",
        "jsr330",
        "androidx.compose.foundation_foundation",
        "androidx.compose.foundation_foundation-layout",
        "androidx.compose.ui_ui",
        "androidx.lifecycle_lifecycle-viewmodel-compose",
    ],
    libs: [
        "framework-appsearch.stubs.system",
    ],
    aaptflags: ["--auto-add-overlay"],
}

// Evaluation Target
android_app {
    name: "PersonalContextEval",
    defaults: ["PersonalContext_defaults"],
    overrides: ["PersonalContext"],

    manifest: "src/com/android/personalcontext/evaluation/AndroidManifest.xml",
    additional_manifests: ["AndroidManifest.xml"],

    srcs: [
        "src/com/android/personalcontext/evaluation/**/*.java",
        "src/com/android/personalcontext/evaluation/**/*.kt",
        "src/com/android/personalcontext/app/debug/appsearchloader/**/*.java",
        "src/com/android/personalcontext/app/debug/appsearchloader/**/*.kt",
    ],

    static_libs: [
        "PersonalContextLib",
        "androidx.room_room-runtime",
        "dagger2",
        "icing-java-proto-lite",
        "jsr330",
    ],

    plugins: [
        "androidx.room_room-compiler-plugin",
        "dagger2-compiler",
    ],
}

// =============================================================================
// TOOLS & PROCESSORS
// =============================================================================
java_plugin {
    name: "safeparcel-processor",
    processor_class: "com.android.personalcontext.safeparcel.SafeParcelProcessor",
    static_libs: ["safeparcel-processor-lib"],
    // This disables the turbine build optimizations, forcing modules that depend on the module
    // to use the javac output with the annotation processor classes in it instead of using
    // the turbine output that can be produced much faster.
    generates_api: true,
    visibility: ["//packages/apps/PersonalContext:__subpackages__"],
}

java_library_host {
    name: "safeparcel-processor-lib",
    use_tools_jar: true,
    srcs: ["safeparcel-processor/src/**/*.java"],
    java_resource_dirs: ["safeparcel-processor/resources/"],
    static_libs: [
        "androidx.annotation_annotation",
        "guava",
        "javapoet",
        "jsilver",
    ],
}

[0.23QuellennavigatorsProjekt 2026-06-26]