Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdbb1a99 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge changes Ie9d465f5,Idd89d656,I0a13a0e7

* changes:
  Create core_platform system modules from .txt files
  Create system modules using .txt stubs
  Create a defaults module for stripping out annotations
parents bc03688e a032c353
Loading
Loading
Loading
Loading
+24 −12
Original line number Diff line number Diff line
@@ -79,16 +79,25 @@ java_library {
    ],
}

// Defaults module to strip out android annotations
java_defaults {
    name: "system-modules-no-annotations",
    sdk_version: "none",
    system_modules: "none",
    jarjar_rules: "jarjar-strip-annotations-rules.txt",
}

// Same as core-current-stubs-for-system-modules, but android annotations are
// stripped.
java_library {
    name: "core-current-stubs-for-system-modules-no-annotations",
    visibility: ["//development/sdk"],
    defaults: [
        "system-modules-no-annotations",
    ],
    static_libs: [
        "core-current-stubs-for-system-modules",
    ],
    sdk_version: "none",
    system_modules: "none",
    dists: [
        {
            // Legacy dist location for the public file.
@@ -100,7 +109,6 @@ java_library {
            targets: dist_targets,
        },
    ],
    jarjar_rules: "jarjar-strip-annotations-rules.txt",
}

// Used when compiling higher-level code against core.current.stubs.
@@ -158,16 +166,16 @@ java_library {
java_library {
    name: "core-module-lib-stubs-for-system-modules-no-annotations",
    visibility: ["//visibility:private"],
    defaults: [
        "system-modules-no-annotations",
    ],
    static_libs: [
        "core-module-lib-stubs-for-system-modules",
    ],
    sdk_version: "none",
    system_modules: "none",
    dist: {
        dest: "system-modules/module-lib/core-for-system-modules-no-annotations.jar",
        targets: dist_targets,
    },
    jarjar_rules: "jarjar-strip-annotations-rules.txt",
}

// Used when compiling higher-level code with sdk_version "module_current"
@@ -212,16 +220,16 @@ java_library {
java_library {
    name: "legacy.core.platform.api.no.annotations.stubs",
    visibility: core_platform_visibility,
    defaults: [
        "system-modules-no-annotations",
    ],
    hostdex: true,
    compile_dex: true,

    sdk_version: "none",
    system_modules: "none",
    static_libs: [
        "legacy.core.platform.api.stubs",
    ],
    patch_module: "java.base",
    jarjar_rules: "jarjar-strip-annotations-rules.txt",
}

java_library {
@@ -247,16 +255,16 @@ java_library {
java_library {
    name: "stable.core.platform.api.no.annotations.stubs",
    visibility: core_platform_visibility,
    defaults: [
        "system-modules-no-annotations",
    ],
    hostdex: true,
    compile_dex: true,

    sdk_version: "none",
    system_modules: "none",
    static_libs: [
        "stable.core.platform.api.stubs",
    ],
    patch_module: "java.base",
    jarjar_rules: "jarjar-strip-annotations-rules.txt",
}

// Used when compiling higher-level code against *.core.platform.api.stubs.
@@ -349,3 +357,7 @@ java_system_modules {
        "art-module-intra-core-api-stubs-system-modules-lib",
    ],
}

build = [
    "TxtStubLibraries.bp",
]
+142 −0
Original line number Diff line number Diff line
// 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.

// This file contains java_system_modules provided by the SDK.
// These system modules transitively depend on core stub libraries generated from .txt files.

// Same as core-public-stubs-system-modules, but the stubs are generated from .txt files
java_system_modules {
    name: "core-public-stubs-system-modules.from-text",
    visibility: ["//visibility:public"],
    libs: [
        "core-current-stubs-for-system-modules-no-annotations.from-text",
    ],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

java_library {
    name: "core-current-stubs-for-system-modules-no-annotations.from-text",
    visibility: ["//visibility:private"],
    defaults: [
        "system-modules-no-annotations",
    ],
    static_libs: [
        "core.current.stubs.from-txt",
        "core-lambda-stubs-for-system-modules",
    ],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

// Same as core-module-lib-stubs-system-modules, but the stubs are generated from .txt files
java_system_modules {
    name: "core-module-lib-stubs-system-modules.from-text",
    visibility: ["//visibility:public"],
    libs: [
        "core-module-lib-stubs-for-system-modules-no-annotations.from-text",
    ],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

java_library {
    name: "core-module-lib-stubs-for-system-modules-no-annotations.from-text",
    visibility: ["//visibility:private"],
    defaults: [
        "system-modules-no-annotations",
    ],
    static_libs: [
        "core.module_lib.stubs.txt",
        "core-lambda-stubs-for-system-modules",
    ],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

java_library {
    name: "core.module_lib.stubs.from-text",
    static_libs: [
        "art.module.public.api.stubs.module_lib.from-text",

        // Replace the following with the module-lib correspondence when Conscrypt or i18N module
        // provides @SystemApi(MODULE_LIBRARIES). Currently, assume that only ART module provides
        // @SystemApi(MODULE_LIBRARIES).
        "conscrypt.module.public.api.stubs.from-text",
        "i18n.module.public.api.stubs.from-text",
    ],
    sdk_version: "none",
    system_modules: "none",
    visibility: ["//visibility:private"],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

// Same as legacy-core-platform-api-stubs-system-modules, but the stubs are generated from .txt files
java_system_modules {
    name: "legacy-core-platform-api-stubs-system-modules.from-text",
    visibility: core_platform_visibility,
    libs: [
        "legacy.core.platform.api.no.annotations.stubs.from-text",
        "core-lambda-stubs-for-system-modules",
    ],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

java_library {
    name: "legacy.core.platform.api.no.annotations.stubs.from-text",
    visibility: core_platform_visibility,
    defaults: [
        "system-modules-no-annotations",
    ],
    hostdex: true,
    compile_dex: true,

    static_libs: [
        "legacy.core.platform.api.stubs.from-text",
    ],
    patch_module: "java.base",
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

// Same as stable-core-platform-api-stubs-system-modules, but the stubs are generated from .txt files
java_system_modules {
    name: "stable-core-platform-api-stubs-system-modules.from-text",
    visibility: core_platform_visibility,
    libs: [
        "stable.core.platform.api.no.annotations.stubs.from-text",
        "core-lambda-stubs-for-system-modules",
    ],
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}

java_library {
    name: "stable.core.platform.api.no.annotations.stubs.from-text",
    visibility: core_platform_visibility,
    defaults: [
        "system-modules-no-annotations",
    ],
    hostdex: true,
    compile_dex: true,

    static_libs: [
        "stable.core.platform.api.stubs.from-text",
    ],
    patch_module: "java.base",
    // TODO: Enable after stub generation from .txt file is available
    enabled: false,
}