// 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_visibility: [":__subpackages__"],
    default_applicable_licenses: ["Android-Apache-2.0"],
}

mainline_stubs_args =
    "--error UnhiddenSystemApi " +
    "--hide CallbackInterface " +
    "--hide HiddenTypedefConstant " +
    "--hide RequiresPermission " +
    "--enhance-documentation "

// TODO: remove the hiding when server classes are cleaned up.
mainline_framework_stubs_args =
    mainline_stubs_args +
    "--hide-package com.android.server "

priv_apps = " " +
    "--show-annotation android.annotation.SystemApi\\(" +
        "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
    "\\) "

module_libs = " " +
    " --show-annotation android.annotation.SystemApi\\(" +
        "client=android.annotation.SystemApi.Client.MODULE_LIBRARIES" +
    "\\)" +
    " --show-for-stub-purposes-annotation android.annotation.SystemApi\\(" +
        "client=android.annotation.SystemApi.Client.PRIVILEGED_APPS" +
    "\\) "

mainline_service_stubs_args =
    mainline_stubs_args +
    "--show-annotation android.annotation.SystemApi\\(" +
        "client=android.annotation.SystemApi.Client.SYSTEM_SERVER" +
    "\\) " +
    "--hide-annotation android.annotation.Hide " +
    "--hide InternalClasses " // com.android.* classes are okay in this interface

// Defaults common to all mainline module java_sdk_library instances.
java_defaults {
    name: "framework-module-common-defaults",

    // Use the source of annotations that affect metalava doc generation, since
    // the relevant generation instructions are themselves in javadoc, which is
    // not present in class files.
    api_srcs: [":framework-metalava-annotations"],

    // Make the source retention annotations available on the classpath when compiling
    // the implementation library. (This should be in impl_only_libs but some modules
    // use these defaults for java_library, sigh.)
    libs: ["framework-annotations-lib"],

    // Framework modules are not generally shared libraries, i.e. they are not
    // intended, and must not be allowed, to be used in a <uses-library> manifest
    // entry.
    shared_library: false,

    // Prevent dependencies that do not specify an sdk_version from accessing the
    // implementation library by default and force them to use stubs instead.
    default_to_stubs: true,

    // Enable api lint. This will eventually become the default for java_sdk_library
    // but it cannot yet be turned on because some usages have not been cleaned up.
    // TODO(b/156126315) - Remove when no longer needed.
    api_lint: {
        enabled: true,
    },

    // The API scope specific properties.
    public: {
        enabled: true,
        sdk_version: "module_current",
    },

    // installable implies we'll create a non-apex (platform) variant, which
    // we shouldn't ordinarily need (and it can create issues), so disable that.
    installable: false,

    // Configure framework module specific metalava options.
    droiddoc_options: [mainline_stubs_args],

    annotations_enabled: true,

    // Allow access to the stubs from anywhere
    visibility: ["//visibility:public"],
    stubs_library_visibility: ["//visibility:public"],

    // Hide impl library and stub sources
    impl_library_visibility: [
        ":__pkg__",
        "//frameworks/base/api", // For framework-all
    ],
    stubs_source_visibility: ["//visibility:private"],

    defaults_visibility: ["//visibility:private"],

    dist_group: "android",
}

// Defaults for the java_sdk_libraries of non-updatable modules.
// java_sdk_libraries using these defaults should also add themselves to the
// non_updatable_modules list in frameworks/base/api/api.go
java_defaults {
    name: "non-updatable-framework-module-defaults",
    defaults: ["framework-module-common-defaults"],

    system: {
        enabled: true,
        sdk_version: "module_current",
    },
    module_lib: {
        enabled: true,
        sdk_version: "module_current",
    },
    // Non-updatable modules are allowed to provide @TestApi
    test: {
        enabled: true,
        sdk_version: "module_current",
    },

    defaults_visibility: [
        "//packages/modules/Virtualization:__subpackages__",
    ],
}

// Defaults for mainline module provided java_sdk_library instances.
java_defaults {
    name: "framework-module-defaults",
    defaults: ["framework-module-common-defaults"],
    sdk_version: "module_current",

    system: {
        enabled: true,
        sdk_version: "module_current",
    },
    module_lib: {
        enabled: true,
        sdk_version: "module_current",
    },

    // Disallow disabling the NewApi lint check.
    lint: {
        strict_updatability_linting: true,
    },

    defaults_visibility: [
        ":__subpackages__",
        "//frameworks/base/apex:__subpackages__",
        "//frameworks/base/libs/hwui",
        "//frameworks/base/wifi",
        "//packages/modules:__subpackages__",
        "//packages/providers/MediaProvider:__subpackages__",
        "//system/apex/apexd:__subpackages__",
    ],
}

// Defaults for mainline module system server provided java_sdk_library instances.
java_defaults {
    name: "framework-system-server-module-defaults",
    defaults: ["framework-module-common-defaults"],
    sdk_version: "system_server_current",

    system_server: {
        enabled: true,
        sdk_version: "system_server_current",
    },

    // Disallow disabling the NewApi lint check.
    lint: {
        strict_updatability_linting: true,
    },

    defaults_visibility: [
        ":__subpackages__",
        "//art/libartservice:__subpackages__",
        "//frameworks/base/apex:__subpackages__",
        "//packages/modules:__subpackages__",
        "//system/apex/apexd:__subpackages__",
    ],
}

stubs_defaults {
    name: "service-module-stubs-srcs-defaults",
    args: mainline_service_stubs_args,
    installable: false,
    annotations_enabled: true,
    merge_annotations_dirs: [
        "metalava-manual",
    ],
    filter_packages: ["com.android."],
    check_api: {
        current: {
            api_file: "api/current.txt",
            removed_api_file: "api/removed.txt",
        },
        api_lint: {
            enabled: true,
        },
    },
    dist: {
        targets: ["sdk"],
        dir: "apistubs/android/system-server/api",
    },
}

// Empty for now, but a convenient place to add rules for all
// module java_library system_server stub libs.
java_defaults {
    name: "service-module-stubs-defaults",
    dist: {
        targets: ["sdk"],
        dir: "apistubs/android/system-server",
    },
}

filegroup_defaults {
    name: "framework-sources-module-defaults",
    visibility: [
        "//frameworks/base",
        "//frameworks/base/api",
    ],
    defaults_visibility: ["//visibility:public"],
}

// These apex_defaults serve as a common place to add properties which should
// affect all mainline modules.

APEX_LOWEST_MIN_SDK_VERSION = "30"
DCLA_MIN_SDK_VERSION = "31"

apex_defaults {
    name: "any-launched-apex-modules",
    updatable: true,
    defaults_visibility: ["//visibility:public"],
}

apex_defaults {
    name: "q-launched-apex-module",
    defaults: ["any-launched-apex-modules"],
    min_sdk_version: APEX_LOWEST_MIN_SDK_VERSION,
    defaults_visibility: ["//visibility:public"],
}

soong_config_module_type_import {
    from: "system/apex/Android.bp",
    module_types: [
        "library_linking_strategy_apex_defaults",
        "library_linking_strategy_cc_defaults",
    ],
}

library_linking_strategy_apex_defaults {
    name: "q-launched-dcla-enabled-apex-module",
    defaults_visibility: [
         "//external/conscrypt/apex",
         "//packages/modules/DnsResolver/apex",
         "//frameworks/av/apex"
    ],
    defaults: ["q-launched-apex-module"],
    soong_config_variables: {
        library_linking_strategy: {
            // Use the Q min_sdk_version
            prefer_static: {},
            // Override the Q min_sdk_version to min_sdk_version that supports dcla
            conditions_default: {
                min_sdk_version: DCLA_MIN_SDK_VERSION,
            },
        },
    },
}

apex_defaults {
    name: "r-launched-apex-module",
    defaults: ["any-launched-apex-modules"],
    min_sdk_version: "30",
    defaults_visibility: ["//visibility:public"],
}

library_linking_strategy_apex_defaults {
    name: "r-launched-dcla-enabled-apex-module",
    defaults_visibility: [
         "//packages/modules/adb:__subpackages__",
         "//packages/modules/Connectivity/Tethering/apex",
    ],
    defaults: ["r-launched-apex-module"],
    soong_config_variables: {
        library_linking_strategy: {
            // Use the R min_sdk_version
            prefer_static: {},
            // Override the R min_sdk_version to min_sdk_version that supports dcla
            conditions_default: {
                min_sdk_version: DCLA_MIN_SDK_VERSION,
            },
        },
    },
}

apex_defaults {
    name: "s-launched-apex-module",
    defaults: ["any-launched-apex-modules"],
    min_sdk_version: "31",
    // Indicates that pre-installed version of this apex can be compressed.
    // Whether it actually will be compressed is controlled on per-device basis.
    compressible:true,
    defaults_visibility: [
        "//art:__subpackages__",
        "//packages/modules:__subpackages__",
    ],
}

apex_defaults {
    name: "t-launched-apex-module",
    defaults: ["any-launched-apex-modules"],
    min_sdk_version: "Tiramisu",
    // Indicates that pre-installed version of this apex can be compressed.
    // Whether it actually will be compressed is controlled on per-device basis.
    compressible: true,
    defaults_visibility: ["//packages/modules:__subpackages__"],
}


apex_defaults {
    name: "u-launched-apex-module",
    defaults: ["any-launched-apex-modules"],
    min_sdk_version: "UpsideDownCake",
    // Indicates that pre-installed version of this apex can be compressed.
    // Whether it actually will be compressed is controlled on per-device basis.
    compressible: true,
    defaults_visibility: ["//packages/modules:__subpackages__"],
}

library_linking_strategy_cc_defaults {
    name: "apex-lowest-min-sdk-version",
    defaults_visibility: [
         "//system/core/libutils",
    ],
    min_sdk_version: APEX_LOWEST_MIN_SDK_VERSION,
    soong_config_variables: {
        library_linking_strategy: {
            prefer_static: {
                min_sdk_version: "apex_inherit",
            },
        },
    },
}
