blob: a27b4ed8b3c1b76dbdc5e10aff3b3b834f7b4541 [file] [log] [blame]
package {
default_applicable_licenses: ["external_oj-libjdwp_license"],
}
// Added automatically by a large-scale-change that took the approach of
// 'apply every license found to every target'. While this makes sure we respect
// every license restriction, it may not be entirely correct.
//
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
//
// Please consider splitting the single license below into multiple licenses,
// taking care not to lose any license_kind information, and overriding the
// default license using the 'licenses: [...]' property on targets as needed.
//
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
// to attach the license to, and including a comment whether the files may be
// used in the current project.
// See: http://go/android-license-faq
license {
name: "external_oj-libjdwp_license",
visibility: [":__subpackages__"],
license_kinds: [
"SPDX-license-identifier-Apache-2.0",
"SPDX-license-identifier-GPL-2.0-with-classpath-exception",
],
license_text: [
"LICENSE",
],
}
java_binary_host {
name: "jdwpgen",
srcs: ["make/src/classes/build/tools/jdwpgen/*.java"],
wrapper: "etc/jdwpgen.sh",
manifest: "etc/manifest.txt",
java_version: "1.8",
}
genrule {
name: "jdwp_generated_headers",
tools: ["jdwpgen"],
cmd: "$(location jdwpgen) $(in) -include $(out)",
srcs: ["make/data/jdwp/jdwp.spec"],
out: ["JDWPCommands.h"],
}
cc_defaults {
name: "upstream-jdwp-defaults",
host_supported: true,
device_supported: true,
cflags: [
// Every supported android platform is little-endian.
"-D_LITTLE_ENDIAN",
"-Wall",
"-Werror",
"-Wno-unused-parameter",
],
target: {
darwin: {
enabled: false,
},
},
}
cc_library_headers {
name: "javavm_headers",
export_include_dirs: [
"src/share/javavm/export",
"src/solaris/javavm/export",
],
host_supported: true,
device_supported: true,
apex_available: [
"com.android.art",
"com.android.art.debug",
],
min_sdk_version: "S",
}
cc_library_headers {
name: "libnpt_headers",
export_include_dirs: [
"src/share/npt",
"src/solaris/npt",
],
defaults: ["upstream-jdwp-defaults"],
apex_available: [
"com.android.art",
"com.android.art.debug",
],
min_sdk_version: "S",
}
cc_library {
name: "libnpt",
srcs: [
"src/share/npt/*.c",
"src/solaris/npt/*.c",
],
header_libs: [
"javavm_headers",
"libnpt_headers",
],
defaults: ["upstream-jdwp-defaults"],
apex_available: [
"com.android.art",
"com.android.art.debug",
],
min_sdk_version: "S",
}
cc_library_headers {
name: "libjdwp_headers",
export_include_dirs: [
"src/share/back",
"src/share/back/export",
"src/solaris/back",
],
generated_headers: ["jdwp_generated_headers"],
export_generated_headers: ["jdwp_generated_headers"],
defaults: ["upstream-jdwp-defaults"],
apex_available: [
"com.android.art",
"com.android.art.debug",
],
min_sdk_version: "S",
}
cc_library {
name: "libjdwp",
srcs: [
"src/share/back/*.c",
"src/solaris/back/*.c",
],
cflags: [
"-DLINUX",
"-DJDWP_LOGGING",
"-Wno-switch",
"-Wno-logical-op-parentheses",
"-Wno-logical-not-parentheses",
"-Wno-sometimes-uninitialized",
"-Wno-self-assign",
"-Wno-unused-variable",
"-Wno-unused-function",
],
header_libs: [
"javavm_headers",
"libjdwp_headers",
"libnpt_headers",
],
required: [
"libnpt",
"libdt_socket",
],
defaults: ["upstream-jdwp-defaults"],
apex_available: [
"com.android.art",
"com.android.art.debug",
],
min_sdk_version: "S",
}
cc_library {
name: "libdt_socket",
srcs: [
"src/share/transport/socket/*.c",
"src/solaris/transport/socket/*.c",
],
local_include_dirs: [
"src/share/transport/socket",
"src/solaris/transport/socket",
],
header_libs: [
"javavm_headers",
"libjdwp_headers",
"libnpt_headers",
],
required: ["libnpt"],
defaults: ["upstream-jdwp-defaults"],
apex_available: [
"com.android.art",
"com.android.art.debug",
],
min_sdk_version: "S",
}
genrule {
name: "jdwp_generated_java",
tools: ["jdwpgen"],
cmd: "$(location jdwpgen) $(in) -jdi $(out)",
srcs: ["make/data/jdwp/jdwp.spec"],
out: ["JDWP.java"],
}
python_binary_host {
name: "jdi_prop_gen",
srcs: ["etc/jdigen.py"],
main: "etc/jdigen.py",
}
genrule {
name: "jdi_generated_properties",
tools: ["jdi_prop_gen"],
cmd: "$(location jdi_prop_gen) $(in) $(out)",
out: ["jdi.java"],
srcs: ["src/share/classes/com/sun/tools/jdi/resources/jdi.properties"],
}
// The classes needed to support JDI and debug remote processes.
java_library_host {
name: "jdi-support",
srcs: [
// The JDI interface definition.
"src/share/classes/com/sun/jdi/**/*.java",
// The JDI interface implementation
"src/share/classes/com/sun/tools/jdi/**/*.java",
// The JDWP.java file that contains all the constants.
":jdwp_generated_java",
// The properties class which holds information about the various connectors.
":jdi_generated_properties",
],
exclude_srcs: [
// We don't support process attachment and lack some of the classes to even compile this file.
"src/share/classes/com/sun/tools/jdi/ProcessAttachingConnector.java",
],
services: ["etc/com.sun.jdi.connect.Connector"],
java_version: "1.8",
javacflags: ["-g"],
errorprone: {
javacflags: [
"-Xep:ReturnValueIgnored:WARN",
"-Xep:EmptyTopLevelDeclaration:WARN",
],
},
}