Dist API specific core-for-system-modules

Previously, the dist only contained a core-for-system-modules.jar for
the public API. This change adds API specific directories containing a
core-for-system-modules.jar file for each of the following APIs:
* public
* module-lib

Bug: 204189791
Test: rm -fr out/dist
      m sdk dist
      find out/dist -name core-for-system-modules.jar
      - outputted the following:
      out/dist/core-for-system-modules.jar
      out/dist/system-modules/module-lib/core-for-system-modules.jar
      out/dist/system-modules/public/core-for-system-modules.jar
Change-Id: Id1845926e2085f70d58e9fc22e9c11cb3d62b919
This commit is contained in:
Paul Duffin
2021-10-28 12:34:41 +01:00
parent 22e973c539
commit bce9f08d02

View File

@@ -28,6 +28,11 @@ package {
default_applicable_licenses: ["Android-Apache-2.0"], default_applicable_licenses: ["Android-Apache-2.0"],
} }
dist_targets = [
"sdk",
"win_sdk",
]
java_library { java_library {
name: "core.current.stubs", name: "core.current.stubs",
visibility: ["//visibility:public"], visibility: ["//visibility:public"],
@@ -40,15 +45,16 @@ java_library {
system_modules: "none", system_modules: "none",
dist: { dist: {
targets: [ targets: dist_targets,
"sdk",
"win_sdk",
],
}, },
} }
// Distributed with the SDK for turning into system modules to compile apps // Distributed with the SDK for turning into system modules to compile apps
// against. // against.
//
// Also, produces dist files that are used by the
// prebuilts/sdk/update_prebuilts.py script to update the prebuilts/sdk
// directory.
java_library { java_library {
name: "core-current-stubs-for-system-modules", name: "core-current-stubs-for-system-modules",
visibility: ["//development/sdk"], visibility: ["//development/sdk"],
@@ -65,13 +71,17 @@ java_library {
], ],
sdk_version: "none", sdk_version: "none",
system_modules: "none", system_modules: "none",
dist: { dists: [
dest: "core-for-system-modules.jar", {
targets: [ // Legacy dist location for the public file.
"sdk", dest: "core-for-system-modules.jar",
"win_sdk", targets: dist_targets,
], },
}, {
dest: "system-modules/public/core-for-system-modules.jar",
targets: dist_targets,
},
],
} }
// Used when compiling higher-level code against core.current.stubs. // Used when compiling higher-level code against core.current.stubs.
@@ -103,10 +113,13 @@ java_library {
visibility: ["//visibility:private"], visibility: ["//visibility:private"],
} }
// Used when compiling higher-level code with sdk_version "module_current" // Produces a dist file that is used by the
java_system_modules { // prebuilts/sdk/update_prebuilts.py script to update the prebuilts/sdk
name: "core-module-lib-stubs-system-modules", // directory.
libs: [ java_library {
name: "core-module-lib-stubs-for-system-modules",
visibility: ["//visibility:private"],
static_libs: [
"core.module_lib.stubs", "core.module_lib.stubs",
// This one is not on device but it's needed when javac compiles code // This one is not on device but it's needed when javac compiles code
// containing lambdas. // containing lambdas.
@@ -117,6 +130,20 @@ java_system_modules {
// See http://b/123891440. // See http://b/123891440.
"core-generated-annotation-stubs", "core-generated-annotation-stubs",
], ],
sdk_version: "none",
system_modules: "none",
dist: {
dest: "system-modules/module-lib/core-for-system-modules.jar",
targets: dist_targets,
},
}
// Used when compiling higher-level code with sdk_version "module_current"
java_system_modules {
name: "core-module-lib-stubs-system-modules",
libs: [
"core-module-lib-stubs-for-system-modules",
],
visibility: ["//visibility:public"], visibility: ["//visibility:public"],
} }