Add an API to determine the maven coordinates for an external artifact

Change-Id: Ief747497e2d02353aeb8515597f722aaf23cdf2e
diff --git a/lib/BUCK b/lib/BUCK
index fb7c2e9..2a5a685 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,4 +1,4 @@
-# ***** This file was auto-generated at Thu, 31 May 2018 16:26:40 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 6 Jun 2018 17:50:58 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
 
 pass_thru_pom(
diff --git a/tools/build/bazel/BUILD b/tools/build/bazel/BUILD
index e513517..6c4e6ec 100644
--- a/tools/build/bazel/BUILD
+++ b/tools/build/bazel/BUILD
@@ -1,27 +1,27 @@
 py_binary(
     name = "onos_app_writer",
-    srcs = [ "onos_app.py" ],
+    srcs = ["onos_app.py"],
     main = "onos_app.py",
     visibility = ["//visibility:public"],
 )
 
 py_binary(
     name = "onos-app-oar",
-    srcs = [ "onos_oar.py" ],
+    srcs = ["onos_oar.py"],
     main = "onos_oar.py",
     visibility = ["//visibility:public"],
 )
 
 py_binary(
-  name = "onos-stage",
-  srcs = [ "onos_stage.py" ],
-  main = "onos_stage.py",
-  visibility = ["//visibility:public"],
+    name = "onos-stage",
+    srcs = ["onos_stage.py"],
+    main = "onos_stage.py",
+    visibility = ["//visibility:public"],
 )
 
 py_binary(
-  name = 'onos-feature',
-  srcs = [ "onos_feature.py" ],
-  main = 'onos_feature.py',
-  visibility = ["//visibility:public"],
+    name = "onos-feature",
+    srcs = ["onos_feature.py"],
+    main = "onos_feature.py",
+    visibility = ["//visibility:public"],
 )
diff --git a/tools/build/bazel/generate_workspace.bzl b/tools/build/bazel/generate_workspace.bzl
index 8e1b5d0..d3a0197 100644
--- a/tools/build/bazel/generate_workspace.bzl
+++ b/tools/build/bazel/generate_workspace.bzl
@@ -1,5 +1,7 @@
-# ***** This file was auto-generated at Thu, 31 May 2018 16:26:42 GMT. Do not edit this file manually. *****
+# ***** This file was auto-generated at Wed, 6 Jun 2018 17:51:00 GMT. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
+
+load("//tools/build/bazel:variables.bzl", "ONOS_GROUP_ID", "ONOS_VERSION")
 COMPILE = [
     "@commons_configuration//jar",
     "@commons_logging//jar",
@@ -2090,3 +2092,178 @@
         visibility = ["//visibility:public"],
         exports = ["@sigar//jar"],
     )
+
+artifact_map = {}
+artifact_map[str(Label("@aopalliance_repackaged//jar"))] = "mvn:org.glassfish.hk2.external:aopalliance-repackaged:jar:2.5.0-b42"
+artifact_map[str(Label("@amqp_client//jar"))] = "mvn:com.rabbitmq:amqp-client:jar:3.6.1"
+artifact_map[str(Label("@asm//jar"))] = "mvn:org.ow2.asm:asm:jar:5.0.4"
+artifact_map[str(Label("@atomix//jar"))] = "mvn:io.atomix:atomix:jar:2.0.20"
+artifact_map[str(Label("@commons_codec//jar"))] = "mvn:commons-codec:commons-codec:jar:1.10"
+artifact_map[str(Label("@commons_collections//jar"))] = "mvn:commons-collections:commons-collections:jar:3.2.2"
+artifact_map[str(Label("@commons_configuration//jar"))] = "mvn:commons-configuration:commons-configuration:jar:1.10"
+artifact_map[str(Label("@commons_io//jar"))] = "mvn:commons-io:commons-io:jar:2.6"
+artifact_map[str(Label("@commons_jxpath//jar"))] = "mvn:commons-jxpath:commons-jxpath:jar:1.3"
+artifact_map[str(Label("@commons_beanutils//jar"))] = "mvn:commons-beanutils:commons-beanutils:jar:1.9.3"
+artifact_map[str(Label("@jdom//jar"))] = "mvn:jdom:jdom:jar:1.0"
+artifact_map[str(Label("@commons_lang//jar"))] = "mvn:commons-lang:commons-lang:jar:2.6"
+artifact_map[str(Label("@commons_lang3//jar"))] = "mvn:org.apache.commons:commons-lang3:jar:3.6"
+artifact_map[str(Label("@commons_logging//jar"))] = "mvn:commons-logging:commons-logging:jar:1.2"
+artifact_map[str(Label("@commons_math3//jar"))] = "mvn:org.apache.commons:commons-math3:jar:3.6.1"
+artifact_map[str(Label("@commons_pool//jar"))] = "mvn:commons-pool:commons-pool:jar:1.6"
+artifact_map[str(Label("@commons_text//jar"))] = "mvn:org.apache.commons:commons-text:jar:1.2"
+artifact_map[str(Label("@concurrent_trees//jar"))] = "mvn:com.googlecode.concurrent-trees:concurrent-trees:jar:2.6.1"
+artifact_map[str(Label("@easymock//jar"))] = "mvn:org.easymock:easymock:jar:3.6"
+artifact_map[str(Label("@antlr//jar"))] = "mvn:antlr:antlr:jar:2.7.7"
+artifact_map[str(Label("@error_prone_annotations//jar"))] = "mvn:com.google.errorprone:error_prone_annotations:jar:2.0.11"
+artifact_map[str(Label("@ganymed_ssh2//jar"))] = "mvn:ch.ethz.ganymed:ganymed-ssh2:jar:262"
+artifact_map[str(Label("@gmetric4j//jar"))] = "mvn:info.ganglia.gmetric4j:gmetric4j:jar:1.0.10"
+artifact_map[str(Label("@gson//jar"))] = "mvn:com.google.code.gson:gson:jar:2.7"
+artifact_map[str(Label("@guava//jar"))] = "mvn:com.google.guava:guava:jar:22.0"
+artifact_map[str(Label("@guava_testlib//jar"))] = "mvn:com.google.guava:guava-testlib:jar:22.0"
+artifact_map[str(Label("@hamcrest_all//jar"))] = "mvn:org.hamcrest:hamcrest-all:jar:1.3"
+artifact_map[str(Label("@hk2_api//jar"))] = "mvn:org.glassfish.hk2:hk2-api:jar:2.5.0-b42"
+artifact_map[str(Label("@hk2_locator//jar"))] = "mvn:org.glassfish.hk2:hk2-locator:jar:2.5.0-b42"
+artifact_map[str(Label("@hk2_osgi_resource_locator//jar"))] = "mvn:org.glassfish.hk2:osgi-resource-locator:jar:1.0.1"
+artifact_map[str(Label("@hk2_utils//jar"))] = "mvn:org.glassfish.hk2:hk2-utils:jar:2.5.0-b42"
+artifact_map[str(Label("@httpclient_osgi//jar"))] = "mvn:org.apache.httpcomponents:httpclient-osgi:jar:4.5.1"
+artifact_map[str(Label("@httpcore_osgi//jar"))] = "mvn:org.apache.httpcomponents:httpcore-osgi:jar:4.4.4"
+artifact_map[str(Label("@influxdb_java//jar"))] = "mvn:org.influxdb:influxdb-java:jar:2.9"
+artifact_map[str(Label("@retrofit//jar"))] = "mvn:com.squareup.retrofit2:retrofit:jar:2.3.0"
+artifact_map[str(Label("@converter_moshi//jar"))] = "mvn:com.squareup.retrofit2:converter-moshi:jar:2.3.0"
+artifact_map[str(Label("@okhttp//jar"))] = "mvn:com.squareup.okhttp3:okhttp:jar:3.9.1"
+artifact_map[str(Label("@logging_interceptor//jar"))] = "mvn:com.squareup.okhttp3:logging-interceptor:jar:3.9.1"
+artifact_map[str(Label("@moshi//jar"))] = "mvn:com.squareup.moshi:moshi:jar:1.4.0"
+artifact_map[str(Label("@okio//jar"))] = "mvn:com.squareup.okio:okio:jar:1.11.0"
+artifact_map[str(Label("@jackson_annotations//jar"))] = "mvn:com.fasterxml.jackson.core:jackson-annotations:jar:2.9.5"
+artifact_map[str(Label("@jackson_core//jar"))] = "mvn:com.fasterxml.jackson.core:jackson-core:jar:2.9.5"
+artifact_map[str(Label("@jackson_databind//jar"))] = "mvn:com.fasterxml.jackson.core:jackson-databind:jar:2.9.5"
+artifact_map[str(Label("@javax_annotation_api//jar"))] = "mvn:javax.annotation:javax.annotation-api:jar:1.2"
+artifact_map[str(Label("@javax_inject//jar"))] = "mvn:org.glassfish.hk2.external:javax.inject:jar:2.5.0-b42"
+artifact_map[str(Label("@javax_ws_rs_api//jar"))] = "mvn:javax.ws.rs:javax.ws.rs-api:jar:2.1"
+artifact_map[str(Label("@jersey_client//jar"))] = "mvn:org.glassfish.jersey.core:jersey-client:jar:2.26"
+artifact_map[str(Label("@jersey_security//jar"))] = "mvn:org.glassfish.jersey.security:oauth2-client:jar:2.26"
+artifact_map[str(Label("@jersey_common//jar"))] = "mvn:org.glassfish.jersey.core:jersey-common:jar:2.26"
+artifact_map[str(Label("@jersey_container_jetty_http//jar"))] = "mvn:org.glassfish.jersey.containers:jersey-container-jetty-http:jar:2.26"
+artifact_map[str(Label("@jersey_container_servlet//jar"))] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet:jar:2.26"
+artifact_map[str(Label("@jersey_container_servlet_core//jar"))] = "mvn:org.glassfish.jersey.containers:jersey-container-servlet-core:jar:2.26"
+artifact_map[str(Label("@jersey_media_multipart//jar"))] = "mvn:org.glassfish.jersey.media:jersey-media-multipart:jar:2.26"
+artifact_map[str(Label("@jersey_server//jar"))] = "mvn:org.glassfish.jersey.core:jersey-server:jar:2.26"
+artifact_map[str(Label("@jersey_hk2//jar"))] = "mvn:org.glassfish.jersey.inject:jersey-hk2:jar:2.26"
+artifact_map[str(Label("@jersey_test_framework_core//jar"))] = "mvn:org.glassfish.jersey.test-framework:jersey-test-framework-core:jar:2.26"
+artifact_map[str(Label("@jersey_test_framework_jetty//jar"))] = "mvn:org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-jetty:jar:2.26"
+artifact_map[str(Label("@jetty_util//jar"))] = "mvn:org.eclipse.jetty:jetty-util:jar:9.2.21.v20170120"
+artifact_map[str(Label("@jetty_websocket//jar"))] = "mvn:org.eclipse.jetty:jetty-websocket:jar:8.1.19.v20160209"
+artifact_map[str(Label("@jetty_server//jar"))] = "mvn:org.eclipse.jetty:jetty-server:jar:9.2.21.v20170120"
+artifact_map[str(Label("@jetty_continuation//jar"))] = "mvn:org.eclipse.jetty:jetty-continuation:jar:9.2.21.v20170120"
+artifact_map[str(Label("@jetty_http//jar"))] = "mvn:org.eclipse.jetty:jetty-http:jar:9.2.21.v20170120"
+artifact_map[str(Label("@jetty_io//jar"))] = "mvn:org.eclipse.jetty:jetty-io:jar:9.2.21.v20170120"
+artifact_map[str(Label("@javax_servlet_api//jar"))] = "mvn:javax.servlet:javax.servlet-api:jar:3.1.0"
+artifact_map[str(Label("@joda_time//jar"))] = "mvn:joda-time:joda-time:jar:2.9.3"
+artifact_map[str(Label("@jsch//jar"))] = "mvn:com.jcraft:jsch:jar:0.1.53"
+artifact_map[str(Label("@jsr305//jar"))] = "mvn:com.google.code.findbugs:jsr305:jar:3.0.1"
+artifact_map[str(Label("@junit//jar"))] = "mvn:junit:junit:jar:4.12"
+artifact_map[str(Label("@junit_dep//jar"))] = "mvn:junit:junit:jar:4.10"
+artifact_map[str(Label("@kryo//jar"))] = "mvn:com.esotericsoftware:kryo:jar:4.0.1"
+artifact_map[str(Label("@mapdb//jar"))] = "mvn:org.mapdb:mapdb:jar:1.0.9"
+artifact_map[str(Label("@metrics_core//jar"))] = "mvn:io.dropwizard.metrics:metrics-core:jar:3.2.2"
+artifact_map[str(Label("@metrics_ganglia//jar"))] = "mvn:io.dropwizard.metrics:metrics-ganglia:jar:3.2.2"
+artifact_map[str(Label("@metrics_graphite//jar"))] = "mvn:io.dropwizard.metrics:metrics-graphite:jar:3.2.2"
+artifact_map[str(Label("@metrics_influxdb//jar"))] = "mvn:com.izettle:metrics-influxdb:jar:1.1.1"
+artifact_map[str(Label("@metrics_json//jar"))] = "mvn:io.dropwizard.metrics:metrics-json:jar:3.2.2"
+artifact_map[str(Label("@minimal_json//jar"))] = "mvn:com.eclipsesource.minimal-json:minimal-json:jar:0.9.4"
+artifact_map[str(Label("@minlog//jar"))] = "mvn:com.esotericsoftware:minlog:jar:1.3.0"
+artifact_map[str(Label("@netty//jar"))] = "mvn:io.netty:netty:jar:3.10.5.Final"
+artifact_map[str(Label("@netty_buffer//jar"))] = "mvn:io.netty:netty-buffer:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_codec//jar"))] = "mvn:io.netty:netty-codec:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_common//jar"))] = "mvn:io.netty:netty-common:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_handler//jar"))] = "mvn:io.netty:netty-handler:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_transport//jar"))] = "mvn:io.netty:netty-transport:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_transport_native_epoll//jar"))] = "mvn:io.netty:netty-transport-native-epoll:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_resolver//jar"))] = "mvn:io.netty:netty-resolver:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_codec_http2//jar"))] = "mvn:io.netty:netty-codec-http2:jar:4.1.8.Final"
+artifact_map[str(Label("@netty_codec_http//jar"))] = "mvn:io.netty:netty-codec-http:jar:4.1.8.Final"
+artifact_map[str(Label("@objenesis//jar"))] = "mvn:org.objenesis:objenesis:jar:2.6"
+artifact_map[str(Label("@openflowj//jar"))] = "mvn:org.onosproject:openflowj:jar:3.2.1.onos"
+artifact_map[str(Label("@org_apache_felix_framework_security//jar"))] = "mvn:org.onosproject:org.apache.felix.framework.security:jar:2.2.0.onos"
+artifact_map[str(Label("@org_apache_felix_scr//jar"))] = "mvn:org.apache.felix:org.apache.felix.scr:jar:1.8.2"
+artifact_map[str(Label("@org_apache_felix_scr_annotations//jar"))] = "mvn:org.apache.felix:org.apache.felix.scr.annotations:jar:1.9.12"
+artifact_map[str(Label("@org_apache_karaf_features_core//jar"))] = "mvn:org.apache.karaf.features:org.apache.karaf.features.core:jar:3.0.8"
+artifact_map[str(Label("@org_apache_karaf_shell_console//jar"))] = "mvn:org.apache.karaf.shell:org.apache.karaf.shell.console:jar:3.0.8"
+artifact_map[str(Label("@org_apache_httpcomponents_httpasyncclient_osgi//jar"))] = "mvn:org.apache.httpcomponents:httpasyncclient-osgi:jar:4.1.2"
+artifact_map[str(Label("@org_apache_httpcomponents_httpcore_nio//jar"))] = "mvn:org.apache.httpcomponents:httpcore-nio:jar:4.4.4"
+artifact_map[str(Label("@org_apache_karaf_jaas//jar"))] = "mvn:org.apache.karaf.jaas:org.apache.karaf.jaas.modules:jar:3.0.8"
+artifact_map[str(Label("@org_apache_karaf_system_core//jar"))] = "mvn:org.apache.karaf.system:org.apache.karaf.system.core:jar:3.0.8"
+artifact_map[str(Label("@org_apache_servicemix_bundles_snmp4j//jar"))] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.snmp4j:jar:2.3.4_1"
+artifact_map[str(Label("@org_osgi_compendium//jar"))] = "mvn:org.osgi:org.osgi.compendium:jar:5.0.0"
+artifact_map[str(Label("@osgi_core//jar"))] = "mvn:org.osgi:org.osgi.core:jar:5.0.0"
+artifact_map[str(Label("@reflectasm//jar"))] = "mvn:com.esotericsoftware:reflectasm:jar:1.11.0"
+artifact_map[str(Label("@remotetea_oncrpc//jar"))] = "mvn:org.acplt.remotetea:remotetea-oncrpc:jar:1.1.3"
+artifact_map[str(Label("@rrd4j//jar"))] = "mvn:org.rrd4j:rrd4j:jar:3.1"
+artifact_map[str(Label("@javassist//jar"))] = "mvn:org.javassist:javassist:jar:3.22.0-GA"
+artifact_map[str(Label("@mimepull//jar"))] = "mvn:org.jvnet.mimepull:mimepull:jar:1.9.6"
+artifact_map[str(Label("@servlet_api//jar"))] = "mvn:javax.servlet:servlet-api:jar:2.5"
+artifact_map[str(Label("@slf4j_api//jar"))] = "mvn:org.slf4j:slf4j-api:jar:1.7.25"
+artifact_map[str(Label("@slf4j_jdk14//jar"))] = "mvn:org.slf4j:slf4j-jdk14:jar:1.7.25"
+artifact_map[str(Label("@typesafe_config//jar"))] = "mvn:com.typesafe:config:jar:1.2.1"
+artifact_map[str(Label("@validation_api//jar"))] = "mvn:javax.validation:validation-api:jar:1.1.0.Final"
+artifact_map[str(Label("@checkstyle//jar"))] = "mvn:com.puppycrawl.tools:checkstyle:jar:8.10"
+artifact_map[str(Label("@apache_karaf//jar"))] = "mvn:org.onosproject:apache-karaf-offline:tar.gz:3.0.8"
+artifact_map[str(Label("@apache_karaf_patches//jar"))] = "mvn:org.onosproject:onos-apache-karaf-patches:tar.gz:3.0.8"
+artifact_map[str(Label("@bndlib//jar"))] = "mvn:biz.aQute.bnd:biz.aQute.bndlib:jar:3.1.0"
+artifact_map[str(Label("@bndexe//jar"))] = "mvn:biz.aQute.bnd:biz.aQute.bnd:jar:3.1.0"
+artifact_map[str(Label("@libthrift//jar"))] = "mvn:org.apache.thrift:libthrift:jar:0.9.3"
+artifact_map[str(Label("@qdox//jar"))] = "mvn:com.thoughtworks.qdox:qdox:jar:2.0-M3"
+artifact_map[str(Label("@org_apache_felix_scr_bnd//jar"))] = "https://oss.sonatype.org/content/repositories/snapshots/org/onosproject/org.apache.felix.scr.bnd/1.4.1-SNAPSHOT/org.apache.felix.scr.bnd-1.4.1-20160328.235003-2.jar"
+artifact_map[str(Label("@snmp_core//jar"))] = "mvn:org.onosproject:snmp-core:jar:1.3-20161021.1"
+artifact_map[str(Label("@mibs_net_snmp//jar"))] = "mvn:org.onosproject:mibbler-mibs-net-snmp:jar:1.0-20151221.1"
+artifact_map[str(Label("@mibs_rfc//jar"))] = "mvn:org.onosproject:mibbler-mibs-rfc:jar:1.0-20151221.1"
+artifact_map[str(Label("@openstack4j_core//jar"))] = "mvn:org.pacesys:openstack4j-core:jar:3.1.0"
+artifact_map[str(Label("@openstack4j_http_connector//jar"))] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-http-connector:jar:3.1.0"
+artifact_map[str(Label("@openstack4j_httpclient//jar"))] = "mvn:org.pacesys.openstack4j.connectors:openstack4j-httpclient:jar:3.1.0"
+artifact_map[str(Label("@json_patch//jar"))] = "mvn:com.github.fge:json-patch:jar:1.9"
+artifact_map[str(Label("@jackson_coreutils//jar"))] = "mvn:com.github.fge:jackson-coreutils:jar:1.6"
+artifact_map[str(Label("@btf//jar"))] = "mvn:com.github.fge:btf:jar:1.2"
+artifact_map[str(Label("@msg_simple//jar"))] = "mvn:com.github.fge:msg-simple:jar:1.1"
+artifact_map[str(Label("@snakeyaml//jar"))] = "mvn:org.yaml:snakeyaml:jar:1.15"
+artifact_map[str(Label("@onos_yang_model//jar"))] = "mvn:org.onosproject:onos-yang-model:jar:2.4.7"
+artifact_map[str(Label("@onos_yang_compiler_api//jar"))] = "mvn:org.onosproject:onos-yang-compiler-api:jar:2.4.7"
+artifact_map[str(Label("@onos_yang_runtime//jar"))] = "mvn:org.onosproject:onos-yang-runtime:jar:2.4.7"
+artifact_map[str(Label("@onos_yang_serializers_json//jar"))] = "mvn:org.onosproject:onos-yang-serializers-json:jar:2.4.7"
+artifact_map[str(Label("@onos_yang_serializers_xml//jar"))] = "mvn:org.onosproject:onos-yang-serializers-xml:jar:2.4.7"
+artifact_map[str(Label("@onos_yang_serializers_utils//jar"))] = "mvn:org.onosproject:onos-yang-serializers-utils:jar:2.4.7"
+artifact_map[str(Label("@org_apache_servicemix_bundles_dom4j//jar"))] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.dom4j:jar:1.6.1_5"
+artifact_map[str(Label("@plexus_utils//jar"))] = "mvn:org.codehaus.plexus:plexus-utils:jar:3.0.24"
+artifact_map[str(Label("@sshd_core//jar"))] = "mvn:org.apache.sshd:sshd-core:jar:1.4.0"
+artifact_map[str(Label("@grpc_core_1_3_1//jar"))] = "mvn:io.grpc:grpc-core:jar:1.3.1"
+artifact_map[str(Label("@grpc_protobuf_1_3_1//jar"))] = "mvn:io.grpc:grpc-protobuf:jar:1.3.1"
+artifact_map[str(Label("@grpc_protobuf_lite_1_3_1//jar"))] = "mvn:io.grpc:grpc-protobuf-lite:jar:1.3.1"
+artifact_map[str(Label("@grpc_stub_1_3_1//jar"))] = "mvn:io.grpc:grpc-stub:jar:1.3.1"
+artifact_map[str(Label("@grpc_netty_1_3_1//jar"))] = "mvn:io.grpc:grpc-netty:jar:1.3.1"
+artifact_map[str(Label("@grpc_auth_1_3_1//jar"))] = "mvn:io.grpc:grpc-auth:jar:1.3.1"
+artifact_map[str(Label("@protobuf_java_3_3_0//jar"))] = "mvn:com.google.protobuf:protobuf-java:jar:3.3.0"
+artifact_map[str(Label("@protobuf_java_3_2_0//jar"))] = "mvn:com.google.protobuf:protobuf-java:jar:3.2.0"
+artifact_map[str(Label("@grpc_testing_1_3_1//jar"))] = "mvn:io.grpc:grpc-testing:jar:1.3.1"
+artifact_map[str(Label("@grpc_testing_proto_1_3_1//jar"))] = "mvn:io.grpc:grpc-testing-proto:jar:1.3.1"
+artifact_map[str(Label("@grpc_context_1_3_1//jar"))] = "mvn:io.grpc:grpc-context:jar:1.3.1"
+artifact_map[str(Label("@google_truth_0_28//jar"))] = "mvn:com.google.truth:truth:jar:0.28"
+artifact_map[str(Label("@google_code_findbugs_3_0_0//jar"))] = "mvn:com.google.code.findbugs:jsr305:jar:3.0.0"
+artifact_map[str(Label("@google_errorprone_2_0_19//jar"))] = "mvn:com.google.errorprone:error_prone_annotations:jar:2.0.19"
+artifact_map[str(Label("@google_instrumentation_0_3_0//jar"))] = "mvn:com.google.instrumentation:instrumentation-api:jar:0.3.0"
+artifact_map[str(Label("@bcpkix_jdk15on//jar"))] = "mvn:org.bouncycastle:bcpkix-jdk15on:jar:1.59"
+artifact_map[str(Label("@bcprov_jdk15on//jar"))] = "mvn:org.bouncycastle:bcprov-jdk15on:jar:1.59"
+artifact_map[str(Label("@hamcrest_optional//jar"))] = "mvn:com.spotify:hamcrest-optional:jar:1.1.0"
+artifact_map[str(Label("@swagger_annotations//jar"))] = "mvn:io.swagger:swagger-annotations:jar:1.5.16"
+artifact_map[str(Label("@kafka_clients//jar"))] = "mvn:org.apache.servicemix.bundles:org.apache.servicemix.bundles.kafka-clients:jar:0.8.2.2_1"
+artifact_map[str(Label("@tinder_xmpp//jar"))] = "mvn:org.igniterealtime:tinder:jar:1.3.0"
+artifact_map[str(Label("@aalto_xml//jar"))] = "mvn:com.fasterxml:aalto-xml:jar:1.0.0"
+artifact_map[str(Label("@stax2_api//jar"))] = "mvn:org.codehaus.woodstox:stax2-api:jar:4.0.0"
+artifact_map[str(Label("@concurrent_hashmap//jar"))] = "mvn:com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:jar:1.0"
+artifact_map[str(Label("@gnu_idn//jar"))] = "mvn:org.gnu.inet:libidn:jar:1.15"
+artifact_map[str(Label("@sigar//jar"))] = "mvn:org.knowhowlab.osgi:sigar:jar:1.6.5_01"
+
+def maven_coordinates(label):
+    label_string = str(label)
+    if label_string in artifact_map:
+        return artifact_map[label_string]
+    else:
+        return "%s:%s:%s" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)
diff --git a/tools/build/bazel/variables.bzl b/tools/build/bazel/variables.bzl
index 74b526e..ee80f7a 100644
--- a/tools/build/bazel/variables.bzl
+++ b/tools/build/bazel/variables.bzl
@@ -1 +1,2 @@
 ONOS_VERSION = "1.14.0-SNAPSHOT"
+ONOS_GROUP_ID = "org.onosproject"
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java
index d0257e4..b2c7f15 100644
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckArtifact.java
@@ -79,6 +79,10 @@
         return null;
     }
 
+    String bazelExport() {
+        return "@" + jarTarget() + "//jar";
+    }
+
     private boolean isJar() {
         return fileName().endsWith(".jar");
     }
diff --git a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java
index 7ba4ca5..070572a 100644
--- a/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java
+++ b/tools/build/libgen/src/main/java/org/onosproject/libgen/BuckLibGenerator.java
@@ -197,6 +197,25 @@
         return sb.toString();
     }
 
+    private String generateArtifactMap() {
+        StringBuilder artifactMap = new StringBuilder();
+
+        artifactMap.append("\nartifact_map = {}");
+
+        artifacts.forEach(artifact -> {
+            artifactMap.append("\nartifact_map[str(Label(\"" + artifact.bazelExport() + "\"))] = \"" + artifact.url() + "\"");
+        });
+
+        artifactMap.append("\n\ndef maven_coordinates(label):\n" +
+                "    label_string = str(label)\n" +
+                "    if label_string in artifact_map:\n" +
+                "        return artifact_map[label_string]\n" +
+                "    else:\n" +
+                "        return \"%s:%s:%s\" % (ONOS_GROUP_ID, label.name, ONOS_VERSION)\n");
+
+        return artifactMap.toString();
+    }
+
     void write(String outputFilePath) {
         DateTimeFormatter formatter = DateTimeFormatter.RFC_1123_DATE_TIME.withZone(ZoneId.of("UTC"));
         File outputFile = new File(outputFilePath);
@@ -218,10 +237,15 @@
                         "    out = 'onos-dependencies.pom',\n" +
                         "    artifactId = 'onos-dependencies',\n" +
                         ")\n\n");
+            } else {
+                writer.write("\nload(\"//tools/build/bazel:variables.bzl\", \"ONOS_GROUP_ID\", \"ONOS_VERSION\")\n");
             }
 
             libraries.forEach(library -> writer.print(library.getFragment()));
             writer.print(generateArtifacts());
+            if (generateForBazel) {
+                writer.print(generateArtifactMap());
+            }
             writer.flush();
         } catch (FileNotFoundException e) {
             error("File not found: %s", outputFilePath);