# ***** This file was auto-generated at Thu, 14 Jan 2021 03:00:45 GMT. Do not edit this file manually. *****
# ***** Use onos-lib-gen *****

load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")


load("@bazel_tools//tools/build_defs/repo:java.bzl", "java_import_external")

COMPILE = [
    "@commons_configuration//jar",
    "@commons_logging//jar",
    "@commons_collections//jar",
    "@commons_lang//jar",
    "@commons_lang3//jar",
    "@commons_io//jar",
    "@commons_pool//jar",
    "@com_google_guava_guava//jar",
    "@slf4j_api//jar",
    "@osgi_core//jar",
    "@org_osgi_util_promise//jar",
    "@org_osgi_service_component//jar",
    "@org_osgi_service_component_annotations//jar",
    "@org_osgi_service_metatype_annotations//jar",
    "@org_apache_karaf_features_core//jar",
    "@org_apache_karaf_system_core//jar",
    "@org_apache_servicemix_bundles_dom4j//jar",
    "@com_google_code_findbugs_jsr305//jar",
]
CORE_DEPS = [] + COMPILE + [
    "//core/api:onos-api",
    "//utils/misc:onlab-misc",
    "//utils/osgi:onlab-osgi",
]
JAXB = [
    "@jaxb_api//jar",
    "@jaxb_core//jar",
    "@jaxb_impl//jar",
    "@javax_activation//jar",
]
TEST = [
    "@junit//jar",
    "@easymock//jar",
    "@hamcrest_all//jar",
    "@hamcrest_optional//jar",
    "@com_google_guava_guava_testlib//jar",
    "//utils/junit:onlab-junit",
]
TEST_ADAPTERS = [] + TEST + [
    "//core/common:onos-core-common",
    "//core/api:onos-api-tests",
    "//core/common:onos-core-common-tests",
]
TEST_REST = [] + TEST_ADAPTERS + [
    "@jersey_client//jar",
    "@jersey_server//jar",
    "@jersey_common//jar",
    "@jersey_hk2//jar",
    "@jersey_test_framework_core//jar",
    "@jersey_test_framework_jetty//jar",
    "@jersey_container_jetty_http//jar",
    "@jetty_continuation//jar",
    "@jetty_http//jar",
    "@jetty_server//jar",
    "@jetty_io//jar",
    "@jetty_util//jar",
    "@javax_servlet_api//jar",
    "@hk2_api//jar",
    "@hk2_locator//jar",
    "@hk2_utils//jar",
    "@javax_inject//jar",
    "@hk2_osgi_resource_locator//jar",
    "@javax_annotation_javax_annotation_api//jar",
    "@validation_api//jar",
    "//core/common:onos-core-common",
    "//core/api:onos-api-tests",
    "//core/common:onos-core-common-tests",
    "//utils/osgi:onlab-osgi-tests",
]
NETTY = [
    "@io_netty_netty_buffer//jar",
    "@io_netty_netty_common//jar",
]
ONOS_YANG = [
    "@onos_yang_model//jar",
    "@onos_yang_compiler_api//jar",
    "@onos_yang_serializers_json//jar",
    "@onos_yang_serializers_xml//jar",
    "@onos_yang_serializers_utils//jar",
]
JACKSON = [
    "@jackson_annotations//jar",
    "@jackson_core//jar",
    "@jackson_databind//jar",
]
METRICS = [
    "@metrics_core//jar",
    "@metrics_json//jar",
]
KRYO = [
    "@kryo//jar",
    "@reflectasm//jar",
    "@asm//jar",
    "@minlog//jar",
    "@objenesis//jar",
]
CLI = [
    "@org_apache_karaf_shell_core//jar",
    "//cli:onos-cli",
]
REST = [
    "@javax_ws_rs_api//jar",
    "//utils/rest:onlab-rest",
]
ATOMIX = [
    "@atomix//jar",
    "@atomix_cluster//jar",
    "@atomix_primary_backup//jar",
    "@atomix_primitive//jar",
    "@atomix_raft//jar",
    "@atomix_storage//jar",
    "@atomix_utils//jar",
    "@typesafe_config//jar",
    "@classgraph//jar",
]

def generated_maven_jars():
    if "aopalliance_repackaged" not in native.existing_rules():
        java_import_external(
            name = "aopalliance_repackaged",
            jar_sha256 = "669869a9d7e98fcea34580de250db54531550487d03571f26b9592e712897423",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/external/aopalliance-repackaged/2.5.0-b42/aopalliance-repackaged-2.5.0-b42.jar"],        )
    if "amqp_client" not in native.existing_rules():
        java_import_external(
            name = "amqp_client",
            jar_sha256 = "cb6cdb7de8d37cb1b15b23867435c7dbbeaa1ca4b766f434138a8b9ef131994f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/rabbitmq/amqp-client/3.6.1/amqp-client-3.6.1.jar"],        )
    if "asm" not in native.existing_rules():
        java_import_external(
            name = "asm",
            jar_sha256 = "3e5ea0d7da2c5155ef4f470d9092d42de34e3f53db6589c7c07d6721adf4ba3e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/ow2/asm/asm/5.2/asm-5.2.jar"],        )
    if "atomix" not in native.existing_rules():
        java_import_external(
            name = "atomix",
            jar_sha256 = "967a951e5b11fed0c08bb2290cc2c7583fe786069ce896b70588a20b3a0af65f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix/3.1.5/atomix-3.1.5.jar"],        )
    if "atomix_cluster" not in native.existing_rules():
        java_import_external(
            name = "atomix_cluster",
            jar_sha256 = "bcf815de1efb668df25e7c5293f2a4352e96073ef7c82fe92272b3adfc4a0cd5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-cluster/3.1.5/atomix-cluster-3.1.5.jar"],        )
    if "atomix_primary_backup" not in native.existing_rules():
        java_import_external(
            name = "atomix_primary_backup",
            jar_sha256 = "814a5378bbe5190d717492d843e6aaa04a7a996315721a27291c207b30706d29",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-primary-backup/3.1.5/atomix-primary-backup-3.1.5.jar"],        )
    if "atomix_primitive" not in native.existing_rules():
        java_import_external(
            name = "atomix_primitive",
            jar_sha256 = "f78516e007f6faa9788f198a20aebe5150808a6b7779984a59530991be36c7c8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-primitive/3.1.5/atomix-primitive-3.1.5.jar"],        )
    if "atomix_raft" not in native.existing_rules():
        java_import_external(
            name = "atomix_raft",
            jar_sha256 = "57f91b4ed8281a5d26739491d317fd2b2d6788323d8eebca696f0b619d1b1b87",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-raft/3.1.5/atomix-raft-3.1.5.jar"],        )
    if "atomix_storage" not in native.existing_rules():
        java_import_external(
            name = "atomix_storage",
            jar_sha256 = "c751e133b9d8ac00b652ffc9169cf1cbff97c825103ef794a6e065ab3bbe6e99",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-storage/3.1.5/atomix-storage-3.1.5.jar"],        )
    if "atomix_utils" not in native.existing_rules():
        java_import_external(
            name = "atomix_utils",
            jar_sha256 = "492b1b0515518dc2003e28e0c42316e532cd2d9478256d6812d7f0b92fd7ef9d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/atomix/atomix-utils/3.1.5/atomix-utils-3.1.5.jar"],        )
    if "classgraph" not in native.existing_rules():
        java_import_external(
            name = "classgraph",
            jar_sha256 = "92a75236a6a30993895916b7eea4011c54d3182c9fa6734e8c23b30cc9500023",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/github/classgraph/classgraph/4.2.3/classgraph-4.2.3.jar"],        )
    if "commons_codec" not in native.existing_rules():
        java_import_external(
            name = "commons_codec",
            jar_sha256 = "4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.jar"],        )
    if "commons_cli" not in native.existing_rules():
        java_import_external(
            name = "commons_cli",
            jar_sha256 = "f8046bdc72b7ff88afb1dff5ff45451df95290c78a639ec7fa40c953ca89cb26",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-cli/commons-cli/1.3/commons-cli-1.3.jar"],        )
    if "commons_collections" not in native.existing_rules():
        java_import_external(
            name = "commons_collections",
            jar_sha256 = "eeeae917917144a68a741d4c0dff66aa5c5c5fd85593ff217bced3fc8ca783b8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar"],        )
    if "commons_configuration" not in native.existing_rules():
        java_import_external(
            name = "commons_configuration",
            jar_sha256 = "95d4e6711e88ce78992c82c25bc03c8df9ecf5a357f0de0bec72a26db3399374",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-configuration/commons-configuration/1.10/commons-configuration-1.10.jar"],        )
    if "commons_io" not in native.existing_rules():
        java_import_external(
            name = "commons_io",
            jar_sha256 = "f877d304660ac2a142f3865badfc971dec7ed73c747c7f8d5d2f5139ca736513",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-io/commons-io/2.6/commons-io-2.6.jar"],        )
    if "commons_beanutils" not in native.existing_rules():
        java_import_external(
            name = "commons_beanutils",
            jar_sha256 = "c058e39c7c64203d3a448f3adb588cb03d6378ed808485618f26e137f29dae73",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-beanutils/commons-beanutils/1.9.3/commons-beanutils-1.9.3.jar"],        )
    if "commons_jxpath" not in native.existing_rules():
        java_import_external(
            name = "commons_jxpath",
            jar_sha256 = "fcbc0ad917d9d6a73c6df21fac322e00d213ef19cd94815a007c407a8a3ff449",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-jxpath/commons-jxpath/1.3/commons-jxpath-1.3.jar"],        )
    if "fast_classpath_scanner" not in native.existing_rules():
        java_import_external(
            name = "fast_classpath_scanner",
            jar_sha256 = "80bd0619aa2111c26ad69808e29f649c860d30b14cbbbb080968a20518068185",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/github/lukehutch/fast-classpath-scanner/2.21/fast-classpath-scanner-2.21.jar"],        )
    if "jdom" not in native.existing_rules():
        java_import_external(
            name = "jdom",
            jar_sha256 = "3b23bc3979aec14a952a12aafc483010dc57579775f2ffcacef5256a90eeda02",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/jdom/jdom/1.0/jdom-1.0.jar"],        )
    if "commons_lang" not in native.existing_rules():
        java_import_external(
            name = "commons_lang",
            jar_sha256 = "50f11b09f877c294d56f24463f47d28f929cf5044f648661c0f0cfbae9a2f49c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-lang/commons-lang/2.6/commons-lang-2.6.jar"],        )
    if "commons_lang3" not in native.existing_rules():
        java_import_external(
            name = "commons_lang3",
            jar_sha256 = "6e8dc31e046508d9953c96534edf0c2e0bfe6f468966b5b842b3f87e43b6a847",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/commons/commons-lang3/3.7/commons-lang3-3.7.jar"],        )
    if "commons_logging" not in native.existing_rules():
        java_import_external(
            name = "commons_logging",
            jar_sha256 = "daddea1ea0be0f56978ab3006b8ac92834afeefbd9b7e4e6316fca57df0fa636",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"],        )
    if "commons_math3" not in native.existing_rules():
        java_import_external(
            name = "commons_math3",
            jar_sha256 = "1e56d7b058d28b65abd256b8458e3885b674c1d588fa43cd7d1cbb9c7ef2b308",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar"],        )
    if "commons_net" not in native.existing_rules():
        java_import_external(
            name = "commons_net",
            jar_sha256 = "c25b0da668b3c5649f002d504def22d1b4cb30d206f05428d2fe168fa1a901c2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-net/commons-net/3.5/commons-net-3.5.jar"],        )
    if "commons_pool" not in native.existing_rules():
        java_import_external(
            name = "commons_pool",
            jar_sha256 = "46c42b4a38dc6b2db53a9ee5c92c63db103665d56694e2cfce2c95d51a6860cc",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/commons-pool/commons-pool/1.6/commons-pool-1.6.jar"],        )
    if "commons_text" not in native.existing_rules():
        java_import_external(
            name = "commons_text",
            jar_sha256 = "8185b3a5311092d83ed1f184c2d093b3105d726bbd76867c32b3511542bb99a8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/commons/commons-text/1.3/commons-text-1.3.jar"],        )
    if "concurrent_trees" not in native.existing_rules():
        java_import_external(
            name = "concurrent_trees",
            jar_sha256 = "04e3724984e2a5cbf55606cfa372a5bd3d3c5d2a21533a7004e3cde539761fa5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/googlecode/concurrent-trees/concurrent-trees/2.6.1/concurrent-trees-2.6.1.jar"],        )
    if "easymock" not in native.existing_rules():
        java_import_external(
            name = "easymock",
            jar_sha256 = "104370107ef64d115e642cbdc14cea438a8d076f5aee9a9cb7882dc9a8ed4123",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/easymock/easymock/4.0.2/easymock-4.0.2.jar"],        )
    if "antlr" not in native.existing_rules():
        java_import_external(
            name = "antlr",
            jar_sha256 = "88fbda4b912596b9f56e8e12e580cc954bacfb51776ecfddd3e18fc1cf56dc4c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/antlr/antlr/2.7.7/antlr-2.7.7.jar"],        )
    if "ganymed_ssh2" not in native.existing_rules():
        java_import_external(
            name = "ganymed_ssh2",
            jar_sha256 = "dc3c036d9d3a54742e01f50a6f4613be5a8e5647e958348932a2bdb0007fa15a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/ch/ethz/ganymed/ganymed-ssh2/262/ganymed-ssh2-262.jar"],        )
    if "gmetric4j" not in native.existing_rules():
        java_import_external(
            name = "gmetric4j",
            jar_sha256 = "a32eb2f88f7c0fbc2846535c55d6f7bd8fc5763470bc3e1142cbaef2110a6bf3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/info/ganglia/gmetric4j/gmetric4j/1.0.10/gmetric4j-1.0.10.jar"],        )
    if "com_google_code_gson_gson" not in native.existing_rules():
        java_import_external(
            name = "com_google_code_gson_gson",
            jar_sha256 = "2d43eb5ea9e133d2ee2405cc14f5ee08951b8361302fdd93494a3a997b508d32",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.jar"],        )
    if "com_google_guava_guava" not in native.existing_rules():
        java_import_external(
            name = "com_google_guava_guava",
            jar_sha256 = "1158e94c7de4da480873f0b4ab4a1da14c0d23d4b1902cc94a58a6f0f9ab579e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/guava/guava/22.0/guava-22.0.jar"],        )
    if "com_google_guava_guava_testlib" not in native.existing_rules():
        java_import_external(
            name = "com_google_guava_guava_testlib",
            jar_sha256 = "5a7542ddd374a6a2e1c4f55609a72f926267047acad4213585557526c36628e0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/guava/guava-testlib/22.0/guava-testlib-22.0.jar"],        )
    if "hamcrest_all" not in native.existing_rules():
        java_import_external(
            name = "hamcrest_all",
            jar_sha256 = "4877670629ab96f34f5f90ab283125fcd9acb7e683e66319a68be6eb2cca60de",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar"],        )
    if "hk2_api" not in native.existing_rules():
        java_import_external(
            name = "hk2_api",
            jar_sha256 = "4d328e5b1cb5e8dcf3f97e1348d960f439e597009aa9d994dd5325bcef367908",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-api/2.5.0-b42/hk2-api-2.5.0-b42.jar"],        )
    if "hk2_locator" not in native.existing_rules():
        java_import_external(
            name = "hk2_locator",
            jar_sha256 = "2a3766079d1cd21e715e4fd75e8189ebd58f9bf852885f1679253f0a27039b72",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-locator/2.5.0-b42/hk2-locator-2.5.0-b42.jar"],        )
    if "hk2_osgi_resource_locator" not in native.existing_rules():
        java_import_external(
            name = "hk2_osgi_resource_locator",
            jar_sha256 = "775003be577e8806f51b6e442be1033d83be2cb2207227b349be0bf16e6c0843",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/osgi-resource-locator/1.0.1/osgi-resource-locator-1.0.1.jar"],        )
    if "hk2_utils" not in native.existing_rules():
        java_import_external(
            name = "hk2_utils",
            jar_sha256 = "5edb176086ad0be1d4abbc0a1d26d519d088a01ee24f9ee064c657895a86e3ee",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/hk2-utils/2.5.0-b42/hk2-utils-2.5.0-b42.jar"],        )
    if "httpclient_osgi" not in native.existing_rules():
        java_import_external(
            name = "httpclient_osgi",
            jar_sha256 = "e0cda85f788456b0a1664713794c70fd8ce634afbc5714df2dc6181174a6edd0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient-osgi/4.5.1/httpclient-osgi-4.5.1.jar"],        )
    if "httpcore_osgi" not in native.existing_rules():
        java_import_external(
            name = "httpcore_osgi",
            jar_sha256 = "a0bd904e00cb6788efd5cd8c180cb19569bba43e22a711e9b020ffa51b045a4c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore-osgi/4.4.4/httpcore-osgi-4.4.4.jar"],        )
    if "influxdb_java" not in native.existing_rules():
        java_import_external(
            name = "influxdb_java",
            jar_sha256 = "c2c35eff56e5b101028a52f5fa2bc25e7b5e0f6c7b7fdf9f5c8ed503621547eb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/influxdb/influxdb-java/2.9/influxdb-java-2.9.jar"],        )
    if "ipaddress" not in native.existing_rules():
        java_import_external(
            name = "ipaddress",
            jar_sha256 = "a8485113300d367306258a2663491fba8b1b746d00ca0df88d3943994cc0f7b9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/seancfoley/ipaddress/5.3.3/ipaddress-5.3.3.jar"],        )
    if "simpleclient" not in native.existing_rules():
        java_import_external(
            name = "simpleclient",
            jar_sha256 = "68e20a01ec974f382553b763f58594416c3c652b7067d8aeccf1a5ea6c8b1d0d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient/0.5.0/simpleclient-0.5.0.jar"],        )
    if "simpleclient_common" not in native.existing_rules():
        java_import_external(
            name = "simpleclient_common",
            jar_sha256 = "41d881034a44639d5717d71c61d207b8580bc755e0c0a6f4a1ec7137a7274366",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient_common/0.5.0/simpleclient_common-0.5.0.jar"],        )
    if "simpleclient_hotspot" not in native.existing_rules():
        java_import_external(
            name = "simpleclient_hotspot",
            jar_sha256 = "93f4f9e43948599ce42e38b3899194a130989d967eba47233abe16177fef1d06",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient_hotspot/0.5.0/simpleclient_hotspot-0.5.0.jar"],        )
    if "simpleclient_servlet" not in native.existing_rules():
        java_import_external(
            name = "simpleclient_servlet",
            jar_sha256 = "f8c1d2879588475a4a2600f286347203ef71fdde68ebac0006498c821e6d0de3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/prometheus/simpleclient_servlet/0.5.0/simpleclient_servlet-0.5.0.jar"],        )
    if "retrofit" not in native.existing_rules():
        java_import_external(
            name = "retrofit",
            jar_sha256 = "c0295f38b3c1a48bb71a8ed2ea69ddeb2e49a830b11862385a403355c6a94643",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/retrofit2/retrofit/2.3.0/retrofit-2.3.0.jar"],        )
    if "converter_moshi" not in native.existing_rules():
        java_import_external(
            name = "converter_moshi",
            jar_sha256 = "9623b53c71e7305ab1eb8b9e68a4ea57152420de9e2646e3676fbe851fc0371a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/retrofit2/converter-moshi/2.3.0/converter-moshi-2.3.0.jar"],        )
    if "okhttp" not in native.existing_rules():
        java_import_external(
            name = "okhttp",
            jar_sha256 = "a0d01017a42bba26e507fc6d448bb36e536f4b6e612f7c42de30bbdac2b7785e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.9.1/okhttp-3.9.1.jar"],        )
    if "logging_interceptor" not in native.existing_rules():
        java_import_external(
            name = "logging_interceptor",
            jar_sha256 = "990d2936ff0cb8964ff0e1680424cab713e8ff932ff5a747eaf972e1bc43908f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/okhttp3/logging-interceptor/3.9.1/logging-interceptor-3.9.1.jar"],        )
    if "moshi" not in native.existing_rules():
        java_import_external(
            name = "moshi",
            jar_sha256 = "d8ef4da48b59790d587904c4ef2245ee6f64dedec780f1250d00ab136160dcce",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/moshi/moshi/1.4.0/moshi-1.4.0.jar"],        )
    if "okio" not in native.existing_rules():
        java_import_external(
            name = "okio",
            jar_sha256 = "4633c331f50642ebe795dc089d6a5928aff43071c9d17e7840a009eea2fe95a3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar"],        )
    if "jacoco_agent_runtime" not in native.existing_rules():
        java_import_external(
            name = "jacoco_agent_runtime",
            jar_sha256 = "940056732802d1cbaf243840e0f8f2c786f5deb6c1dcac786637366a051257d8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/jacoco/org.jacoco.agent/0.8.2/org.jacoco.agent-0.8.2-runtime.jar"],        )
    if "jackson_annotations" not in native.existing_rules():
        java_import_external(
            name = "jackson_annotations",
            jar_sha256 = "8c3cba89bf3e03b35a0e6f892c2eb17ed8fdde2e214c3a4c18703d63796bae46",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.10.2/jackson-annotations-2.10.2.jar"],        )
    if "jackson_core" not in native.existing_rules():
        java_import_external(
            name = "jackson_core",
            jar_sha256 = "4c41f22a48f6ebb28752baeb6d25bf09ba4ff0ad8bfb82650dde448928b9da4f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.10.2/jackson-core-2.10.2.jar"],        )
    if "jackson_databind" not in native.existing_rules():
        java_import_external(
            name = "jackson_databind",
            jar_sha256 = "42c25644e35fadfbded1b7f35a8d1e70a86737f190e43aa2c56cea4b96cbda88",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.10.2/jackson-databind-2.10.2.jar"],        )
    if "jackson_dataformat_yaml" not in native.existing_rules():
        java_import_external(
            name = "jackson_dataformat_yaml",
            jar_sha256 = "2a39b96c1e15960b257ab5fc2b6e7e3e77cf8bddc42254ff20c8455df5cde699",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-yaml/2.10.2/jackson-dataformat-yaml-2.10.2.jar"],        )
    if "javax_annotation_javax_annotation_api" not in native.existing_rules():
        java_import_external(
            name = "javax_annotation_javax_annotation_api",
            jar_sha256 = "f43f8ca10941606fb675785286981c166be1393f584020ffd965c6863f62232c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3/javax.annotation-api-1.3.jar"],        )
    if "javax_inject" not in native.existing_rules():
        java_import_external(
            name = "javax_inject",
            jar_sha256 = "3bcf096beb918c9586be829190903090a21ac40513c1401e1b986e6030addc98",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/hk2/external/javax.inject/2.5.0-b42/javax.inject-2.5.0-b42.jar"],        )
    if "javax_ws_rs_api" not in native.existing_rules():
        java_import_external(
            name = "javax_ws_rs_api",
            jar_sha256 = "1a4295889416c6972addcd425dfeeee6e6ede110e8b2dc8b49044e9b400ad5db",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.jar"],        )
    if "javax_activation" not in native.existing_rules():
        java_import_external(
            name = "javax_activation",
            jar_sha256 = "ae475120e9fcd99b4b00b38329bd61cdc5eb754eee03fe66c01f50e137724f99",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar"],        )
    if "jaxb_api" not in native.existing_rules():
        java_import_external(
            name = "jaxb_api",
            jar_sha256 = "88b955a0df57880a26a74708bc34f74dcaf8ebf4e78843a28b50eae945732b06",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar"],        )
    if "jaxb_core" not in native.existing_rules():
        java_import_external(
            name = "jaxb_core",
            jar_sha256 = "d2ecba63615f317a11fb55c6468f6a9480f6411c10951d9881bafd9a9a8d0467",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar"],        )
    if "jaxb_impl" not in native.existing_rules():
        java_import_external(
            name = "jaxb_impl",
            jar_sha256 = "5ec7bb8dd5d36c9199131e06609409e4ea58bdd5d06fb361d8adfa8887b3c068",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/sun/xml/bind/jaxb-impl/2.3.0.1/jaxb-impl-2.3.0.1.jar"],        )
    if "jersey_client" not in native.existing_rules():
        java_import_external(
            name = "jersey_client",
            jar_sha256 = "aba407bda94df54f590041b4cde5f2fa31db45bd8b4cf7575af48c1f8f81bb04",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-client/2.27/jersey-client-2.27.jar"],        )
    if "jersey_security" not in native.existing_rules():
        java_import_external(
            name = "jersey_security",
            jar_sha256 = "25052afa8c18f2e98e9160bc4f434179eff592c7c9cfb98bfc582d40280daa0b",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/security/oauth2-client/2.27/oauth2-client-2.27.jar"],        )
    if "jersey_common" not in native.existing_rules():
        java_import_external(
            name = "jersey_common",
            jar_sha256 = "9a9578c6dac52b96195a614150f696d455db6b6d267a645c3120a4d0ee495789",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-common/2.27/jersey-common-2.27.jar"],        )
    if "jersey_container_jetty_http" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_jetty_http",
            jar_sha256 = "932390b9381d2bc9b9c1d386c30d7f2245ff0539e5c18b987727eea174256a09",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-jetty-http/2.27/jersey-container-jetty-http-2.27.jar"],        )
    if "jersey_container_servlet" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_servlet",
            jar_sha256 = "40349db8dabf6327a01ad59eaff172bd9a5f8927b2411bcdc59ceb05ce7731c1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet/2.27/jersey-container-servlet-2.27.jar"],        )
    if "jersey_container_servlet_core" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_servlet_core",
            jar_sha256 = "39e9fee46f5c6b5d4e49dc03f54741671bd4261090c5f7b5c72541a232873946",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet-core/2.27/jersey-container-servlet-core-2.27.jar"],        )
    if "jersey_media_multipart" not in native.existing_rules():
        java_import_external(
            name = "jersey_media_multipart",
            jar_sha256 = "08b303988e99546364283c63da5aa2d79c7c823f7b0d1ca5deabe66fbbb6374e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-multipart/2.27/jersey-media-multipart-2.27.jar"],        )
    if "jersey_media_sse" not in native.existing_rules():
        java_import_external(
            name = "jersey_media_sse",
            jar_sha256 = "660f0a524761b85a8689cd80c45eff9d1dd8302a1c623710b1e05f95d6748686",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-sse/2.27/jersey-media-sse-2.27.jar"],        )
    if "jersey_server" not in native.existing_rules():
        java_import_external(
            name = "jersey_server",
            jar_sha256 = "45a2e1e87566cb9808953d1f5ce0b4d99ede51be4a0f22ed92a7ceda7ba9417e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-server/2.27/jersey-server-2.27.jar"],        )
    if "jersey_hk2" not in native.existing_rules():
        java_import_external(
            name = "jersey_hk2",
            jar_sha256 = "634a2790f08c2f33feb78586b22a23005a2f8aa483c316ae2435729be0943968",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/inject/jersey-hk2/2.27/jersey-hk2-2.27.jar"],        )
    if "jersey_test_framework_core" not in native.existing_rules():
        java_import_external(
            name = "jersey_test_framework_core",
            jar_sha256 = "f2d6a9b9163643864b488f390325ef29c733996ca90089b0dbfa010032421139",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/test-framework/jersey-test-framework-core/2.27/jersey-test-framework-core-2.27.jar"],        )
    if "jersey_test_framework_jetty" not in native.existing_rules():
        java_import_external(
            name = "jersey_test_framework_jetty",
            jar_sha256 = "4308de3001f867d589a4e95085c128d9d33b3022c6f8d5c68ff7ef2e1fb54451",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/glassfish/jersey/test-framework/providers/jersey-test-framework-provider-jetty/2.27/jersey-test-framework-provider-jetty-2.27.jar"],        )
    if "jetty_util" not in native.existing_rules():
        java_import_external(
            name = "jetty_util",
            jar_sha256 = "936e5ed74275c16164cc1eccaeae55900eb00edd9f1b1d3b83d70782dd25f505",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-util/9.4.11.v20180605/jetty-util-9.4.11.v20180605.jar"],        )
    if "jetty_websocket_api" not in native.existing_rules():
        java_import_external(
            name = "jetty_websocket_api",
            jar_sha256 = "924edcf7fb17f2ff2e541afce7fd692305235e51b5a16f7223d7e8b4de77559d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/websocket/websocket-api/9.4.11.v20180605/websocket-api-9.4.11.v20180605.jar"],        )
    if "jetty_websocket" not in native.existing_rules():
        java_import_external(
            name = "jetty_websocket",
            jar_sha256 = "76f52b482ad174944e07f552cbfaaa2ccf498063e0a3837bb930eee8a06373aa",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/websocket/websocket-servlet/9.4.11.v20180605/websocket-servlet-9.4.11.v20180605.jar"],        )
    if "jetty_server" not in native.existing_rules():
        java_import_external(
            name = "jetty_server",
            jar_sha256 = "b74af5ac482b05c242ed231e00b7c08a0b6649f76f2e039a0885de0cf1376ef8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.4.11.v20180605/jetty-server-9.4.11.v20180605.jar"],        )
    if "jetty_servlet" not in native.existing_rules():
        java_import_external(
            name = "jetty_servlet",
            jar_sha256 = "e24f145a6d95c7653ad2fe0c34cf8ce7311effb7eb8ed9399fae63d8af63eaf4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-servlet/9.4.11.v20180605/jetty-servlet-9.4.11.v20180605.jar"],        )
    if "jetty_security" not in native.existing_rules():
        java_import_external(
            name = "jetty_security",
            jar_sha256 = "5a12b1c69264466004baff33b14fc1555007c86fb2fece2a420c480aa7f8ef56",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-security/9.4.11.v20180605/jetty-security-9.4.11.v20180605.jar"],        )
    if "jetty_continuation" not in native.existing_rules():
        java_import_external(
            name = "jetty_continuation",
            jar_sha256 = "0af8353dbe4ab06fb0020a380be60b2c2a63cd9430f5f199509ecd51dc3dd7cd",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-continuation/9.4.11.v20180605/jetty-continuation-9.4.11.v20180605.jar"],        )
    if "jetty_http" not in native.existing_rules():
        java_import_external(
            name = "jetty_http",
            jar_sha256 = "963b75730aa92b0dfbe65fe8a2e413edc88aeb53e8686ba6b1617d7caeb14067",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-http/9.4.11.v20180605/jetty-http-9.4.11.v20180605.jar"],        )
    if "jetty_io" not in native.existing_rules():
        java_import_external(
            name = "jetty_io",
            jar_sha256 = "75c82d6e542a3518e2517c4084c83d8216ec2d2458f8747b8b5c944355ebd732",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-io/9.4.11.v20180605/jetty-io-9.4.11.v20180605.jar"],        )
    if "javax_servlet_api" not in native.existing_rules():
        java_import_external(
            name = "javax_servlet_api",
            jar_sha256 = "af456b2dd41c4e82cf54f3e743bc678973d9fe35bd4d3071fa05c7e5333b8482",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar"],        )
    if "joda_time" not in native.existing_rules():
        java_import_external(
            name = "joda_time",
            jar_sha256 = "a05f5b8b021802a71919b18702aebdf286148188b3ee9d26e6ec40e8d0071487",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/joda-time/joda-time/2.9.3/joda-time-2.9.3.jar"],        )
    if "jsch" not in native.existing_rules():
        java_import_external(
            name = "jsch",
            jar_sha256 = "f00d5cb29d70a98ef6bf2000edc89b415ae6f59d25e33caf5578b20d0d400932",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/jcraft/jsch/0.1.53/jsch-0.1.53.jar"],        )
    if "com_google_code_findbugs_jsr305" not in native.existing_rules():
        java_import_external(
            name = "com_google_code_findbugs_jsr305",
            jar_sha256 = "766ad2a0783f2687962c8ad74ceecc38a28b9f72a2d085ee438b7813e928d0c7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar"],        )
    if "junit" not in native.existing_rules():
        java_import_external(
            name = "junit",
            jar_sha256 = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/junit/junit/4.12/junit-4.12.jar"],        )
    if "junit_dep" not in native.existing_rules():
        java_import_external(
            name = "junit_dep",
            jar_sha256 = "36a747ca1e0b86f6ea88055b8723bb87030d627766da6288bf077afdeeb0f75a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/junit/junit/4.10/junit-4.10.jar"],        )
    if "kryo" not in native.existing_rules():
        java_import_external(
            name = "kryo",
            jar_sha256 = "05da64250f6e6488cd79a2609887fd3b9db46c37cdc6daaba88a178632bf48f9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/esotericsoftware/kryo/4.0.1/kryo-4.0.1.jar"],        )
    if "mapdb" not in native.existing_rules():
        java_import_external(
            name = "mapdb",
            jar_sha256 = "fac1afd9bfd1be9f2f480fb0c1253cdb9947f334f61a07ec9a855eb2a9d6aedd",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/mapdb/mapdb/1.0.9/mapdb-1.0.9.jar"],        )
    if "metrics_core" not in native.existing_rules():
        java_import_external(
            name = "metrics_core",
            jar_sha256 = "5c6f685e41664d10c70c65837cba9e58d39ff3896811e3b5707a934b11c85ad0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-core/3.2.2/metrics-core-3.2.2.jar"],        )
    if "metrics_ganglia" not in native.existing_rules():
        java_import_external(
            name = "metrics_ganglia",
            jar_sha256 = "fdae87ba15898e1754c885afab1594962b0bb24e2049ad35b853521b458f7351",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-ganglia/3.2.2/metrics-ganglia-3.2.2.jar"],        )
    if "metrics_graphite" not in native.existing_rules():
        java_import_external(
            name = "metrics_graphite",
            jar_sha256 = "cb967ecf5d6d88fe08322b8fe64b885ef2ce0e74ed8fc9bfea286e7aad2e6d47",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-graphite/3.2.2/metrics-graphite-3.2.2.jar"],        )
    if "metrics_influxdb" not in native.existing_rules():
        java_import_external(
            name = "metrics_influxdb",
            jar_sha256 = "ad5b498597f66b245ecff13396fecfc7b8a2b2616c2e3f7773050596c09fd77f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/izettle/metrics-influxdb/1.1.1/metrics-influxdb-1.1.1.jar"],        )
    if "metrics_json" not in native.existing_rules():
        java_import_external(
            name = "metrics_json",
            jar_sha256 = "38f50ac1f211518279031919bbcc0e02f6d6659d02dcd6f4e47e90b16851c821",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/dropwizard/metrics/metrics-json/3.2.2/metrics-json-3.2.2.jar"],        )
    if "minimal_json" not in native.existing_rules():
        java_import_external(
            name = "minimal_json",
            jar_sha256 = "e1d280900c78f18ae2e00c14e7410a77ba19cf084154b386532846aa6dc81721",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/eclipsesource/minimal-json/minimal-json/0.9.4/minimal-json-0.9.4.jar"],        )
    if "minlog" not in native.existing_rules():
        java_import_external(
            name = "minlog",
            jar_sha256 = "f7b399d3a5478a4f3e0d98bd1c9f47766119c66414bc33aa0f6cde0066f24cc2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/esotericsoftware/minlog/1.3.0/minlog-1.3.0.jar"],        )
    if "io_netty_netty" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty",
            jar_sha256 = "eb031acf8a00733481bcd60807925ecfc9ce3840f13823d4b96cdcb1132db1da",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty/3.10.5.Final/netty-3.10.5.Final.jar"],        )
    if "io_netty_netty_buffer" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_buffer",
            jar_sha256 = "b7178cb8534676986c64a8fa7d216df926826c8d673a26b6c9f79fd2057a2d8d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.35.Final/netty-buffer-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec",
            jar_sha256 = "1569911a2c42d74876e84b89228fc580077997c9f7d4a9f54595592331fdba84",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec/4.1.35.Final/netty-codec-4.1.35.Final.jar"],        )
    if "io_netty_netty_common" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_common",
            jar_sha256 = "a5bbdec45faaa4cf34cd21861e35193d8f132e54bdccad2378dbd9644f2862c9",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-common/4.1.35.Final/netty-common-4.1.35.Final.jar"],        )
    if "io_netty_netty_handler" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_handler",
            jar_sha256 = "1356bd60d8360d99746f3443d22b390983e1cd353045e8aae7f3e2df4fc7a8f3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-handler/4.1.35.Final/netty-handler-4.1.35.Final.jar"],        )
    if "io_netty_netty_handler_proxy" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_handler_proxy",
            jar_sha256 = "a9dc237a886e33222eb1817821347255d9d788466d175a123cb497b1f1da3537",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.35.Final/netty-handler-proxy-4.1.35.Final.jar"],        )
    if "io_netty_netty_transport" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport",
            jar_sha256 = "02ff2bbe0837455d75b2b182f2cc868052ad404d1cf7ca5b48b8e1f6a6266982",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-transport/4.1.35.Final/netty-transport-4.1.35.Final.jar"],        )
    if "io_netty_netty_transport_native_unix_common" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport_native_unix_common",
            jar_sha256 = "8fe591753ca7623c99d120bbf0750baafbd982257d06c94c93d221c94c75511e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.35.Final/netty-transport-native-unix-common-4.1.35.Final.jar"],        )
    if "io_netty_netty_transport_native_epoll" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport_native_epoll",
            jar_sha256 = "85d460beffccfc32a653c5294a79aa3800a81816da5c010ef93b0eb9fe53c812",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.35.Final/netty-transport-native-epoll-4.1.35.Final.jar"],        )
    if "io_netty_netty_resolver" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_resolver",
            jar_sha256 = "690277caffe12fc92b9ae648ed36ff70a969e7acf6b82e1ccf5f7c375ed31bdf",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.35.Final/netty-resolver-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec_http2" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_http2",
            jar_sha256 = "aa5ab661b2a0ec939d8d3944f227ebd55f3052400087828c93803191b6624018",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.35.Final/netty-codec-http2-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec_http" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_http",
            jar_sha256 = "2f6e685a461a0ad5e088dc3a37139324f5587337af56b2922f91698341a4b0e2",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.35.Final/netty-codec-http-4.1.35.Final.jar"],        )
    if "io_netty_netty_codec_socks" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_socks",
            jar_sha256 = "809ff79aeaefe0ffd0c0c72d7996ca6b99bf3b873faaa76f65a3cfbae3f66842",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.35.Final/netty-codec-socks-4.1.35.Final.jar"],        )
    if "io_netty_netty_tcnative_boringssl" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_tcnative_boringssl",
            jar_sha256 = "96d9c14ab4c47cbad7fec9bdb083917db971d3754d6c7fa89f958bc719e230ed",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/netty/netty-tcnative-boringssl-static/2.0.25.Final/netty-tcnative-boringssl-static-2.0.25.Final.jar"],        )
    if "objenesis" not in native.existing_rules():
        java_import_external(
            name = "objenesis",
            jar_sha256 = "5e168368fbc250af3c79aa5fef0c3467a2d64e5a7bd74005f25d8399aeb0708d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/objenesis/objenesis/2.6/objenesis-2.6.jar"],        )
    if "openflowj" not in native.existing_rules():
        java_import_external(
            name = "openflowj",
            jar_sha256 = "b5bd490435fd6910ac9d2e0f1b2d71c68d9ff7261bfd0e70c4a0f8ea970c2785",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/openflowj/3.2.1.onos/openflowj-3.2.1.onos.jar"],        )
    if "org_osgi_util_function" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_util_function",
            jar_sha256 = "83d52d198f8bdd4cd9a02ecb7f05e01e0d59d1c960256db6dccd16962f79d7c5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.util.function/1.1.0/org.osgi.util.function-1.1.0.jar"],        )
    if "org_osgi_util_promise" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_util_promise",
            jar_sha256 = "4f85beccd281cc1a4e735bd266a0dd3db11651d3d0dde001e6bfa55dbdfdee83",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.1.1/org.osgi.util.promise-1.1.1.jar"],        )
    if "org_osgi_service_component" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_component",
            jar_sha256 = "607b85148c03e9385b91dd355200aeda3cbfaa6374edba737a9460aac5d576e1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.component/1.4.0/org.osgi.service.component-1.4.0.jar"],        )
    if "org_osgi_service_component_annotations" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_component_annotations",
            jar_sha256 = "8de7c6753f00edc81df24059dcd2efd67fedcd9b020bbcc6aaa170f4a34c010c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.component.annotations/1.4.0/org.osgi.service.component.annotations-1.4.0.jar"],        )
    if "org_osgi_service_metatype_annotations" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_metatype_annotations",
            jar_sha256 = "c768e569389a25ce0ef2ce32ce9de05624ec093f2f275ce430da573aba554bcb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.metatype.annotations/1.4.0/org.osgi.service.metatype.annotations-1.4.0.jar"],        )
    if "org_osgi_service_cm" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_service_cm",
            jar_sha256 = "c1768352603abdeb18ca160ac8c712768f88d2e418fe4c5cf50845e783154233",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.service.cm/1.6.0/org.osgi.service.cm-1.6.0.jar"],        )
    if "org_apache_felix_scr_bnd" not in native.existing_rules():
        java_import_external(
            name = "org_apache_felix_scr_bnd",
            jar_sha256 = "fee253dd67f87481c1d29f5ba6e6158604f722eac8b35bce868e3693ee00ccac",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/felix/org.apache.felix.scr.bnd/1.9.0/org.apache.felix.scr.bnd-1.9.0.jar"],        )
    if "org_apache_karaf_bundle_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_bundle_core",
            jar_sha256 = "1b494b5c596e1b5fe81136c69a7b0e3ad8e86134207c46bf4cbb029b5414aaf8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/bundle/org.apache.karaf.bundle.core/4.2.9/org.apache.karaf.bundle.core-4.2.9.jar"],        )
    if "org_apache_karaf_features_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_features_core",
            jar_sha256 = "0b9baf7a41e95d184f26d59cd923431900699b6bf55e09b883300d43fa97aa18",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.9/org.apache.karaf.features.core-4.2.9.jar"],        )
    if "org_apache_karaf_shell_console" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_shell_console",
            jar_sha256 = "8bb60748f6bf6498b8f2c13cf96919e6f8c361af97d9a373eade474841e85196",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.9/org.apache.karaf.shell.console-4.2.9.jar"],        )
    if "org_apache_karaf_shell_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_shell_core",
            jar_sha256 = "2b39bfcc5972271f697894364d7937a72317962248b6a6734614f656cb840459",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.9/org.apache.karaf.shell.core-4.2.9.jar"],        )
    if "org_apache_httpcomponents_httpasyncclient_osgi" not in native.existing_rules():
        java_import_external(
            name = "org_apache_httpcomponents_httpasyncclient_osgi",
            jar_sha256 = "243ed2ef640565dbe6abdaec7ff8469d3a983424ae80170a3b0db246be40ddb3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpasyncclient-osgi/4.1.2/httpasyncclient-osgi-4.1.2.jar"],        )
    if "org_apache_httpcomponents_httpcore_nio" not in native.existing_rules():
        java_import_external(
            name = "org_apache_httpcomponents_httpcore_nio",
            jar_sha256 = "f21be11ed00a7c655204c03d3ff38c2e8ac88db0913da3598ce5f9ffd686ae1f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore-nio/4.4.4/httpcore-nio-4.4.4.jar"],        )
    if "org_apache_karaf_jaas" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_jaas",
            jar_sha256 = "a24b744898d9d1bafcd0c094270652896d1e4e4ebaacb35b638dd46b93e5c600",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.9/org.apache.karaf.jaas.modules-4.2.9.jar"],        )
    if "org_apache_karaf_system_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_system_core",
            jar_sha256 = "34d1f8057b7d2226cbd1a5219454d038c1799995e9ac9626baa35e284ddfa238",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.9/org.apache.karaf.system.core-4.2.9.jar"],        )
    if "org_apache_servicemix_bundles_snmp4j" not in native.existing_rules():
        java_import_external(
            name = "org_apache_servicemix_bundles_snmp4j",
            jar_sha256 = "68c5b7885fa9157813e01482ddbdfa1c63bb6743d98fd5dba8ce83904bfcf7f8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.snmp4j/2.3.4_1/org.apache.servicemix.bundles.snmp4j-2.3.4_1.jar"],        )
    if "org_osgi_cmpn" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_cmpn",
            jar_sha256 = "dbe06105a0e3e46bc88425b3d7c682a2d8b6bd055341913b6c37e998c00c9176",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/osgi.cmpn/6.0.0/osgi.cmpn-6.0.0.jar"],        )
    if "osgi_core" not in native.existing_rules():
        java_import_external(
            name = "osgi_core",
            jar_sha256 = "1c1bb435eb34cbf1f743653da38f604d45d53fbc95979053768cd3fc293cb931",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/osgi/org.osgi.core/6.0.0/org.osgi.core-6.0.0.jar"],        )
    if "reflectasm" not in native.existing_rules():
        java_import_external(
            name = "reflectasm",
            jar_sha256 = "7cd978191b9ff6159810a8ab4646a3e696388c5c41ce25ffcc554d4ec77f3a93",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/esotericsoftware/reflectasm/1.11.7/reflectasm-1.11.7.jar"],        )
    if "remotetea_oncrpc" not in native.existing_rules():
        java_import_external(
            name = "remotetea_oncrpc",
            jar_sha256 = "68d014e83e41a958ce8c73e9b7fd0108372d9f76af7d6d5217d181cf80e2a2bf",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/acplt/remotetea/remotetea-oncrpc/1.1.3/remotetea-oncrpc-1.1.3.jar"],        )
    if "rrd4j" not in native.existing_rules():
        java_import_external(
            name = "rrd4j",
            jar_sha256 = "90748680f887412d905ee43d09da5e5167a6dec3dfa4145832652eea1ad8171e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/rrd4j/rrd4j/3.1/rrd4j-3.1.jar"],        )
    if "javassist" not in native.existing_rules():
        java_import_external(
            name = "javassist",
            jar_sha256 = "59531c00f3e3aa1ff48b3a8cf4ead47d203ab0e2fd9e0ad401f764e05947e252",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/javassist/javassist/3.22.0-GA/javassist-3.22.0-GA.jar"],        )
    if "mimepull" not in native.existing_rules():
        java_import_external(
            name = "mimepull",
            jar_sha256 = "2d1ee56aa89837ba9ea55431542e7939fa9d425552c2e6c8ddfb3b77877721b7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/jvnet/mimepull/mimepull/1.9.6/mimepull-1.9.6.jar"],        )
    if "servlet_api" not in native.existing_rules():
        java_import_external(
            name = "servlet_api",
            jar_sha256 = "c658ea360a70faeeadb66fb3c90a702e4142a0ab7768f9ae9828678e0d9ad4dc",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/servlet/servlet-api/2.5/servlet-api-2.5.jar"],        )
    if "slf4j_api" not in native.existing_rules():
        java_import_external(
            name = "slf4j_api",
            jar_sha256 = "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.25/slf4j-api-1.7.25.jar"],        )
    if "slf4j_jdk14" not in native.existing_rules():
        java_import_external(
            name = "slf4j_jdk14",
            jar_sha256 = "9b8b9b8279959b17e71432d40b8cf4175c761c3bc6ebc2c7ec0f2ae8ff223feb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.jar"],        )
    if "slf4j_nop" not in native.existing_rules():
        java_import_external(
            name = "slf4j_nop",
            jar_sha256 = "6cb127138f41b5a869f9ecdd061ad17799a0e3fe7204600797154eb0432eeb12",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/slf4j/slf4j-nop/1.7.25/slf4j-nop-1.7.25.jar"],        )
    if "typesafe_config" not in native.existing_rules():
        java_import_external(
            name = "typesafe_config",
            jar_sha256 = "6563d1723f3300bf596f41e40bc03e54986108b5c45d0ac34ebc66d48c2e25a3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/typesafe/config/1.3.2/config-1.3.2.jar"],        )
    if "validation_api" not in native.existing_rules():
        java_import_external(
            name = "validation_api",
            jar_sha256 = "9873b46df1833c9ee8f5bc1ff6853375115dadd8897bcb5a0dffb5848835ee6c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/javax/validation/validation-api/2.0.1.Final/validation-api-2.0.1.Final.jar"],        )
    if "checkstyle" not in native.existing_rules():
        java_import_external(
            name = "checkstyle",
            jar_sha256 = "dad140fc7e79179deb48653ad86517a3c4df69f9e957c72b5c6476c484042a14",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/puppycrawl/tools/checkstyle/8.10/checkstyle-8.10.jar"],        )
    if "apache_karaf" not in native.existing_rules():
        java_import_external(
            name = "apache_karaf",
            jar_sha256 = "ad1c15da75d9112537df09bef1e9fcadb11446619f38a22105592a9273061bf4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.9-offline-20200706/apache-karaf-4.2.9-offline-20200706.tar.gz"],        )
    if "bndlib" not in native.existing_rules():
        java_import_external(
            name = "bndlib",
            jar_sha256 = "dfa48c53c124a41e8a21198b49e4a4d68620f2df8a545f9bcdca8c9f5bb5b14c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/4.1.0/biz.aQute.bndlib-4.1.0.jar"],        )
    if "bndexe" not in native.existing_rules():
        java_import_external(
            name = "bndexe",
            jar_sha256 = "5ad18a5a8702fcfe42d5180ee4ba33cf4728d5f68055b2d3755a86222afac462",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd/4.1.0/biz.aQute.bnd-4.1.0.jar"],        )
    if "libthrift" not in native.existing_rules():
        java_import_external(
            name = "libthrift",
            jar_sha256 = "65f1d191c3c97ec79e6d82e75f8af9d5265f4fbb605df4efc5614c222109cf36",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.11.0/libthrift-0.11.0.jar"],        )
    if "qdox" not in native.existing_rules():
        java_import_external(
            name = "qdox",
            jar_sha256 = "5753628390f7ac1665f813bf610b708cc489f3347b9813389e6c052346527cca",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/thoughtworks/qdox/qdox/2.0-M3/qdox-2.0-M3.jar"],        )
    if "snmp_core" not in native.existing_rules():
        java_import_external(
            name = "snmp_core",
            jar_sha256 = "4367a5a3e32d4f53394cd2585d7a086e20e6d8fb4317cadbacae918df7a4cd9e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/snmp-core/1.3-20161021.1/snmp-core-1.3-20161021.1.jar"],        )
    if "mibs_net_snmp" not in native.existing_rules():
        java_import_external(
            name = "mibs_net_snmp",
            jar_sha256 = "6ac3750d3555d2cbe6ef15550856be080db562aa4a9b9519959d3f1fc19f1ae3",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/mibbler-mibs-net-snmp/1.0-20151221.1/mibbler-mibs-net-snmp-1.0-20151221.1.jar"],        )
    if "mibs_rfc" not in native.existing_rules():
        java_import_external(
            name = "mibs_rfc",
            jar_sha256 = "8f58bde90b7b24ac42b02196ce69ab6e1fa3bd009c38d8f972b24d5a1eb40f52",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/mibbler-mibs-rfc/1.0-20151221.1/mibbler-mibs-rfc-1.0-20151221.1.jar"],        )
    if "io_socket_client" not in native.existing_rules():
        java_import_external(
            name = "io_socket_client",
            jar_sha256 = "b5ccc73724f0d188ada06aff41c8bf60e0e5d4462e7980af203a20ea87bfa583",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/socket/socket.io-client/0.8.3/socket.io-client-0.8.3.jar"],        )
    if "json" not in native.existing_rules():
        java_import_external(
            name = "json",
            jar_sha256 = "055be110a570f9cda3eba8d70a006ff46c77a048bc67868524879211c48b330a",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/json/json/20090211/json-20090211.jar"],        )
    if "engine_io_client" not in native.existing_rules():
        java_import_external(
            name = "engine_io_client",
            jar_sha256 = "c421ace40f0170d9c7f0155850076a68f091afa9a60fc055f703277ce92bc214",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/socket/engine.io-client/0.8.3/engine.io-client-0.8.3.jar"],        )
    if "org_codehaus_mojo_animal_sniffer_annotations" not in native.existing_rules():
        java_import_external(
            name = "org_codehaus_mojo_animal_sniffer_annotations",
            jar_sha256 = "92654f493ecfec52082e76354f0ebf87648dc3d5cec2e3c3cdb947c016747a53",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/codehaus/mojo/animal-sniffer-annotations/1.17/animal-sniffer-annotations-1.17.jar"],        )
    if "com_google_api_grpc_proto_google_common_protos" not in native.existing_rules():
        java_import_external(
            name = "com_google_api_grpc_proto_google_common_protos",
            jar_sha256 = "bd60cd7a423b00fb824c27bdd0293aaf4781be1daba6ed256311103fb4b84108",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.12.0/proto-google-common-protos-1.12.0.jar"],        )
    if "com_google_errorprone_error_prone_annotations" not in native.existing_rules():
        java_import_external(
            name = "com_google_errorprone_error_prone_annotations",
            jar_sha256 = "baf7d6ea97ce606c53e11b6854ba5f2ce7ef5c24dddf0afa18d1260bd25b002c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar"],        )
    if "com_google_auth_google_auth_library_credentials" not in native.existing_rules():
        java_import_external(
            name = "com_google_auth_google_auth_library_credentials",
            jar_sha256 = "e117279c52c41b66937a5adae41dfeae0e40e48ae40230d2edeb4adc28ed996c",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.13.0/google-auth-library-credentials-0.13.0.jar"],        )
    if "com_google_auth_google_auth_library_oauth2_http" not in native.existing_rules():
        java_import_external(
            name = "com_google_auth_google_auth_library_oauth2_http",
            jar_sha256 = "62551f27379f873962e410328fc10a11a2b8f5df7c232e3cbe96a1b5edadf1ba",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.13.0/google-auth-library-oauth2-http-0.13.0.jar"],        )
    if "com_google_j2objc_j2objc_annotations" not in native.existing_rules():
        java_import_external(
            name = "com_google_j2objc_j2objc_annotations",
            jar_sha256 = "2994a7eb78f2710bd3d3bfb639b2c94e219cedac0d4d084d516e78c16dddecf6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.jar"],        )
    if "com_google_guava_failureaccess" not in native.existing_rules():
        java_import_external(
            name = "com_google_guava_failureaccess",
            jar_sha256 = "a171ee4c734dd2da837e4b16be9df4661afab72a41adaf31eb84dfdaf936ca26",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar"],        )
    if "com_google_android_annotations" not in native.existing_rules():
        java_import_external(
            name = "com_google_android_annotations",
            jar_sha256 = "ba734e1e84c09d615af6a09d33034b4f0442f8772dec120efb376d86a565ae15",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/google/android/annotations/4.1.1.4/annotations-4.1.1.4.jar"],        )
    if "io_opencensus_opencensus_api" not in native.existing_rules():
        java_import_external(
            name = "io_opencensus_opencensus_api",
            jar_sha256 = "8e2cb0f6391d8eb0a1bcd01e7748883f0033b1941754f4ed3f19d2c3e4276fc8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.21.0/opencensus-api-0.21.0.jar"],        )
    if "io_opencensus_opencensus_contrib_grpc_metrics" not in native.existing_rules():
        java_import_external(
            name = "io_opencensus_opencensus_contrib_grpc_metrics",
            jar_sha256 = "29fc79401082301542cab89d7054d2f0825f184492654c950020553ef4ff0ef8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.21.0/opencensus-contrib-grpc-metrics-0.21.0.jar"],        )
    if "io_perfmark_perfmark_api" not in native.existing_rules():
        java_import_external(
            name = "io_perfmark_perfmark_api",
            jar_sha256 = "a93667875ea9d10315177768739a18d6c667df041c982d2841645ae8558d0af0",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/perfmark/perfmark-api/0.16.0/perfmark-api-0.16.0.jar"],        )
    if "openstack4j_core" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_core",
            jar_sha256 = "f818e00d9c1ae979b107ee6166455ae0c5c023d7aff08dce4089deddd41837c1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/pacesys/openstack4j-core/3.2.0/openstack4j-core-3.2.0.jar"],        )
    if "openstack4j_http_connector" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_http_connector",
            jar_sha256 = "7677a217126817d74ce42becb397bf5627a8d5c37b5a7cd318aa3099b1680d08",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-http-connector/3.2.0/openstack4j-http-connector-3.2.0.jar"],        )
    if "openstack4j_httpclient" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_httpclient",
            jar_sha256 = "3cb4f8cab734ca5727bfb89ee2a733b921b76c5a58eceb9a05281d4c040b802f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-httpclient/3.2.0/openstack4j-httpclient-3.2.0.jar"],        )
    if "json_patch" not in native.existing_rules():
        java_import_external(
            name = "json_patch",
            jar_sha256 = "2d6acbda3675e6f25b7b4ab338317006865a8416a69c2b5e1cfa8b8209fc10a1",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/json-patch/1.9/json-patch-1.9.jar"],        )
    if "jackson_coreutils" not in native.existing_rules():
        java_import_external(
            name = "jackson_coreutils",
            jar_sha256 = "d84b416924fb061a26c48a5c90e98cf4d4e718179eb1df702aa8f1021163eed6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/jackson-coreutils/1.6/jackson-coreutils-1.6.jar"],        )
    if "btf" not in native.existing_rules():
        java_import_external(
            name = "btf",
            jar_sha256 = "38a380577a186718cb97ee8af58d4f40f7fbfdc23ff68b5f4b3c2c68a1d5c05d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/btf/1.2/btf-1.2.jar"],        )
    if "msg_simple" not in native.existing_rules():
        java_import_external(
            name = "msg_simple",
            jar_sha256 = "c3c5add3971a9a7f1868beb7607780d73f36bb611c7505de01f1baf49ab4ff75",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/fge/msg-simple/1.1/msg-simple-1.1.jar"],        )
    if "snakeyaml" not in native.existing_rules():
        java_import_external(
            name = "snakeyaml",
            jar_sha256 = "b50ef33187e7dc922b26dbe4dd0fdb3a9cf349e75a08b95269901548eee546eb",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/yaml/snakeyaml/1.25/snakeyaml-1.25.jar"],        )
    if "k8s_client" not in native.existing_rules():
        java_import_external(
            name = "k8s_client",
            jar_sha256 = "50addcabb1f4c1be6008c76d491e19f7aa731deaa6eb165dc288454901b23fd8",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-client/4.7.1/kubernetes-client-4.7.1.jar"],        )
    if "k8s_model" not in native.existing_rules():
        java_import_external(
            name = "k8s_model",
            jar_sha256 = "b14ddbc7fb9f6102db5f8b2d9c659cd90caf345d00965e953c79fb66eeb60a11",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/kubernetes-model/4.7.1/kubernetes-model-4.7.1.jar"],        )
    if "zjsonpatch" not in native.existing_rules():
        java_import_external(
            name = "zjsonpatch",
            jar_sha256 = "ae4e5e931646a25cb09b55186de4f3346e358e01130bef279ddf495a719c71d5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/fabric8/zjsonpatch/0.3.0/zjsonpatch-0.3.0.jar"],        )
    if "generex" not in native.existing_rules():
        java_import_external(
            name = "generex",
            jar_sha256 = "8f8ce233c335e08e113a3f9579de1046fb19927e82468b1bbebcd6cba8760b81",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/github/mifmif/generex/1.0.2/generex-1.0.2.jar"],        )
    if "automaton" not in native.existing_rules():
        java_import_external(
            name = "automaton",
            jar_sha256 = "a24475f6ccfe1cc7a4fe9e34e05ce687b0ce0c6e8cb781e0eced3b186482c61e",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/dk/brics/automaton/automaton/1.11-8/automaton-1.11-8.jar"],        )
    if "onos_yang_model" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_model",
            jar_sha256 = "6ff02d581cbf66276eac346e8ba363ad2078244897aea210f1bc0ab8d7fbb913",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-model/2.6.1/onos-yang-model-2.6.1.jar"],        )
    if "onos_yang_compiler_api" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_compiler_api",
            jar_sha256 = "7c4a9ac600b89affea34cd3218bfd6023045947e780f94419df33de9223829c4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-compiler-api/2.6.1/onos-yang-compiler-api-2.6.1.jar"],        )
    if "onos_yang_compiler_main" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_compiler_main",
            jar_sha256 = "7f2b92bc74c91a3ea4a91896d35c8c2bc5039c5e5108dc51c884b9cba250b556",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-compiler-main/2.6.1/onos-yang-compiler-main-2.6.1.jar"],        )
    if "onos_yang_runtime" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_runtime",
            jar_sha256 = "b8e0c47ba62931319324566a7ab81c3a3f070665b912877e675a4e1fb181e310",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-runtime/2.6/onos-yang-runtime-2.6.jar"],        )
    if "onos_yang_serializers_json" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_json",
            jar_sha256 = "685903f8b72e3c4dd59ed57ebd82ced45a03761883a0c66f499c7109c16e85a7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-json/2.6.1/onos-yang-serializers-json-2.6.1.jar"],        )
    if "onos_yang_serializers_xml" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_xml",
            jar_sha256 = "63d9db7c3e3ef4eba1d8a0720f43191938826e9ec813b0e3ef94473339c29d47",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-xml/2.6.1/onos-yang-serializers-xml-2.6.1.jar"],        )
    if "onos_yang_serializers_utils" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_utils",
            jar_sha256 = "57b2544d044ecb2cab7cc6d6026acc6fb7cbaa5f084264884ccb9b5d7d3991c4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-utils/2.6.1/onos-yang-serializers-utils-2.6.1.jar"],        )
    if "org_apache_servicemix_bundles_dom4j" not in native.existing_rules():
        java_import_external(
            name = "org_apache_servicemix_bundles_dom4j",
            jar_sha256 = "15abe1ccad24f4fd71a926959f1acd64d84878348deee12dcf4928ee4f1db3d5",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.dom4j/1.6.1_5/org.apache.servicemix.bundles.dom4j-1.6.1_5.jar"],        )
    if "plexus_utils" not in native.existing_rules():
        java_import_external(
            name = "plexus_utils",
            jar_sha256 = "83ee748b12d06afb0ad4050a591132b3e8025fbb1990f1ed002e8b73293e69b4",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/codehaus/plexus/plexus-utils/3.0.24/plexus-utils-3.0.24.jar"],        )
    if "sshd_core" not in native.existing_rules():
        java_import_external(
            name = "sshd_core",
            jar_sha256 = "2b4793548bdf172705686c34615c5397b2258d07dd1492f4de936e09985aa3c7",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/sshd/sshd-core/1.7.0/sshd-core-1.7.0.jar"],        )
    if "bcpkix_jdk15on" not in native.existing_rules():
        java_import_external(
            name = "bcpkix_jdk15on",
            jar_sha256 = "601d85cfbcef76a1cb77cbf755a6234a4ba1d4c02a98d9a81028d471f388694f",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/bouncycastle/bcpkix-jdk15on/1.59/bcpkix-jdk15on-1.59.jar"],        )
    if "bcprov_jdk15on" not in native.existing_rules():
        java_import_external(
            name = "bcprov_jdk15on",
            jar_sha256 = "1c31e44e331d25e46d293b3e8ee2d07028a67db011e74cb2443285aed1d59c85",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/bouncycastle/bcprov-jdk15on/1.59/bcprov-jdk15on-1.59.jar"],        )
    if "hamcrest_optional" not in native.existing_rules():
        java_import_external(
            name = "hamcrest_optional",
            jar_sha256 = "003448296855b665d7c41c23096dbd7d880a1c58880c13c7a6aed1a0cb641eb6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/spotify/hamcrest-optional/1.1.0/hamcrest-optional-1.1.0.jar"],        )
    if "swagger_annotations" not in native.existing_rules():
        java_import_external(
            name = "swagger_annotations",
            jar_sha256 = "bd9a46c296bacb2a135330a2518fed1ea12a7be33dbf57f148d6c766e1aa0940",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/io/swagger/swagger-annotations/1.5.16/swagger-annotations-1.5.16.jar"],        )
    if "kafka_clients" not in native.existing_rules():
        java_import_external(
            name = "kafka_clients",
            jar_sha256 = "15449e35e7ab4b701a136e8b57062dc49963cf785a7bf84e0065af621ae5772d",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.kafka-clients/1.1.1_1/org.apache.servicemix.bundles.kafka-clients-1.1.1_1.jar"],        )
    if "tinder_xmpp" not in native.existing_rules():
        java_import_external(
            name = "tinder_xmpp",
            jar_sha256 = "8eb803e80bf621fa22b421d1c7eadfc48c78e583353e13bed3b2ddbcf1ee6769",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/igniterealtime/tinder/1.3.0/tinder-1.3.0.jar"],        )
    if "aalto_xml" not in native.existing_rules():
        java_import_external(
            name = "aalto_xml",
            jar_sha256 = "7de8f7b2c640e36155b29565e68fd96f7c363c553bf65c4b5280115223820396",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/fasterxml/aalto-xml/1.0.0/aalto-xml-1.0.0.jar"],        )
    if "stax2_api" not in native.existing_rules():
        java_import_external(
            name = "stax2_api",
            jar_sha256 = "605b25fb3fa710c3ce28e46e385ba17b4f1081361ae465fefb3c9241ae4de2a6",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/codehaus/woodstox/stax2-api/4.0.0/stax2-api-4.0.0.jar"],        )
    if "concurrent_hashmap" not in native.existing_rules():
        java_import_external(
            name = "concurrent_hashmap",
            jar_sha256 = "dd624af33566e7077547862129520ab89103b1f2a8eb3db18dc72ea8de2fdd97",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/com/googlecode/concurrentlinkedhashmap/concurrentlinkedhashmap-lru/1.0/concurrentlinkedhashmap-lru-1.0.jar"],        )
    if "gnu_idn" not in native.existing_rules():
        java_import_external(
            name = "gnu_idn",
            jar_sha256 = "ba491f1dff9b4fb211fe495fe6c52a38f76dcd861dadfcd2c93bea0f9fd18f03",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/gnu/inet/libidn/1.15/libidn-1.15.jar"],        )
    if "sigar" not in native.existing_rules():
        java_import_external(
            name = "sigar",
            jar_sha256 = "5107e6b19b1d0ff2cfcd3baf0c25f0d444330273b1f2bec710e127c733f11455",
            licenses = ["notice"],
            jar_urls = ["https://repo1.maven.org/maven2/org/knowhowlab/osgi/sigar/1.6.5_01/sigar-1.6.5_01.jar"],        )
artifact_map = {}
artifact_map["@aopalliance_repackaged//:aopalliance_repackaged"] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42"
artifact_map["@amqp_client//:amqp_client"] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1"
artifact_map["@asm//:asm"] = "mvn:org.ow2.asm:asm:jar:5.2"
artifact_map["@atomix//:atomix"] = "mvn:io.atomix:atomix:jar:3.1.5"
artifact_map["@atomix_cluster//:atomix_cluster"] = "mvn:io.atomix:atomix-cluster:jar:3.1.5"
artifact_map["@atomix_primary_backup//:atomix_primary_backup"] = "mvn:io.atomix:atomix-primary-backup:jar:3.1.5"
artifact_map["@atomix_primitive//:atomix_primitive"] = "mvn:io.atomix:atomix-primitive:jar:3.1.5"
artifact_map["@atomix_raft//:atomix_raft"] = "mvn:io.atomix:atomix-raft:jar:3.1.5"
artifact_map["@atomix_storage//:atomix_storage"] = "mvn:io.atomix:atomix-storage:jar:3.1.5"
artifact_map["@atomix_utils//:atomix_utils"] = "mvn:io.atomix:atomix-utils:jar:3.1.5"
artifact_map["@classgraph//:classgraph"] = "mvn:io.github.classgraph:classgraph:jar:4.2.3"
artifact_map["@commons_codec//:commons_codec"] = "mvn:commons-codec:commons-codec:jar:1.10"
artifact_map["@commons_cli//:commons_cli"] = "mvn:commons-cli:commons-cli:jar:1.3"
artifact_map["@commons_collections//:commons_collections"] = "mvn:commons-collections:commons-collections:jar:3.2.2"
artifact_map["@commons_configuration//:commons_configuration"] = "mvn:commons-configuration:commons-configuration:jar:1.10"
artifact_map["@commons_io//:commons_io"] = "mvn:commons-io:commons-io:jar:2.6"
artifact_map["@commons_beanutils//:commons_beanutils"] = "mvn:commons-beanutils:commons-beanutils:jar:1.9.3"
artifact_map["@commons_jxpath//:commons_jxpath"] = "mvn:commons-jxpath:commons-jxpath:jar:1.3"
artifact_map["@fast_classpath_scanner//:fast_classpath_scanner"] = "mvn:io.github.lukehutch:fast-classpath-scanner:jar:2.21"
artifact_map["@jdom//:jdom"] = "mvn:jdom:jdom:jar:NON-OSGI:1.0"
artifact_map["@commons_lang//:commons_lang"] = "mvn:commons-lang:commons-lang:jar:2.6"
artifact_map["@commons_lang3//:commons_lang3"] = "mvn:org.apache.commons:commons-lang3:jar:3.7"
artifact_map["@commons_logging//:commons_logging"] = "mvn:commons-logging:commons-logging:jar:1.2"
artifact_map["@commons_math3//:commons_math3"] = "mvn:org.apache.commons:commons-math3:jar:3.6.1"
artifact_map["@commons_net//:commons_net"] = "mvn:commons-net:commons-net:jar:3.5"
artifact_map["@commons_pool//:commons_pool"] = "mvn:commons-pool:commons-pool:jar:1.6"
artifact_map["@commons_text//:commons_text"] = "mvn:org.apache.commons:commons-text:jar:1.3"
artifact_map["@concurrent_trees//:concurrent_trees"] = "mvn:com.googlecode.concurrent-trees:concurrent-trees:jar:2.6.1"
artifact_map["@easymock//:easymock"] = "mvn:org.easymock:easymock:jar:4.0.2"
artifact_map["@antlr//:antlr"] = "mvn:antlr:antlr:jar:NON-OSGI:2.7.7"
artifact_map["@ganymed_ssh2//:ganymed_ssh2"] = "mvn:ch.ethz.ganymed:ganymed-ssh2:jar:NON-OSGI:262"
artifact_map["@gmetric4j//:gmetric4j"] = "mvn:info.ganglia.gmetric4j:gmetric4j:jar:1.0.10"
artifact_map["@com_google_code_gson_gson//:com_google_code_gson_gson"] = "mvn:com.google.code.gson:gson:jar:2.7"
artifact_map["@com_google_guava_guava//:com_google_guava_guava"] = "mvn:com.google.guava:guava:jar:22.0"
artifact_map["@com_google_guava_guava_testlib//:com_google_guava_guava_testlib"] = "mvn:com.google.guava:guava-testlib:jar:NON-OSGI:22.0"
artifact_map["@hamcrest_all//:hamcrest_all"] = "mvn:org.hamcrest:hamcrest-all:jar:NON-OSGI:1.3"
artifact_map["@hk2_api//:hk2_api"] = "mvn:org.glassfish.hk2:hk2-api:jar:2.5.0-b42"
artifact_map["@hk2_locator//:hk2_locator"] = "mvn:org.glassfish.hk2:hk2-locator:jar:2.5.0-b42"
artifact_map["@hk2_osgi_resource_locator//:hk2_osgi_resource_locator"] = "mvn:org.glassfish.hk2:osgi-resource-locator:jar:1.0.1"
artifact_map["@hk2_utils//:hk2_utils"] = "mvn:org.glassfish.hk2:hk2-utils:jar:2.5.0-b42"
artifact_map["@httpclient_osgi//:httpclient_osgi"] = "mvn:org.apache.httpcomponents:httpclient-osgi:jar:4.5.1"
artifact_map["@httpcore_osgi//:httpcore_osgi"] = "mvn:org.apache.httpcomponents:httpcore-osgi:jar:4.4.4"
artifact_map["@influxdb_java//:influxdb_java"] = "mvn:org.influxdb:influxdb-java:jar:NON-OSGI:2.9"
artifact_map["@ipaddress//:ipaddress"] = "mvn:com.github.seancfoley:ipaddress:jar:5.3.3"
artifact_map["@simpleclient//:simpleclient"] = "mvn:io.prometheus:simpleclient:jar:0.5.0"
artifact_map["@simpleclient_common//:simpleclient_common"] = "mvn:io.prometheus:simpleclient_common:jar:0.5.0"
artifact_map["@simpleclient_hotspot//:simpleclient_hotspot"] = "mvn:io.prometheus:simpleclient_hotspot:jar:0.5.0"
artifact_map["@simpleclient_servlet//:simpleclient_servlet"] = "mvn:io.prometheus:simpleclient_servlet:jar:0.5.0"
artifact_map["@retrofit//:retrofit"] = "mvn:com.squareup.retrofit2:retrofit:jar:NON-OSGI:2.3.0"
artifact_map["@converter_moshi//:converter_moshi"] = "mvn:com.squareup.retrofit2:converter-moshi:jar:NON-OSGI:2.3.0"
artifact_map["@okhttp//:okhttp"] = "mvn:com.squareup.okhttp3:okhttp:jar:NON-OSGI:3.9.1"
artifact_map["@logging_interceptor//:logging_interceptor"] = "mvn:com.squareup.okhttp3:logging-interceptor:jar:NON-OSGI:3.9.1"
artifact_map["@moshi//:moshi"] = "mvn:com.squareup.moshi:moshi:jar:NON-OSGI:1.4.0"
artifact_map["@okio//:okio"] = "mvn:com.squareup.okio:okio:jar:NON-OSGI:1.14.0"
artifact_map["@jacoco_agent_runtime//:jacoco_agent_runtime"] = "mvn:org.jacoco:org.jacoco.agent:jar:runtime:NON-OSGI:0.8.2"
artifact_map["@jackson_annotations//:jackson_annotations"] = "mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.10.2"
artifact_map["@jackson_core//:jackson_core"] = "mvn:com.fasterxml.jackson.core:jackson-core:jar:2.10.2"
artifact_map["@jackson_databind//:jackson_databind"] = "mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.10.2"
artifact_map["@jackson_dataformat_yaml//:jackson_dataformat_yaml"] = "mvn:com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:jar:2.10.2"
artifact_map["@javax_annotation_javax_annotation_api//:javax_annotation_javax_annotation_api"] = "mvn:javax.annotation:javax.annotation-api:jar:1.3"
artifact_map["@javax_inject//:javax_inject"] = "mvn:org.glassfish.hk2.external:javax.inject:jar:2.5.0-b42"
artifact_map["@javax_ws_rs_api//:javax_ws_rs_api"] = "mvn:javax.ws.rs:javax.ws.rs-api:jar:2.1"
artifact_map["@javax_activation//:javax_activation"] = "mvn:javax.activation:activation:jar:NON-OSGI:1.1.1"
artifact_map["@jaxb_api//:jaxb_api"] = "mvn:javax.xml.bind:jaxb-api:jar:2.3.1"
artifact_map["@jaxb_core//:jaxb_core"] = "mvn:com.sun.xml.bind:jaxb-core:jar:2.3.0.1"
artifact_map["@jaxb_impl//:jaxb_impl"] = "mvn:com.sun.xml.bind:jaxb-impl:jar:2.3.0.1"
artifact_map["@jersey_client//:jersey_client"] = "mvn:org.glassfish.jersey.core:jersey-client:jar:2.27"
artifact_map["@jersey_security//:jersey_security"] = "mvn:org.glassfish.jersey.security:oauth2-client:jar:NON-OSGI:2.27"
artifact_map["@jersey_common//:jersey_common"] = "mvn:org.glassfish.jersey.core:jersey-common:jar:2.27"
artifact_map["@jersey_container_jetty_http//:jersey_container_jetty_http"] = "mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:jar:2.27"
artifact_map["@jersey_container_servlet//:jersey_container_servlet"] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet:jar:2.27"
artifact_map["@jersey_container_servlet_core//:jersey_container_servlet_core"] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.27"
artifact_map["@jersey_media_multipart//:jersey_media_multipart"] = "mvn:org.glassfish.jersey.media:jersey-media-multipart:jar:2.27"
artifact_map["@jersey_media_sse//:jersey_media_sse"] = "mvn:org.glassfish.jersey.media:jersey-media-sse:jar:2.27"
artifact_map["@jersey_server//:jersey_server"] = "mvn:org.glassfish.jersey.core:jersey-server:jar:2.27"
artifact_map["@jersey_hk2//:jersey_hk2"] = "mvn:org.glassfish.jersey.inject:jersey-hk2:jar:2.27"
artifact_map["@jersey_test_framework_core//:jersey_test_framework_core"] = "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:NON-OSGI:2.27"
artifact_map["@jersey_test_framework_jetty//:jersey_test_framework_jetty"] = "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:NON-OSGI:2.27"
artifact_map["@jetty_util//:jetty_util"] = "mvn:org.eclipse.jetty:jetty-util:jar:9.4.11.v20180605"
artifact_map["@jetty_websocket_api//:jetty_websocket_api"] = "mvn:org.eclipse.jetty.websocket:websocket-api:jar:9.4.11.v20180605"
artifact_map["@jetty_websocket//:jetty_websocket"] = "mvn:org.eclipse.jetty.websocket:websocket-servlet:jar:9.4.11.v20180605"
artifact_map["@jetty_server//:jetty_server"] = "mvn:org.eclipse.jetty:jetty-server:jar:9.4.11.v20180605"
artifact_map["@jetty_servlet//:jetty_servlet"] = "mvn:org.eclipse.jetty:jetty-servlet:jar:9.4.11.v20180605"
artifact_map["@jetty_security//:jetty_security"] = "mvn:org.eclipse.jetty:jetty-security:jar:9.4.11.v20180605"
artifact_map["@jetty_continuation//:jetty_continuation"] = "mvn:org.eclipse.jetty:jetty-continuation:jar:9.4.11.v20180605"
artifact_map["@jetty_http//:jetty_http"] = "mvn:org.eclipse.jetty:jetty-http:jar:9.4.11.v20180605"
artifact_map["@jetty_io//:jetty_io"] = "mvn:org.eclipse.jetty:jetty-io:jar:9.4.11.v20180605"
artifact_map["@javax_servlet_api//:javax_servlet_api"] = "mvn:javax.servlet:javax.servlet-api:jar:3.1.0"
artifact_map["@joda_time//:joda_time"] = "mvn:joda-time:joda-time:jar:2.9.3"
artifact_map["@jsch//:jsch"] = "mvn:com.jcraft:jsch:jar:NON-OSGI:0.1.53"
artifact_map["@com_google_code_findbugs_jsr305//:com_google_code_findbugs_jsr305"] = "mvn:com.google.code.findbugs:jsr305:jar:3.0.2"
artifact_map["@junit//:junit"] = "mvn:junit:junit:jar:NON-OSGI:4.12"
artifact_map["@junit_dep//:junit_dep"] = "mvn:junit:junit:jar:NON-OSGI:4.10"
artifact_map["@kryo//:kryo"] = "mvn:com.esotericsoftware:kryo:jar:4.0.1"
artifact_map["@mapdb//:mapdb"] = "mvn:org.mapdb:mapdb:jar:1.0.9"
artifact_map["@metrics_core//:metrics_core"] = "mvn:io.dropwizard.metrics:metrics-core:jar:3.2.2"
artifact_map["@metrics_ganglia//:metrics_ganglia"] = "mvn:io.dropwizard.metrics:metrics-ganglia:jar:3.2.2"
artifact_map["@metrics_graphite//:metrics_graphite"] = "mvn:io.dropwizard.metrics:metrics-graphite:jar:3.2.2"
artifact_map["@metrics_influxdb//:metrics_influxdb"] = "mvn:com.izettle:metrics-influxdb:jar:NON-OSGI:1.1.1"
artifact_map["@metrics_json//:metrics_json"] = "mvn:io.dropwizard.metrics:metrics-json:jar:3.2.2"
artifact_map["@minimal_json//:minimal_json"] = "mvn:com.eclipsesource.minimal-json:minimal-json:jar:0.9.4"
artifact_map["@minlog//:minlog"] = "mvn:com.esotericsoftware:minlog:jar:1.3.0"
artifact_map["@io_netty_netty//:io_netty_netty"] = "mvn:io.netty:netty:jar:3.10.5.Final"
artifact_map["@io_netty_netty_buffer//:io_netty_netty_buffer"] = "mvn:io.netty:netty-buffer:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec//:io_netty_netty_codec"] = "mvn:io.netty:netty-codec:jar:4.1.35.Final"
artifact_map["@io_netty_netty_common//:io_netty_netty_common"] = "mvn:io.netty:netty-common:jar:4.1.35.Final"
artifact_map["@io_netty_netty_handler//:io_netty_netty_handler"] = "mvn:io.netty:netty-handler:jar:4.1.35.Final"
artifact_map["@io_netty_netty_handler_proxy//:io_netty_netty_handler_proxy"] = "mvn:io.netty:netty-handler-proxy:jar:4.1.35.Final"
artifact_map["@io_netty_netty_transport//:io_netty_netty_transport"] = "mvn:io.netty:netty-transport:jar:4.1.35.Final"
artifact_map["@io_netty_netty_transport_native_unix_common//:io_netty_netty_transport_native_unix_common"] = "mvn:io.netty:netty-transport-native-unix-common:jar:4.1.35.Final"
artifact_map["@io_netty_netty_transport_native_epoll//:io_netty_netty_transport_native_epoll"] = "mvn:io.netty:netty-transport-native-epoll:jar:4.1.35.Final"
artifact_map["@io_netty_netty_resolver//:io_netty_netty_resolver"] = "mvn:io.netty:netty-resolver:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec_http2//:io_netty_netty_codec_http2"] = "mvn:io.netty:netty-codec-http2:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec_http//:io_netty_netty_codec_http"] = "mvn:io.netty:netty-codec-http:jar:4.1.35.Final"
artifact_map["@io_netty_netty_codec_socks//:io_netty_netty_codec_socks"] = "mvn:io.netty:netty-codec-socks:jar:4.1.35.Final"
artifact_map["@io_netty_netty_tcnative_boringssl//:io_netty_netty_tcnative_boringssl"] = "mvn:io.netty:netty-tcnative-boringssl-static:jar:2.0.25.Final"
artifact_map["@objenesis//:objenesis"] = "mvn:org.objenesis:objenesis:jar:2.6"
artifact_map["@openflowj//:openflowj"] = "mvn:org.onosproject:openflowj:jar:3.2.1.onos"
artifact_map["@org_osgi_util_function//:org_osgi_util_function"] = "mvn:org.osgi:org.osgi.util.function:jar:1.1.0"
artifact_map["@org_osgi_util_promise//:org_osgi_util_promise"] = "mvn:org.osgi:org.osgi.util.promise:jar:1.1.1"
artifact_map["@org_osgi_service_component//:org_osgi_service_component"] = "mvn:org.osgi:org.osgi.service.component:jar:1.4.0"
artifact_map["@org_osgi_service_component_annotations//:org_osgi_service_component_annotations"] = "mvn:org.osgi:org.osgi.service.component.annotations:jar:1.4.0"
artifact_map["@org_osgi_service_metatype_annotations//:org_osgi_service_metatype_annotations"] = "mvn:org.osgi:org.osgi.service.metatype.annotations:jar:1.4.0"
artifact_map["@org_osgi_service_cm//:org_osgi_service_cm"] = "mvn:org.osgi:org.osgi.service.cm:jar:1.6.0"
artifact_map["@org_apache_felix_scr_bnd//:org_apache_felix_scr_bnd"] = "mvn:org.apache.felix:org.apache.felix.scr.bnd:jar:NON-OSGI:1.9.0"
artifact_map["@org_apache_karaf_bundle_core//:org_apache_karaf_bundle_core"] = "mvn:org.apache.karaf.bundle:org.apache.karaf.bundle.core:jar:4.2.9"
artifact_map["@org_apache_karaf_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.9"
artifact_map["@org_apache_karaf_shell_console//:org_apache_karaf_shell_console"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:4.2.9"
artifact_map["@org_apache_karaf_shell_core//:org_apache_karaf_shell_core"] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.core:jar:4.2.9"
artifact_map["@org_apache_httpcomponents_httpasyncclient_osgi//:org_apache_httpcomponents_httpasyncclient_osgi"] = "mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2"
artifact_map["@org_apache_httpcomponents_httpcore_nio//:org_apache_httpcomponents_httpcore_nio"] = "mvn:org.apache.httpcomponents:httpcore-nio:jar:NON-OSGI:4.4.4"
artifact_map["@org_apache_karaf_jaas//:org_apache_karaf_jaas"] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:4.2.9"
artifact_map["@org_apache_karaf_system_core//:org_apache_karaf_system_core"] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:4.2.9"
artifact_map["@org_apache_servicemix_bundles_snmp4j//:org_apache_servicemix_bundles_snmp4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1"
artifact_map["@org_osgi_cmpn//:org_osgi_cmpn"] = "mvn:org.osgi:osgi.cmpn:jar:6.0.0"
artifact_map["@osgi_core//:osgi_core"] = "mvn:org.osgi:org.osgi.core:jar:6.0.0"
artifact_map["@reflectasm//:reflectasm"] = "mvn:com.esotericsoftware:reflectasm:jar:1.11.7"
artifact_map["@remotetea_oncrpc//:remotetea_oncrpc"] = "mvn:org.acplt.remotetea:remotetea-oncrpc:jar:1.1.3"
artifact_map["@rrd4j//:rrd4j"] = "mvn:org.rrd4j:rrd4j:jar:NON-OSGI:3.1"
artifact_map["@javassist//:javassist"] = "mvn:org.javassist:javassist:jar:3.22.0-GA"
artifact_map["@mimepull//:mimepull"] = "mvn:org.jvnet.mimepull:mimepull:jar:1.9.6"
artifact_map["@servlet_api//:servlet_api"] = "mvn:javax.servlet:servlet-api:jar:NON-OSGI:2.5"
artifact_map["@slf4j_api//:slf4j_api"] = "mvn:org.slf4j:slf4j-api:jar:1.7.25"
artifact_map["@slf4j_jdk14//:slf4j_jdk14"] = "mvn:org.slf4j:slf4j-jdk14:jar:1.7.25"
artifact_map["@slf4j_nop//:slf4j_nop"] = "mvn:org.slf4j:slf4j-nop:jar:1.7.25"
artifact_map["@typesafe_config//:typesafe_config"] = "mvn:com.typesafe:config:jar:1.3.2"
artifact_map["@validation_api//:validation_api"] = "mvn:javax.validation:validation-api:jar:2.0.1.Final"
artifact_map["@checkstyle//:checkstyle"] = "mvn:com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10"
artifact_map["@apache_karaf//:apache_karaf"] = "https://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.9-offline-20200706/apache-karaf-4.2.9-offline-20200706.tar.gz"
artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.1.0"
artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.1.0"
artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.11.0"
artifact_map["@qdox//:qdox"] = "mvn:com.thoughtworks.qdox:qdox:jar:NON-OSGI:2.0-M3"
artifact_map["@snmp_core//:snmp_core"] = "mvn:org.onosproject:snmp-core:jar:1.3-20161021.1"
artifact_map["@mibs_net_snmp//:mibs_net_snmp"] = "mvn:org.onosproject:mibbler-mibs-net-snmp:jar:1.0-20151221.1"
artifact_map["@mibs_rfc//:mibs_rfc"] = "mvn:org.onosproject:mibbler-mibs-rfc:jar:1.0-20151221.1"
artifact_map["@io_socket_client//:io_socket_client"] = "mvn:io.socket:socket.io-client:jar:NON-OSGI:0.8.3"
artifact_map["@json//:json"] = "mvn:org.json:json:jar:NON-OSGI:20090211"
artifact_map["@engine_io_client//:engine_io_client"] = "mvn:io.socket:engine.io-client:jar:NON-OSGI:0.8.3"
artifact_map["@org_codehaus_mojo_animal_sniffer_annotations//:org_codehaus_mojo_animal_sniffer_annotations"] = "mvn:org.codehaus.mojo:animal-sniffer-annotations:jar:NON-OSGI:1.17"
artifact_map["@com_google_api_grpc_proto_google_common_protos//:com_google_api_grpc_proto_google_common_protos"] = "mvn:com.google.api.grpc:proto-google-common-protos:jar:NON-OSGI:1.12.0"
artifact_map["@com_google_errorprone_error_prone_annotations//:com_google_errorprone_error_prone_annotations"] = "mvn:com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.3.4"
artifact_map["@com_google_auth_google_auth_library_credentials//:com_google_auth_google_auth_library_credentials"] = "mvn:com.google.auth:google-auth-library-credentials:jar:NON-OSGI:0.13.0"
artifact_map["@com_google_auth_google_auth_library_oauth2_http//:com_google_auth_google_auth_library_oauth2_http"] = "mvn:com.google.auth:google-auth-library-oauth2-http:jar:NON-OSGI:0.13.0"
artifact_map["@com_google_j2objc_j2objc_annotations//:com_google_j2objc_j2objc_annotations"] = "mvn:com.google.j2objc:j2objc-annotations:jar:NON-OSGI:1.1"
artifact_map["@com_google_guava_failureaccess//:com_google_guava_failureaccess"] = "mvn:com.google.guava:failureaccess:jar:1.0.1"
artifact_map["@com_google_android_annotations//:com_google_android_annotations"] = "mvn:com.google.android:annotations:jar:NON-OSGI:4.1.1.4"
artifact_map["@io_opencensus_opencensus_api//:io_opencensus_opencensus_api"] = "mvn:io.opencensus:opencensus-api:jar:NON-OSGI:0.21.0"
artifact_map["@io_opencensus_opencensus_contrib_grpc_metrics//:io_opencensus_opencensus_contrib_grpc_metrics"] = "mvn:io.opencensus:opencensus-contrib-grpc-metrics:jar:NON-OSGI:0.21.0"
artifact_map["@io_perfmark_perfmark_api//:io_perfmark_perfmark_api"] = "mvn:io.perfmark:perfmark-api:jar:NON-OSGI:0.16.0"
artifact_map["@openstack4j_core//:openstack4j_core"] = "mvn:org.pacesys:openstack4j-core:jar:3.2.0"
artifact_map["@openstack4j_http_connector//:openstack4j_http_connector"] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:3.2.0"
artifact_map["@openstack4j_httpclient//:openstack4j_httpclient"] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.2.0"
artifact_map["@json_patch//:json_patch"] = "mvn:com.github.fge:json-patch:jar:1.9"
artifact_map["@jackson_coreutils//:jackson_coreutils"] = "mvn:com.github.fge:jackson-coreutils:jar:1.6"
artifact_map["@btf//:btf"] = "mvn:com.github.fge:btf:jar:1.2"
artifact_map["@msg_simple//:msg_simple"] = "mvn:com.github.fge:msg-simple:jar:1.1"
artifact_map["@snakeyaml//:snakeyaml"] = "mvn:org.yaml:snakeyaml:jar:1.25"
artifact_map["@k8s_client//:k8s_client"] = "mvn:io.fabric8:kubernetes-client:jar:NON-OSGI:4.7.1"
artifact_map["@k8s_model//:k8s_model"] = "mvn:io.fabric8:kubernetes-model:jar:4.7.1"
artifact_map["@zjsonpatch//:zjsonpatch"] = "mvn:io.fabric8:zjsonpatch:jar:0.3.0"
artifact_map["@generex//:generex"] = "mvn:com.github.mifmif:generex:jar:NON-OSGI:1.0.2"
artifact_map["@automaton//:automaton"] = "mvn:dk.brics.automaton:automaton:jar:NON-OSGI:1.11-8"
artifact_map["@onos_yang_model//:onos_yang_model"] = "mvn:org.onosproject:onos-yang-model:jar:2.6.1"
artifact_map["@onos_yang_compiler_api//:onos_yang_compiler_api"] = "mvn:org.onosproject:onos-yang-compiler-api:jar:2.6.1"
artifact_map["@onos_yang_compiler_main//:onos_yang_compiler_main"] = "mvn:org.onosproject:onos-yang-compiler-main:jar:2.6.1"
artifact_map["@onos_yang_runtime//:onos_yang_runtime"] = "mvn:org.onosproject:onos-yang-runtime:jar:2.6"
artifact_map["@onos_yang_serializers_json//:onos_yang_serializers_json"] = "mvn:org.onosproject:onos-yang-serializers-json:jar:2.6.1"
artifact_map["@onos_yang_serializers_xml//:onos_yang_serializers_xml"] = "mvn:org.onosproject:onos-yang-serializers-xml:jar:2.6.1"
artifact_map["@onos_yang_serializers_utils//:onos_yang_serializers_utils"] = "mvn:org.onosproject:onos-yang-serializers-utils:jar:2.6.1"
artifact_map["@org_apache_servicemix_bundles_dom4j//:org_apache_servicemix_bundles_dom4j"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:jar:1.6.1_5"
artifact_map["@plexus_utils//:plexus_utils"] = "mvn:org.codehaus.plexus:plexus-utils:jar:NON-OSGI:3.0.24"
artifact_map["@sshd_core//:sshd_core"] = "mvn:org.apache.sshd:sshd-core:jar:1.7.0"
artifact_map["@bcpkix_jdk15on//:bcpkix_jdk15on"] = "mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59"
artifact_map["@bcprov_jdk15on//:bcprov_jdk15on"] = "mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59"
artifact_map["@hamcrest_optional//:hamcrest_optional"] = "mvn:com.spotify:hamcrest-optional:jar:NON-OSGI:1.1.0"
artifact_map["@swagger_annotations//:swagger_annotations"] = "mvn:io.swagger:swagger-annotations:jar:1.5.16"
artifact_map["@kafka_clients//:kafka_clients"] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:1.1.1_1"
artifact_map["@tinder_xmpp//:tinder_xmpp"] = "mvn:org.igniterealtime:tinder:jar:NON-OSGI:1.3.0"
artifact_map["@aalto_xml//:aalto_xml"] = "mvn:com.fasterxml:aalto-xml:jar:1.0.0"
artifact_map["@stax2_api//:stax2_api"] = "mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0"
artifact_map["@concurrent_hashmap//:concurrent_hashmap"] = "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:NON-OSGI:1.0"
artifact_map["@gnu_idn//:gnu_idn"] = "mvn:org.gnu.inet:libidn:jar:NON-OSGI:1.15"
artifact_map["@sigar//:sigar"] = "mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01"

def maven_coordinates(label):
    label_string = str(label)
    if label_string in artifact_map:
        return artifact_map[label_string]
    if (label_string.endswith(":jar")):
        label_string = label_string.replace(":jar", "")
        if label_string in artifact_map:
            return artifact_map[label_string]
    if type(label) == "string":
        return "mvn:%s:%s:%s" % (ONOS_GROUP_ID, label_string, ONOS_VERSION)
    return "mvn:%s:%s:%s" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)
