Skip to content
Snippets Groups Projects
Forked from Dhina17 / platform_frameworks_base
90223 commits behind the upstream repository.
  • Kangping Dong's avatar
    3c355586
    [Thread] rename package name for Thread platform flags · 3c355586
    Kangping Dong authored
    There are two Thread flag files in frameworks/base and
    packages/modules/Connectivity/thread. Both are currently using the same
    "com.android.net.thread.flags" package name for their flags. While all
    flags needs to be built in a aconfig_declarations target, two aconfig_declarations
    can't have the same package name:
    
    ```
    FAILED: out/soong/build.aosp_arm.ninja
    cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i  "$BUILDER"     --top "$TOP"     --soong_out "out/soong"     --out "out"     --soong_variables out/soong/soong.aosp_arm.variables -o out/soong/b
    uild.aosp_arm.ninja --globListDir aosp_arm --globFile out/soong/globs-aosp_arm.ninja -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.aosp_arm.build Android.bp
    2 aconfig_declarations found for package com.android.net.thread.flags
    ```
    
    To resolve this issue, this commit renames the platform flags to package
    name "android.net.thread.platform.flags".
    
    This commit is required by ag/26286387
    
    Bug: 325886480
    Merged-In: Icacf88f7c0aa499b4b29f4072ae58840f0b1761f
    Change-Id: Icacf88f7c0aa499b4b29f4072ae58840f0b1761f
    3c355586
    History
    [Thread] rename package name for Thread platform flags
    Kangping Dong authored
    There are two Thread flag files in frameworks/base and
    packages/modules/Connectivity/thread. Both are currently using the same
    "com.android.net.thread.flags" package name for their flags. While all
    flags needs to be built in a aconfig_declarations target, two aconfig_declarations
    can't have the same package name:
    
    ```
    FAILED: out/soong/build.aosp_arm.ninja
    cd "$(dirname "out/host/linux-x86/bin/soong_build")" && BUILDER="$PWD/$(basename "out/host/linux-x86/bin/soong_build")" && cd / && env -i  "$BUILDER"     --top "$TOP"     --soong_out "out/soong"     --out "out"     --soong_variables out/soong/soong.aosp_arm.variables -o out/soong/b
    uild.aosp_arm.ninja --globListDir aosp_arm --globFile out/soong/globs-aosp_arm.ninja -l out/.module_paths/Android.bp.list --available_env out/soong/soong.environment.available --used_env out/soong/soong.environment.used.aosp_arm.build Android.bp
    2 aconfig_declarations found for package com.android.net.thread.flags
    ```
    
    To resolve this issue, this commit renames the platform flags to package
    name "android.net.thread.platform.flags".
    
    This commit is required by ag/26286387
    
    Bug: 325886480
    Merged-In: Icacf88f7c0aa499b4b29f4072ae58840f0b1761f
    Change-Id: Icacf88f7c0aa499b4b29f4072ae58840f0b1761f
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
AconfigFlags.bp 9.38 KiB
// Copyright (C) 2023 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.

aconfig_declarations_group {
    name: "framework-minus-apex-aconfig-declarations",
    java_aconfig_libraries: [
        // !!! KEEP THIS LIST ALPHABETICAL !!!
        "aconfig_mediacodec_flags_java_lib",
        "android.content.pm.flags-aconfig-java",
        "android.content.res.flags-aconfig-java",
        "android.crashrecovery.flags-aconfig-java",
        "android.hardware.biometrics.flags-aconfig-java",
        "android.media.codec-aconfig-java",
        "android.media.playback.flags-aconfig-java",
        "android.net.platform.flags-aconfig-java",
        "android.net.vcn.flags-aconfig-java",
        "android.nfc.flags-aconfig-java",
        "android.os.flags-aconfig-java",
        "android.security.flags-aconfig-java",
        "com.android.hardware.camera2-aconfig-java",
        "com.android.hardware.input-aconfig-java",
        "com.android.net.thread.platform.flags-aconfig-java",
        "com.android.text.flags-aconfig-java",
        "com.android.window.flags.window-aconfig-java",
        // !!! KEEP THIS LIST ALPHABETICAL !!!
    ],
}

filegroup {
    name: "framework-minus-apex-aconfig-srcjars",
    srcs: [
        ":framework-minus-apex-aconfig-declarations{.srcjars}",
    ],
}

// Aconfig declarations and libraries for the core framework
java_defaults {
    name: "framework-minus-apex-aconfig-libraries",

    // Add java_aconfig_libraries to here to add them to the core framework
    // Add aconfig-annotations-lib as a dependency for the optimization
    srcs: [
        ":framework-minus-apex-aconfig-declarations{.srcjars}",
    ],
    libs: ["aconfig-annotations-lib"],
}

// Default flags for java_aconfig_libraries that go into framework-minus-apex
// These libraries will not work standalone
java_defaults {
    name: "framework-minus-apex-aconfig-java-defaults",
    sdk_version: "core_platform",
    libs: ["fake_device_config"],
}

// Camera
aconfig_declarations {
    name: "com.android.hardware.camera2-aconfig",
    package: "com.android.hardware.camera2",
    srcs: ["core/java/android/hardware/camera2/camera_platform.aconfig"],
}

java_aconfig_library {
    name: "com.android.hardware.camera2-aconfig-java",
    aconfig_declarations: "com.android.hardware.camera2-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Window
aconfig_declarations {
    name: "com.android.window.flags.window-aconfig",
    package: "com.android.window.flags",
    srcs: ["core/java/android/window/flags/*.aconfig"],
}

java_aconfig_library {
    name: "com.android.window.flags.window-aconfig-java",
    aconfig_declarations: "com.android.window.flags.window-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Input
aconfig_declarations {
    name: "com.android.hardware.input.input-aconfig",
    package: "com.android.hardware.input",
    srcs: ["core/java/android/hardware/input/*.aconfig"],
}

java_aconfig_library {
    name: "com.android.hardware.input-aconfig-java",
    aconfig_declarations: "com.android.hardware.input.input-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Text
aconfig_declarations {
    name: "com.android.text.flags-aconfig",
    package: "com.android.text.flags",
    srcs: ["core/java/android/text/flags/*.aconfig"],
}

java_aconfig_library {
    name: "com.android.text.flags-aconfig-java",
    aconfig_declarations: "com.android.text.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// OS
aconfig_declarations {
    name: "android.os.flags-aconfig",
    package: "android.os",
    srcs: ["core/java/android/os/*.aconfig"],
}

java_aconfig_library {
    name: "android.os.flags-aconfig-java",
    aconfig_declarations: "android.os.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// NFC
aconfig_declarations {
    name: "android.nfc.flags-aconfig",
    package: "android.nfc",
    srcs: ["nfc/java/android/nfc/*.aconfig"],
}

cc_aconfig_library {
    name: "android_nfc_flags_aconfig_c_lib",
    vendor_available: true,
    aconfig_declarations: "android.nfc.flags-aconfig",
    apex_available: [
        "//apex_available:platform",
        "com.android.nfcservices",
        "nfc_nci.st21nfc.default",
    ],
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

java_aconfig_library {
    name: "android.nfc.flags-aconfig-java",
    aconfig_declarations: "android.nfc.flags-aconfig",
    min_sdk_version: "34",
    apex_available: [
        "//apex_available:platform",
        "com.android.nfcservices",
    ],
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Security
aconfig_declarations {
    name: "android.security.flags-aconfig",
    package: "android.security",
    srcs: ["core/java/android/security/*.aconfig"],
}

java_aconfig_library {
    name: "android.security.flags-aconfig-java",
    aconfig_declarations: "android.security.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

java_aconfig_library {
    name: "android.security.flags-aconfig-java-host",
    aconfig_declarations: "android.security.flags-aconfig",
    host_supported: true,
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

rust_aconfig_library {
    name: "libandroid_security_flags_rust",
    crate_name: "android_security_flags",
    aconfig_declarations: "android.security.flags-aconfig",
}

// Package Manager
aconfig_declarations {
    name: "android.content.pm.flags-aconfig",
    package: "android.content.pm",
    srcs: ["core/java/android/content/pm/flags.aconfig"],
}

java_aconfig_library {
    name: "android.content.pm.flags-aconfig-java",
    aconfig_declarations: "android.content.pm.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

java_aconfig_library {
    name: "android.content.pm.flags-aconfig-java-host",
    aconfig_declarations: "android.content.pm.flags-aconfig",
    host_supported: true,
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Resources
aconfig_declarations {
    name: "android.content.res.flags-aconfig",
    package: "android.content.res",
    srcs: ["core/java/android/content/res/*.aconfig"],
}

java_aconfig_library {
    name: "android.content.res.flags-aconfig-java",
    aconfig_declarations: "android.content.res.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Biometrics
aconfig_declarations {
    name: "android.hardware.biometrics.flags-aconfig",
    package: "android.hardware.biometrics",
    srcs: ["core/java/android/hardware/biometrics/flags.aconfig"],
}

java_aconfig_library {
    name: "android.hardware.biometrics.flags-aconfig-java",
    aconfig_declarations: "android.hardware.biometrics.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Networking
aconfig_declarations {
    name: "android.net.platform.flags-aconfig",
    package: "android.net.platform.flags",
    srcs: ["core/java/android/net/flags.aconfig"],
    visibility: [":__subpackages__"],
}

// Thread network
aconfig_declarations {
    name: "com.android.net.thread.platform.flags-aconfig",
    package: "com.android.net.thread.platform.flags",
    srcs: ["core/java/android/net/thread/flags.aconfig"],
}

java_aconfig_library {
    name: "android.net.platform.flags-aconfig-java",
    aconfig_declarations: "android.net.platform.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
    visibility: [":__subpackages__"],
}

java_aconfig_library {
    name: "com.android.net.thread.platform.flags-aconfig-java",
    aconfig_declarations: "com.android.net.thread.platform.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// Media
aconfig_declarations {
    name: "android.media.playback.flags-aconfig",
    package: "com.android.media.playback.flags",
    srcs: ["media/jni/playback_flags.aconfig"],
}

cc_aconfig_library {
    name: "android.media.playback.flags-aconfig-cc",
    aconfig_declarations: "android.media.playback.flags-aconfig",
}

java_aconfig_library {
    name: "android.media.playback.flags-aconfig-java",
    aconfig_declarations: "android.media.playback.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// VCN
aconfig_declarations {
    name: "android.net.vcn.flags-aconfig",
    package: "android.net.vcn",
    srcs: ["core/java/android/net/vcn/*.aconfig"],
}

java_aconfig_library {
    name: "android.net.vcn.flags-aconfig-java",
    aconfig_declarations: "android.net.vcn.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}

// CrashRecovery Module
aconfig_declarations {
    name: "android.crashrecovery.flags-aconfig",
    package: "android.crashrecovery.flags",
    srcs: ["packages/CrashRecovery/aconfig/flags.aconfig"],
}

java_aconfig_library {
    name: "android.crashrecovery.flags-aconfig-java",
    aconfig_declarations: "android.crashrecovery.flags-aconfig",
    defaults: ["framework-minus-apex-aconfig-java-defaults"],
}