blob: a5ff4964b0a4ea453db74a28132ed8c0698f684a [file] [log] [blame]
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "frameworks_base_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["frameworks_base_license"],
// OWNER: g/ravenwood
// Bug component: 25698
default_team: "trendy_team_ravenwood",
}
// Visibility only for ravenwood prototype uses.
genrule_defaults {
name: "ravenwood-internal-only-visibility-genrule",
visibility: [
":__subpackages__",
"//frameworks/base",
"//frameworks/base/ravenwood:__subpackages__",
],
}
// Visibility only for ravenwood prototype uses.
java_defaults {
name: "ravenwood-internal-only-visibility-java",
visibility: [
":__subpackages__",
"//frameworks/base",
"//frameworks/base/ravenwood:__subpackages__",
],
}
// Visibility only for ravenwood prototype uses.
filegroup_defaults {
name: "ravenwood-internal-only-visibility-filegroup",
visibility: [
":__subpackages__",
"//frameworks/base",
"//frameworks/base/ravenwood:__subpackages__",
],
}
// This library contains the standard hoststubgen annotations.
// This is only for the prototype. The productionized version is "ravenwood-annotations".
java_library {
name: "hoststubgen-annotations",
defaults: ["ravenwood-internal-only-visibility-java"],
srcs: [
"annotations-src/**/*.java",
],
host_supported: true,
sdk_version: "core_current",
}
// This library contains helper classes used in the host side test environment at runtime.
// This library is _not_ specific to Android APIs.
java_library_host {
name: "hoststubgen-helper-runtime",
defaults: ["ravenwood-internal-only-visibility-java"],
srcs: [
"helper-runtime-src/**/*.java",
],
libs: [
"junit",
],
static_libs: [
"guava",
],
jarjar_rules: "jarjar-rules.txt",
}
java_library {
name: "hoststubgen-helper-runtime.ravenwood",
defaults: ["ravenwood-internal-only-visibility-java"],
srcs: [
"helper-runtime-src/**/*.java",
],
libs: [
"junit",
],
static_libs: [
"guava",
],
jarjar_rules: "jarjar-rules.txt",
}
// For sharing the code with other tools
java_library_host {
name: "hoststubgen-lib",
defaults: ["ravenwood-internal-only-visibility-java"],
srcs: ["src/**/*.kt"],
static_libs: [
"hoststubgen-helper-runtime",
],
libs: [
"junit",
"ow2-asm",
"ow2-asm-analysis",
"ow2-asm-commons",
"ow2-asm-tree",
"ow2-asm-util",
],
}
// Host-side stub generator tool.
java_binary_host {
name: "hoststubgen",
main_class: "com.android.hoststubgen.HostStubGenMain",
static_libs: [
"hoststubgen-lib",
"junit",
"ow2-asm",
"ow2-asm-analysis",
"ow2-asm-commons",
"ow2-asm-tree",
"ow2-asm-util",
],
visibility: ["//visibility:public"],
}
java_test_host {
name: "hoststubgentest",
srcs: ["test/**/*.kt"],
static_libs: [
"hoststubgen",
"truth",
],
test_suites: ["general-tests"],
visibility: ["//visibility:private"],
}
// File that contains the standard command line argumetns to hoststubgen.
// This is only for the prototype. The productionized version is "ravenwood-standard-options".
filegroup {
name: "hoststubgen-standard-options",
defaults: ["ravenwood-internal-only-visibility-filegroup"],
srcs: [
"hoststubgen-standard-options.txt",
],
}
hoststubgen_common_options = "$(location hoststubgen) " +
// "--in-jar $(location :framework-all) " +
// "--policy-override-file $(location framework-policy-override.txt) " +
"@$(location :hoststubgen-standard-options) " +
"--out-jar $(location host.jar) " +
// "--keep-all-classes " + // Used it for an experiment. See KeepAllClassesFilter.
"--gen-keep-all-file $(location hoststubgen_keep_all.txt) " +
"--gen-input-dump-file $(location hoststubgen_dump.txt) " +
""
// Common defaults for stub generation.
// This one is not specific to Android APIs.
genrule_defaults {
name: "hoststubgen-command-defaults",
tools: ["hoststubgen"],
srcs: [
":hoststubgen-standard-options",
],
out: [
"host.jar",
// Following files are created just as FYI.
"hoststubgen_keep_all.txt",
"hoststubgen_dump.txt",
],
}