# ***** This file was auto-generated at Fri, 28 Sep 2018 19:10:34 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",
]
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_api_mvn//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_gossip//jar",
    "@atomix_primary_backup//jar",
    "@atomix_primitive//jar",
    "@atomix_raft//jar",
    "@atomix_storage//jar",
    "@atomix_utils//jar",
    "@typesafe_config//jar",
    "@classgraph//jar",
]
GRPC_1_3 = [
    "@grpc_protobuf_1_3_1//jar",
    "@grpc_stub_1_3_1//jar",
    "@grpc_netty_1_3_1//jar",
    "@grpc_auth_1_3_1//jar",
    "@grpc_context_1_3_1//jar",
    "@google_truth_0_28//jar",
]
GRPC_TEST_1_3 = [
    "@grpc_testing_1_3_1//jar",
    "@grpc_testing_proto_1_3_1//jar",
    "@google_code_findbugs_3_0_0//jar",
    "@google_errorprone_2_0_19//jar",
    "@google_instrumentation_0_3_0//jar",
    "@junit_dep//jar",
    "@objenesis//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 = ["http://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 = ["http://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 = ["http://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 = "72dad2fa314a8fdc3f10ef0a7e73a667c370cd576863e483fa3f4bb6c82bbb2c",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix/3.0.5/atomix-3.0.5.jar"],        )
    if "atomix_cluster" not in native.existing_rules():
        java_import_external(
            name = "atomix_cluster",
            jar_sha256 = "139a70b2b733c2fc5cd03d9e82e3075dc73ca54ed317ad7594d4c818f3b70506",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-cluster/3.0.5/atomix-cluster-3.0.5.jar"],        )
    if "atomix_gossip" not in native.existing_rules():
        java_import_external(
            name = "atomix_gossip",
            jar_sha256 = "34b92866b57d63636871a5d68e84acbad727237541bcbda572167990505f3e7a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-gossip/3.0.5/atomix-gossip-3.0.5.jar"],        )
    if "atomix_primary_backup" not in native.existing_rules():
        java_import_external(
            name = "atomix_primary_backup",
            jar_sha256 = "1da0a4eff24cd259b75e7c8c39a7f6396bd3aec5d4b06d6740412dc9237f8aa3",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-primary-backup/3.0.5/atomix-primary-backup-3.0.5.jar"],        )
    if "atomix_primitive" not in native.existing_rules():
        java_import_external(
            name = "atomix_primitive",
            jar_sha256 = "80a7b4e0e2aee6ccbeab7a0f66485cd29affbf3f10abfd7740961223a0c76002",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-primitive/3.0.5/atomix-primitive-3.0.5.jar"],        )
    if "atomix_raft" not in native.existing_rules():
        java_import_external(
            name = "atomix_raft",
            jar_sha256 = "7f27c11d3f5948190b53714d3a9a12d7a3c967fbe4d4bf0c8cbeb5a75715a78f",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-raft/3.0.5/atomix-raft-3.0.5.jar"],        )
    if "atomix_storage" not in native.existing_rules():
        java_import_external(
            name = "atomix_storage",
            jar_sha256 = "038a939d2bfc12488bc584c7144a9aeed4c91e0fe30ef514c522bdda352026f1",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-storage/3.0.5/atomix-storage-3.0.5.jar"],        )
    if "atomix_utils" not in native.existing_rules():
        java_import_external(
            name = "atomix_utils",
            jar_sha256 = "e928e252861f8689e450829eaf671c08f5e5afe3f95389866a8ae494ab165987",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/atomix/atomix-utils/3.0.5/atomix-utils-3.0.5.jar"],        )
    if "classgraph" not in native.existing_rules():
        java_import_external(
            name = "classgraph",
            jar_sha256 = "b88663a3c775262afad6450d4670fc7c6afa64f4933db0d75e94d66f14230ef7",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/github/classgraph/classgraph/4.0.6/classgraph-4.0.6.jar"],        )
    if "commons_codec" not in native.existing_rules():
        java_import_external(
            name = "commons_codec",
            jar_sha256 = "4241dfa94e711d435f29a4604a3e2de5c4aa3c165e23bd066be6fc1fc4309569",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = "0557c9fa845c951bdbe3940b605346a212172c64328277428297ef1fc6308e8f",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/easymock/easymock/3.6/easymock-3.6.jar"],        )
    if "antlr" not in native.existing_rules():
        java_import_external(
            name = "antlr",
            jar_sha256 = "88fbda4b912596b9f56e8e12e580cc954bacfb51776ecfddd3e18fc1cf56dc4c",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://repo1.maven.org/maven2/org/influxdb/influxdb-java/2.9/influxdb-java-2.9.jar"],        )
    if "retrofit" not in native.existing_rules():
        java_import_external(
            name = "retrofit",
            jar_sha256 = "c0295f38b3c1a48bb71a8ed2ea69ddeb2e49a830b11862385a403355c6a94643",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://repo1.maven.org/maven2/com/squareup/okio/okio/1.14.0/okio-1.14.0.jar"],        )
    if "jackson_annotations" not in native.existing_rules():
        java_import_external(
            name = "jackson_annotations",
            jar_sha256 = "38a0e450049f643570adac99888aa3480ec2de385790a7096908bf43bfc085d6",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.9.5/jackson-annotations-2.9.5.jar"],        )
    if "jackson_core" not in native.existing_rules():
        java_import_external(
            name = "jackson_core",
            jar_sha256 = "a2bebaa325ad25455b02149c67e6052367a7d7fc1ce77de000eed284a5214eac",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.9.5/jackson-core-2.9.5.jar"],        )
    if "jackson_databind" not in native.existing_rules():
        java_import_external(
            name = "jackson_databind",
            jar_sha256 = "0fb4e079c118e752cc94c15ad22e6782b0dfc5dc09145f4813fb39d82e686047",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.9.5/jackson-databind-2.9.5.jar"],        )
    if "javax_annotation_api_mvn" not in native.existing_rules():
        java_import_external(
            name = "javax_annotation_api_mvn",
            jar_sha256 = "5909b396ca3a2be10d0eea32c74ef78d816e1b4ead21de1d78de1f890d033e04",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar"],        )
    if "javax_inject" not in native.existing_rules():
        java_import_external(
            name = "javax_inject",
            jar_sha256 = "3bcf096beb918c9586be829190903090a21ac40513c1401e1b986e6030addc98",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://repo1.maven.org/maven2/javax/ws/rs/javax.ws.rs-api/2.1/javax.ws.rs-api-2.1.jar"],        )
    if "jersey_client" not in native.existing_rules():
        java_import_external(
            name = "jersey_client",
            jar_sha256 = "3e44b7db8691eb0b2a6751eda888150b9ba1092a5805f11e4727fd4904407a41",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-client/2.26/jersey-client-2.26.jar"],        )
    if "jersey_security" not in native.existing_rules():
        java_import_external(
            name = "jersey_security",
            jar_sha256 = "aa6ff06b29b6c1811ae3c7eb957ec3858976aad579990d8c2d10ee4a74c73ffa",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/security/oauth2-client/2.26/oauth2-client-2.26.jar"],        )
    if "jersey_common" not in native.existing_rules():
        java_import_external(
            name = "jersey_common",
            jar_sha256 = "bc0e95153bef81c44439d25a662168226b9adee94db27c1198f9777e382b1b17",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-common/2.26/jersey-common-2.26.jar"],        )
    if "jersey_container_jetty_http" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_jetty_http",
            jar_sha256 = "ee17b37a60e9125cdddaed29256ddac4089cecc2ffb8e5e625a923cddf55bb8e",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-jetty-http/2.26/jersey-container-jetty-http-2.26.jar"],        )
    if "jersey_container_servlet" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_servlet",
            jar_sha256 = "915731c814d3c13e8599e6c0d834f6a2521940764eb02023e902ecf34444c7c4",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet/2.26/jersey-container-servlet-2.26.jar"],        )
    if "jersey_container_servlet_core" not in native.existing_rules():
        java_import_external(
            name = "jersey_container_servlet_core",
            jar_sha256 = "1daee2b8aaa7379a0d65856e87c74135062c54e3d4afc58760f88396612385fa",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/containers/jersey-container-servlet-core/2.26/jersey-container-servlet-core-2.26.jar"],        )
    if "jersey_media_multipart" not in native.existing_rules():
        java_import_external(
            name = "jersey_media_multipart",
            jar_sha256 = "ef18cfa1426773af3e4425fc4283dcec3a2c2ea942754028b48df6e61057c907",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-multipart/2.26/jersey-media-multipart-2.26.jar"],        )
    if "jersey_media_sse" not in native.existing_rules():
        java_import_external(
            name = "jersey_media_sse",
            jar_sha256 = "aee0d8f03ec8b873da1bee960743e7749342c50f022f9744d657fa0600453f05",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/media/jersey-media-sse/2.26/jersey-media-sse-2.26.jar"],        )
    if "jersey_server" not in native.existing_rules():
        java_import_external(
            name = "jersey_server",
            jar_sha256 = "d9f7a1e0d39267eb02c87046d205f2a90e38f2d2a3be885a619263f732a47935",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/core/jersey-server/2.26/jersey-server-2.26.jar"],        )
    if "jersey_hk2" not in native.existing_rules():
        java_import_external(
            name = "jersey_hk2",
            jar_sha256 = "4e9ab17a051eaacae0829a45cbdb5c603876006fdc86b5d9c5005be10266dcf7",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/inject/jersey-hk2/2.26/jersey-hk2-2.26.jar"],        )
    if "jersey_test_framework_core" not in native.existing_rules():
        java_import_external(
            name = "jersey_test_framework_core",
            jar_sha256 = "1f1bc56f18fc4ef5bf5ee6575376995af5ddf980fb8d3c27b31789ef748a3500",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/test-framework/jersey-test-framework-core/2.26/jersey-test-framework-core-2.26.jar"],        )
    if "jersey_test_framework_jetty" not in native.existing_rules():
        java_import_external(
            name = "jersey_test_framework_jetty",
            jar_sha256 = "3e38fcd82a58f74e88c68dda7ff604c34a077c35debc5b67a74541d9a5047811",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/glassfish/jersey/test-framework/providers/jersey-test-framework-provider-jetty/2.26/jersey-test-framework-provider-jetty-2.26.jar"],        )
    if "jetty_util" not in native.existing_rules():
        java_import_external(
            name = "jetty_util",
            jar_sha256 = "936e5ed74275c16164cc1eccaeae55900eb00edd9f1b1d3b83d70782dd25f505",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://repo1.maven.org/maven2/org/eclipse/jetty/jetty-server/9.4.11.v20180605/jetty-server-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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = "c885ce34249682bc0236b4a7d56efcc12048e6135a5baf7a9cde8ad8cda13fcd",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.1/jsr305-3.0.1.jar"],        )
    if "junit" not in native.existing_rules():
        java_import_external(
            name = "junit",
            jar_sha256 = "59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = "bd086ac6143dc5a8d8c515af2bd0d4cbc5170dd82bf8f6687f85b9be1e0c5522",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-buffer/4.1.27.Final/netty-buffer-4.1.27.Final.jar"],        )
    if "io_netty_netty_codec" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec",
            jar_sha256 = "5b23aef8f56d10f6b4a25fd9fb0ac45a2b284ee0e1a709db167298c945e1d1fa",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-codec/4.1.27.Final/netty-codec-4.1.27.Final.jar"],        )
    if "io_netty_netty_common" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_common",
            jar_sha256 = "18353e652194f5e715a851a6081795b656b8a9643f30964b14fb24cd812e3408",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-common/4.1.27.Final/netty-common-4.1.27.Final.jar"],        )
    if "io_netty_netty_handler" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_handler",
            jar_sha256 = "4de8af2a851735d09fd8e7a67146241df10b1547cfa8767e98405f7fa9ddc237",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-handler/4.1.27.Final/netty-handler-4.1.27.Final.jar"],        )
    if "io_netty_netty_handler_proxy" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_handler_proxy",
            jar_sha256 = "84b00dd1cd25a99b88bd598577825b4be9ad592e2d78b08bd703e7e999fe3498",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-handler-proxy/4.1.27.Final/netty-handler-proxy-4.1.27.Final.jar"],        )
    if "io_netty_netty_transport" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_transport",
            jar_sha256 = "f5bbd26773f5a9b0a1947e6688a4e13566ee04bb33715904f17e9b99e567221b",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-transport/4.1.27.Final/netty-transport-4.1.27.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 = "b4ba0079e5bee0a71120ac1311951a39901bcf2bdb37b7b38313dbd5cc0066ae",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-transport-native-unix-common/4.1.27.Final/netty-transport-native-unix-common-4.1.27.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 = "14d9319cc3906cf274896a9df385fa433a2ac34cbf841183b8756ad9690fa820",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-transport-native-epoll/4.1.27.Final/netty-transport-native-epoll-4.1.27.Final.jar"],        )
    if "io_netty_netty_resolver" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_resolver",
            jar_sha256 = "db45223f3b21b48cf27ae34b6fcf70428bf28b14350825c8ef226737ca8f682a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-resolver/4.1.27.Final/netty-resolver-4.1.27.Final.jar"],        )
    if "io_netty_netty_codec_http2" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_http2",
            jar_sha256 = "7d10b4a6d11e277f2797812f2025159bf035a9b258c9446cf8f1658b08373dbe",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-codec-http2/4.1.27.Final/netty-codec-http2-4.1.27.Final.jar"],        )
    if "io_netty_netty_codec_http" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_http",
            jar_sha256 = "83b843684f96386f4c881067cb3489639d0969c0e770b41b16866aa56707244a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-codec-http/4.1.27.Final/netty-codec-http-4.1.27.Final.jar"],        )
    if "io_netty_netty_codec_socks" not in native.existing_rules():
        java_import_external(
            name = "io_netty_netty_codec_socks",
            jar_sha256 = "c11264b32b5298e13461327499dca26e2b2aa75159d3be3017bd4eb125b58c05",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/netty/netty-codec-socks/4.1.27.Final/netty-codec-socks-4.1.27.Final.jar"],        )
    if "objenesis" not in native.existing_rules():
        java_import_external(
            name = "objenesis",
            jar_sha256 = "5e168368fbc250af3c79aa5fef0c3467a2d64e5a7bd74005f25d8399aeb0708d",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = "a679e25688e84e1739831e8716a2cc7acbf8348e22f1136d1988e34472e43756",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.util.promise/1.1.0/org.osgi.util.promise-1.1.0.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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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_features_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_features_core",
            jar_sha256 = "c659659cd095c6c7026d4f99ebbc5fa946f0177f750e33fca0410cf83d657137",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/features/org.apache.karaf.features.core/4.2.1/org.apache.karaf.features.core-4.2.1.jar"],        )
    if "org_apache_karaf_shell_console" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_shell_console",
            jar_sha256 = "c87ef5c61745456ded1b2c7652071c83f45de6f3af95b7e290eebafb10870aa3",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.console/4.2.1/org.apache.karaf.shell.console-4.2.1.jar"],        )
    if "org_apache_karaf_shell_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_shell_core",
            jar_sha256 = "7da0d63b450c24c221280be764eae9d117f296c1b5a7e10d424ba14c32f733c8",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/shell/org.apache.karaf.shell.core/4.2.1/org.apache.karaf.shell.core-4.2.1.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 = ["http://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 = ["http://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 = "86da483352205879822cc014884cf29a54dccc7f9eb19d9c4513b43e1ed7cf25",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/jaas/org.apache.karaf.jaas.modules/4.2.1/org.apache.karaf.jaas.modules-4.2.1.jar"],        )
    if "org_apache_karaf_system_core" not in native.existing_rules():
        java_import_external(
            name = "org_apache_karaf_system_core",
            jar_sha256 = "13a1eafe91f5fd731f0f691b2a9557b7246d5f39d5cfe1ad0913199295efcefe",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/karaf/system/org.apache.karaf.system.core/4.2.1/org.apache.karaf.system.core-4.2.1.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 = ["http://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_compendium" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_compendium",
            jar_sha256 = "f1ef32cc1530f4e66aac606c24363b627ace4780a7737b045bfb3b908d801bcd",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.compendium/5.0.0/org.osgi.compendium-5.0.0.jar"],        )
    if "org_osgi_cmpn" not in native.existing_rules():
        java_import_external(
            name = "org_osgi_cmpn",
            jar_sha256 = "8e6445afe1abb3dcd43c60c8cd6c0f15b052a8f4228812559ba521c5ce91db34",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/osgi/osgi.cmpn/7.0.0/osgi.cmpn-7.0.0.jar"],        )
    if "osgi_core" not in native.existing_rules():
        java_import_external(
            name = "osgi_core",
            jar_sha256 = "b440c6bff286332afcf5cae067b606962e761c0df00e5fd8a746f0b31265619b",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/osgi/org.osgi.core/5.0.0/org.osgi.core-5.0.0.jar"],        )
    if "reflectasm" not in native.existing_rules():
        java_import_external(
            name = "reflectasm",
            jar_sha256 = "7cd978191b9ff6159810a8ab4646a3e696388c5c41ce25ffcc554d4ec77f3a93",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = "f39d7ba7253e35f5ac48081ec1bc28c5df9b32ac4b7db20853e5a8e76bf7b0ed",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/javax/validation/validation-api/1.1.0.Final/validation-api-1.1.0.Final.jar"],        )
    if "checkstyle" not in native.existing_rules():
        java_import_external(
            name = "checkstyle",
            jar_sha256 = "dad140fc7e79179deb48653ad86517a3c4df69f9e957c72b5c6476c484042a14",
            licenses = ["notice"],
            jar_urls = ["http://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 = "ec317bf64c60d81fb17b666fb1c44496e138b8b2e2ffc094e1bae5eedaa9acaa",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.1-base/apache-karaf-offline-4.2.1-base.tar.gz"],        )
    if "bndlib" not in native.existing_rules():
        java_import_external(
            name = "bndlib",
            jar_sha256 = "d1a328c8f63aea4f7ce6028a49255137664a7138fadc4af9d25461192b71e098",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bndlib/4.0.0/biz.aQute.bndlib-4.0.0.jar"],        )
    if "bndexe" not in native.existing_rules():
        java_import_external(
            name = "bndexe",
            jar_sha256 = "b18d88ae15db4bf7af53c396feb45a64f27403d7e7d7cd50a68bf8915ca7b6c0",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/biz/aQute/bnd/biz.aQute.bnd/4.0.0/biz.aQute.bnd-4.0.0.jar"],        )
    if "libthrift" not in native.existing_rules():
        java_import_external(
            name = "libthrift",
            jar_sha256 = "bca5e8cdee1e0fbf563de7d41c452385e7bed69723fa28225a9ce718a8ee3419",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.9.3/libthrift-0.9.3.jar"],        )
    if "qdox" not in native.existing_rules():
        java_import_external(
            name = "qdox",
            jar_sha256 = "5753628390f7ac1665f813bf610b708cc489f3347b9813389e6c052346527cca",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://repo1.maven.org/maven2/io/socket/engine.io-client/0.8.3/engine.io-client-0.8.3.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 = "cfe1da4c0e82820c32a83c4bf25b42f4d3b7113177321c437a9fff3c42e1f4c9",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/api/grpc/proto-google-common-protos/1.0.0/proto-google-common-protos-1.0.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 = "de3c873b5dc06060f7a2a4d9b872a3f4dc1955c18095ef9702d13477e437782a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.1.2/error_prone_annotations-2.1.2.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 = "ac9efdd6a930e4df906fa278576fa825d979f74315f2faf5c91fe7e6aabb2788",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.9.0/google-auth-library-credentials-0.9.0.jar"],        )
    if "io_opencensus_opencensus_api" not in native.existing_rules():
        java_import_external(
            name = "io_opencensus_opencensus_api",
            jar_sha256 = "8c1de62cbdaf74b01b969d1ed46c110bca1a5dd147c50a8ab8c5112f42ced802",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.12.3/opencensus-api-0.12.3.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 = "632c1e1463db471b580d35bc4be868facbfbf0a19aa6db4057215d4a68471746",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-grpc-metrics/0.12.3/opencensus-contrib-grpc-metrics-0.12.3.jar"],        )
    if "openstack4j_core" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_core",
            jar_sha256 = "4f01b34bb74beaed691c97e69b62fa3cbbb99d85b3b1d2a56e4e143c58de9b5c",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/pacesys/openstack4j-core/3.1.0/openstack4j-core-3.1.0.jar"],        )
    if "openstack4j_http_connector" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_http_connector",
            jar_sha256 = "52b4bc0de07038e62335a2b9f44f6cf5b289c064a944946fb7a309c38a991045",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-http-connector/3.1.0/openstack4j-http-connector-3.1.0.jar"],        )
    if "openstack4j_httpclient" not in native.existing_rules():
        java_import_external(
            name = "openstack4j_httpclient",
            jar_sha256 = "4ca3887f7281c9cda53f47e1a1accb34cdc5cd3a682a441c7d18e9a08b5e9870",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-httpclient/3.1.0/openstack4j-httpclient-3.1.0.jar"],        )
    if "json_patch" not in native.existing_rules():
        java_import_external(
            name = "json_patch",
            jar_sha256 = "2d6acbda3675e6f25b7b4ab338317006865a8416a69c2b5e1cfa8b8209fc10a1",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = "79ea8aac6590f49ee8390c2f17ed9343079e85b44158a097b301dfee42af86ec",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/yaml/snakeyaml/1.15/snakeyaml-1.15.jar"],        )
    if "onos_yang_model" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_model",
            jar_sha256 = "4143c55d4eb06505d417c951304c37516777e5999efa30ca2196298d7d1dddb2",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-model/2.5/onos-yang-model-2.5.jar"],        )
    if "onos_yang_compiler_api" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_compiler_api",
            jar_sha256 = "c84e98c65f661b309fdd5ce60b410b57ebc66c339132429cdd60fdd02062a639",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-compiler-api/2.5/onos-yang-compiler-api-2.5.jar"],        )
    if "onos_yang_compiler_main" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_compiler_main",
            jar_sha256 = "dcab2b674f4f9013554d14ede26a0a780326a71dbdd8cbf54833db00fe3d424c",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-compiler-main/2.5/onos-yang-compiler-main-2.5.jar"],        )
    if "onos_yang_runtime" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_runtime",
            jar_sha256 = "caf63822276c8b4e20f749121c014428d29b9a50b8b077b23c1728b6c8fa360d",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-runtime/2.5/onos-yang-runtime-2.5.jar"],        )
    if "onos_yang_serializers_json" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_json",
            jar_sha256 = "eb3d449d6ed2f5d7db48a15ce3bb8777e5c0cfcb5a7b2de45a5a49602f627ab0",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-json/2.5/onos-yang-serializers-json-2.5.jar"],        )
    if "onos_yang_serializers_xml" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_xml",
            jar_sha256 = "220437816161d4acbacdced72253e4b39a8c23e1ce30611a4080c9b808e1a653",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-xml/2.5/onos-yang-serializers-xml-2.5.jar"],        )
    if "onos_yang_serializers_utils" not in native.existing_rules():
        java_import_external(
            name = "onos_yang_serializers_utils",
            jar_sha256 = "05c78df7b4dcc75181e05a1b4a051d0bc2cd89a4ec8b1b9abdcf7298191ebc08",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/onosproject/onos-yang-serializers-utils/2.5/onos-yang-serializers-utils-2.5.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 = ["http://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 = ["http://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 = "1b5a5e95cd50448cfe3b8262837facf220e29f3aee7cfa62d2529932de45c02a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/sshd/sshd-core/1.4.0/sshd-core-1.4.0.jar"],        )
    if "bcpkix_jdk15on" not in native.existing_rules():
        java_import_external(
            name = "bcpkix_jdk15on",
            jar_sha256 = "601d85cfbcef76a1cb77cbf755a6234a4ba1d4c02a98d9a81028d471f388694f",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = "c991a0db2416a065aaa52cbd2a8dad4812ddd6055dbee7b2c09e8a781e21ca6c",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.kafka-clients/0.8.2.2_1/org.apache.servicemix.bundles.kafka-clients-0.8.2.2_1.jar"],        )
    if "tinder_xmpp" not in native.existing_rules():
        java_import_external(
            name = "tinder_xmpp",
            jar_sha256 = "8eb803e80bf621fa22b421d1c7eadfc48c78e583353e13bed3b2ddbcf1ee6769",
            licenses = ["notice"],
            jar_urls = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://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 = ["http://repo1.maven.org/maven2/org/knowhowlab/osgi/sigar/1.6.5_01/sigar-1.6.5_01.jar"],        )
    if "runtime_grpc_core" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_core",
            jar_sha256 = "3b44ca22df91034dc8d2e3fc404a623e6cc662287b82d5f32d4e1cae1f30cefb",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-core/1.14.0/grpc-core-1.14.0.jar"],        )
    if "runtime_grpc_context" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_context",
            jar_sha256 = "d70c10bdd12cd62ba4563d0b060c6db8d9d8e6593a87791a122633b0c4fd70cc",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-context/1.14.0/grpc-context-1.14.0.jar"],        )
    if "runtime_grpc_stub" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_stub",
            jar_sha256 = "96629499c47340a16e6ddfac705b68aa90129c10dfa659a0750adf4b5f958fad",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-stub/1.14.0/grpc-stub-1.14.0.jar"],        )
    if "runtime_grpc_netty" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_netty",
            jar_sha256 = "44fb5890b32d30079e33654d14719363e5c86ae762f8c00ae3d68ef52618291a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-netty/1.14.0/grpc-netty-1.14.0.jar"],        )
    if "runtime_grpc_auth" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_auth",
            jar_sha256 = "854e4069110c770c483d863fc62eb3c17d776c4b9d4b1f38494b6a39ae186aaa",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-auth/1.14.0/grpc-auth-1.14.0.jar"],        )
    if "runtime_grpc_protobuf" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_protobuf",
            jar_sha256 = "58cfe955238e854caeba371093f70252eaf151a7c82c2849970f682b3e460f4f",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.14.0/grpc-protobuf-1.14.0.jar"],        )
    if "runtime_grpc_protobuf_lite" not in native.existing_rules():
        java_import_external(
            name = "runtime_grpc_protobuf_lite",
            jar_sha256 = "083b4c678192461cdb1f46199de2ee5a6dd6c691fd8b1ae28c263de8aa219dd4",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.14.0/grpc-protobuf-lite-1.14.0.jar"],        )
    if "runtime_protobuf" not in native.existing_rules():
        java_import_external(
            name = "runtime_protobuf",
            jar_sha256 = "fb66d913ff0578553b2e28a3338cbbbe2657e6cfe0e98d939f23aea219daf508",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.6.1/protobuf-java-3.6.1.jar"],        )
    if "grpc_core_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_core_1_3_1",
            jar_sha256 = "5f5988c616a56b25bf413fdf01fd63c107257fdbc4b23367a073e17552907821",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-core/1.3.1/grpc-core-1.3.1.jar"],        )
    if "grpc_protobuf_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_protobuf_1_3_1",
            jar_sha256 = "36dc04e5d31ab6d6405a21eb5110f178bfa1ae481aaef8b8cb2fe8675a7344f0",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-protobuf/1.3.1/grpc-protobuf-1.3.1.jar"],        )
    if "grpc_protobuf_lite_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_protobuf_lite_1_3_1",
            jar_sha256 = "300229b1cef817a44221471c8e171b56f167226acbf74fc7776c7a421ec13792",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-protobuf-lite/1.3.1/grpc-protobuf-lite-1.3.1.jar"],        )
    if "grpc_stub_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_stub_1_3_1",
            jar_sha256 = "ca3b1b8e68d31d3b12b2d2b7a989e7f74653de07a9465957f4840dbb55b777a7",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-stub/1.3.1/grpc-stub-1.3.1.jar"],        )
    if "grpc_netty_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_netty_1_3_1",
            jar_sha256 = "6c72f0a2db9d4a10bfd24588f3c36180535f46000217addd34280fdefdf290d2",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-netty/1.3.1/grpc-netty-1.3.1.jar"],        )
    if "grpc_auth_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_auth_1_3_1",
            jar_sha256 = "432360b6d5d6cb998bf1e051f1f5e12e5c70b3e633c1579ccced2f0478e528f5",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-auth/1.3.1/grpc-auth-1.3.1.jar"],        )
    if "protobuf_java_3_3_0" not in native.existing_rules():
        java_import_external(
            name = "protobuf_java_3_3_0",
            jar_sha256 = "f3411ade77523d5f0d013d4f25c36879e66f0c5e1e4310f7096d54d0d2553554",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.3.0/protobuf-java-3.3.0.jar"],        )
    if "protobuf_java_3_2_0" not in native.existing_rules():
        java_import_external(
            name = "protobuf_java_3_2_0",
            jar_sha256 = "b1c2d420d2833429d11e405a58251e13bd7e3f22c266b49227c41e4d21361286",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/protobuf/protobuf-java/3.2.0/protobuf-java-3.2.0.jar"],        )
    if "grpc_testing_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_testing_1_3_1",
            jar_sha256 = "d6c5a7ee5bb4d67608d7a8a01f7b8a95ab3f7d3df5d84e5aa5f61f90545f2dcd",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-testing/1.3.1/grpc-testing-1.3.1.jar"],        )
    if "grpc_testing_proto_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_testing_proto_1_3_1",
            jar_sha256 = "5b52005cccdbdbf63c29e28aab13ab796509345cf306d819cd4118131dadc254",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-testing-proto/1.3.1/grpc-testing-proto-1.3.1.jar"],        )
    if "grpc_context_1_3_1" not in native.existing_rules():
        java_import_external(
            name = "grpc_context_1_3_1",
            jar_sha256 = "a644cb308edd21ebce57876052785f171735e0d04905e5ff20741d4642981e74",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/io/grpc/grpc-context/1.3.1/grpc-context-1.3.1.jar"],        )
    if "google_truth_0_28" not in native.existing_rules():
        java_import_external(
            name = "google_truth_0_28",
            jar_sha256 = "1037ded3a681c74ce020e306f136b24a51c09c95667d8eda9ffc8f8136294f71",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/truth/truth/0.28/truth-0.28.jar"],        )
    if "google_code_findbugs_3_0_0" not in native.existing_rules():
        java_import_external(
            name = "google_code_findbugs_3_0_0",
            jar_sha256 = "bec0b24dcb23f9670172724826584802b80ae6cbdaba03bdebdef9327b962f6a",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.0/jsr305-3.0.0.jar"],        )
    if "google_errorprone_2_0_19" not in native.existing_rules():
        java_import_external(
            name = "google_errorprone_2_0_19",
            jar_sha256 = "cde78ace21e46398299d0d9c6be9f47b7f971c7f045d40c78f95be9a638cbf7e",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.0.19/error_prone_annotations-2.0.19.jar"],        )
    if "google_instrumentation_0_3_0" not in native.existing_rules():
        java_import_external(
            name = "google_instrumentation_0_3_0",
            jar_sha256 = "671f7147487877f606af2c7e39399c8d178c492982827305d3b1c7f5b04f1145",
            licenses = ["notice"],
            jar_urls = ["http://repo1.maven.org/maven2/com/google/instrumentation/instrumentation-api/0.3.0/instrumentation-api-0.3.0.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.0.5"
artifact_map["@atomix_cluster//:atomix_cluster"] = "mvn:io.atomix:atomix-cluster:jar:3.0.5"
artifact_map["@atomix_gossip//:atomix_gossip"] = "mvn:io.atomix:atomix-gossip:jar:3.0.5"
artifact_map["@atomix_primary_backup//:atomix_primary_backup"] = "mvn:io.atomix:atomix-primary-backup:jar:3.0.5"
artifact_map["@atomix_primitive//:atomix_primitive"] = "mvn:io.atomix:atomix-primitive:jar:3.0.5"
artifact_map["@atomix_raft//:atomix_raft"] = "mvn:io.atomix:atomix-raft:jar:3.0.5"
artifact_map["@atomix_storage//:atomix_storage"] = "mvn:io.atomix:atomix-storage:jar:3.0.5"
artifact_map["@atomix_utils//:atomix_utils"] = "mvn:io.atomix:atomix-utils:jar:3.0.5"
artifact_map["@classgraph//:classgraph"] = "mvn:io.github.classgraph:classgraph:jar:4.0.6"
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:3.6"
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["@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["@jackson_annotations//:jackson_annotations"] = "mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.9.5"
artifact_map["@jackson_core//:jackson_core"] = "mvn:com.fasterxml.jackson.core:jackson-core:jar:2.9.5"
artifact_map["@jackson_databind//:jackson_databind"] = "mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.9.5"
artifact_map["@javax_annotation_api_mvn//:javax_annotation_api_mvn"] = "mvn:javax.annotation:javax.annotation-api:jar:1.2"
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["@jersey_client//:jersey_client"] = "mvn:org.glassfish.jersey.core:jersey-client:jar:2.26"
artifact_map["@jersey_security//:jersey_security"] = "mvn:org.glassfish.jersey.security:oauth2-client:jar:NON-OSGI:2.26"
artifact_map["@jersey_common//:jersey_common"] = "mvn:org.glassfish.jersey.core:jersey-common:jar:2.26"
artifact_map["@jersey_container_jetty_http//:jersey_container_jetty_http"] = "mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:jar:2.26"
artifact_map["@jersey_container_servlet//:jersey_container_servlet"] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet:jar:2.26"
artifact_map["@jersey_container_servlet_core//:jersey_container_servlet_core"] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.26"
artifact_map["@jersey_media_multipart//:jersey_media_multipart"] = "mvn:org.glassfish.jersey.media:jersey-media-multipart:jar:2.26"
artifact_map["@jersey_media_sse//:jersey_media_sse"] = "mvn:org.glassfish.jersey.media:jersey-media-sse:jar:2.26"
artifact_map["@jersey_server//:jersey_server"] = "mvn:org.glassfish.jersey.core:jersey-server:jar:2.26"
artifact_map["@jersey_hk2//:jersey_hk2"] = "mvn:org.glassfish.jersey.inject:jersey-hk2:jar:2.26"
artifact_map["@jersey_test_framework_core//:jersey_test_framework_core"] = "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:NON-OSGI:2.26"
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.26"
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_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.1"
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.27.Final"
artifact_map["@io_netty_netty_codec//:io_netty_netty_codec"] = "mvn:io.netty:netty-codec:jar:4.1.27.Final"
artifact_map["@io_netty_netty_common//:io_netty_netty_common"] = "mvn:io.netty:netty-common:jar:4.1.27.Final"
artifact_map["@io_netty_netty_handler//:io_netty_netty_handler"] = "mvn:io.netty:netty-handler:jar:4.1.27.Final"
artifact_map["@io_netty_netty_handler_proxy//:io_netty_netty_handler_proxy"] = "mvn:io.netty:netty-handler-proxy:jar:4.1.27.Final"
artifact_map["@io_netty_netty_transport//:io_netty_netty_transport"] = "mvn:io.netty:netty-transport:jar:4.1.27.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.27.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.27.Final"
artifact_map["@io_netty_netty_resolver//:io_netty_netty_resolver"] = "mvn:io.netty:netty-resolver:jar:4.1.27.Final"
artifact_map["@io_netty_netty_codec_http2//:io_netty_netty_codec_http2"] = "mvn:io.netty:netty-codec-http2:jar:4.1.27.Final"
artifact_map["@io_netty_netty_codec_http//:io_netty_netty_codec_http"] = "mvn:io.netty:netty-codec-http:jar:4.1.27.Final"
artifact_map["@io_netty_netty_codec_socks//:io_netty_netty_codec_socks"] = "mvn:io.netty:netty-codec-socks:jar:4.1.27.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.0"
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_features_core//:org_apache_karaf_features_core"] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:4.2.1"
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.1"
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.1"
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.1"
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.1"
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_compendium//:org_osgi_compendium"] = "mvn:org.osgi:org.osgi.compendium:jar:5.0.0"
artifact_map["@org_osgi_cmpn//:org_osgi_cmpn"] = "mvn:org.osgi:osgi.cmpn:jar:7.0.0"
artifact_map["@osgi_core//:osgi_core"] = "mvn:org.osgi:org.osgi.core:jar:5.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:1.1.0.Final"
artifact_map["@checkstyle//:checkstyle"] = "mvn:com.puppycrawl.tools:checkstyle:jar:NON-OSGI:8.10"
artifact_map["@apache_karaf//:apache_karaf"] = "http://repo1.maven.org/maven2/org/onosproject/apache-karaf-offline/4.2.1-base/apache-karaf-offline-4.2.1-base.tar.gz"
artifact_map["@bndlib//:bndlib"] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:4.0.0"
artifact_map["@bndexe//:bndexe"] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:4.0.0"
artifact_map["@libthrift//:libthrift"] = "mvn:org.apache.thrift:libthrift:jar:0.9.3"
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["@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.0.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.1.2"
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.9.0"
artifact_map["@io_opencensus_opencensus_api//:io_opencensus_opencensus_api"] = "mvn:io.opencensus:opencensus-api:jar:NON-OSGI:0.12.3"
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.12.3"
artifact_map["@openstack4j_core//:openstack4j_core"] = "mvn:org.pacesys:openstack4j-core:jar:3.1.0"
artifact_map["@openstack4j_http_connector//:openstack4j_http_connector"] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:3.1.0"
artifact_map["@openstack4j_httpclient//:openstack4j_httpclient"] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.1.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.15"
artifact_map["@onos_yang_model//:onos_yang_model"] = "mvn:org.onosproject:onos-yang-model:jar:2.5"
artifact_map["@onos_yang_compiler_api//:onos_yang_compiler_api"] = "mvn:org.onosproject:onos-yang-compiler-api:jar:2.5"
artifact_map["@onos_yang_compiler_main//:onos_yang_compiler_main"] = "mvn:org.onosproject:onos-yang-compiler-main:jar:2.5"
artifact_map["@onos_yang_runtime//:onos_yang_runtime"] = "mvn:org.onosproject:onos-yang-runtime:jar:2.5"
artifact_map["@onos_yang_serializers_json//:onos_yang_serializers_json"] = "mvn:org.onosproject:onos-yang-serializers-json:jar:2.5"
artifact_map["@onos_yang_serializers_xml//:onos_yang_serializers_xml"] = "mvn:org.onosproject:onos-yang-serializers-xml:jar:2.5"
artifact_map["@onos_yang_serializers_utils//:onos_yang_serializers_utils"] = "mvn:org.onosproject:onos-yang-serializers-utils:jar:2.5"
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.4.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:0.8.2.2_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"
artifact_map["@runtime_grpc_core//:runtime_grpc_core"] = "mvn:io.grpc:grpc-core:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_grpc_context//:runtime_grpc_context"] = "mvn:io.grpc:grpc-context:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_grpc_stub//:runtime_grpc_stub"] = "mvn:io.grpc:grpc-stub:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_grpc_netty//:runtime_grpc_netty"] = "mvn:io.grpc:grpc-netty:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_grpc_auth//:runtime_grpc_auth"] = "mvn:io.grpc:grpc-auth:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_grpc_protobuf//:runtime_grpc_protobuf"] = "mvn:io.grpc:grpc-protobuf:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_grpc_protobuf_lite//:runtime_grpc_protobuf_lite"] = "mvn:io.grpc:grpc-protobuf-lite:jar:NON-OSGI:1.14.0"
artifact_map["@runtime_protobuf//:runtime_protobuf"] = "mvn:com.google.protobuf:protobuf-java:jar:3.6.1"
artifact_map["@grpc_core_1_3_1//:grpc_core_1_3_1"] = "mvn:io.grpc:grpc-core:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_protobuf_1_3_1//:grpc_protobuf_1_3_1"] = "mvn:io.grpc:grpc-protobuf:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_protobuf_lite_1_3_1//:grpc_protobuf_lite_1_3_1"] = "mvn:io.grpc:grpc-protobuf-lite:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_stub_1_3_1//:grpc_stub_1_3_1"] = "mvn:io.grpc:grpc-stub:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_netty_1_3_1//:grpc_netty_1_3_1"] = "mvn:io.grpc:grpc-netty:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_auth_1_3_1//:grpc_auth_1_3_1"] = "mvn:io.grpc:grpc-auth:jar:NON-OSGI:1.3.1"
artifact_map["@protobuf_java_3_3_0//:protobuf_java_3_3_0"] = "mvn:com.google.protobuf:protobuf-java:jar:3.3.0"
artifact_map["@protobuf_java_3_2_0//:protobuf_java_3_2_0"] = "mvn:com.google.protobuf:protobuf-java:jar:3.2.0"
artifact_map["@grpc_testing_1_3_1//:grpc_testing_1_3_1"] = "mvn:io.grpc:grpc-testing:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_testing_proto_1_3_1//:grpc_testing_proto_1_3_1"] = "mvn:io.grpc:grpc-testing-proto:jar:NON-OSGI:1.3.1"
artifact_map["@grpc_context_1_3_1//:grpc_context_1_3_1"] = "mvn:io.grpc:grpc-context:jar:NON-OSGI:1.3.1"
artifact_map["@google_truth_0_28//:google_truth_0_28"] = "mvn:com.google.truth:truth:jar:NON-OSGI:0.28"
artifact_map["@google_code_findbugs_3_0_0//:google_code_findbugs_3_0_0"] = "mvn:com.google.code.findbugs:jsr305:jar:NON-OSGI:3.0.0"
artifact_map["@google_errorprone_2_0_19//:google_errorprone_2_0_19"] = "mvn:com.google.errorprone:error_prone_annotations:jar:NON-OSGI:2.0.19"
artifact_map["@google_instrumentation_0_3_0//:google_instrumentation_0_3_0"] = "mvn:com.google.instrumentation:instrumentation-api:jar:NON-OSGI:0.3.0"

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)
