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",
        "SPDX-license-identifier-GPL-2.0",
        "SPDX-license-identifier-GPL-with-classpath-exception",
        "SPDX-license-identifier-LGPL",
    ],
    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",
    ],
    notice: "LICENSE",
    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",
    ],
}

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",
    ],
}

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",
    ],
}

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",
    ],
}

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",
    ],
}

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",
    ],
}

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"],
  notice: "LICENSE",
}
