diff --git a/BUCK b/BUCK
index a16a273..773e0c6 100644
--- a/BUCK
+++ b/BUCK
@@ -58,3 +58,13 @@
                'tools/build/envDefaults'
            ],
 )
+
+only_lib_dep_pom(
+    name = 'top-level-pom',
+    src = 'pom.xml',
+    out = 'onos.pom',
+)
+
+
+
+
diff --git a/bucklets/onos.bucklet b/bucklets/onos.bucklet
index 16d0b52..f141e85 100644
--- a/bucklets/onos.bucklet
+++ b/bucklets/onos.bucklet
@@ -325,3 +325,44 @@
        out = out if out is not None else ( root if root is not None else name ) + '.tar.gz',
        visibility = visibility,
    )
+
+def only_lib_dep_pom(
+    name,
+    src,
+    out,
+    version = ONOS_VERSION,
+    onosGroupId = ONOS_GROUP_ID,
+    visibility = [ 'PUBLIC' ],
+    ):
+
+    cmd = 'grep -v \<module\> ' + src + ' | sed "s/\<modules\>/\<\modules\>\<module\>lib\<\/module\>/" >$OUT'
+
+    genrule(
+        name = name,
+        srcs = [ src ],
+        bash = cmd,
+        out = out,
+        visibility = visibility,
+        maven_coords = onosGroupId + ':onos:pom:' + version,
+    )
+
+def pass_thru_pom(
+    name,
+    src,
+    out,
+    artifactId,
+    version = ONOS_VERSION,
+    onosGroupId = ONOS_GROUP_ID,
+    visibility = [ 'PUBLIC' ],
+    ):
+
+    cmd = 'cp ' + src + ' $OUT'
+
+    genrule(
+        name = name,
+        srcs = [ src ],
+        bash = cmd,
+        out = out,
+        visibility = visibility,
+        maven_coords = onosGroupId + ':' + artifactId + ':pom:' + version,
+    )
diff --git a/lib/BUCK b/lib/BUCK
index c357a13..abb2826 100644
--- a/lib/BUCK
+++ b/lib/BUCK
@@ -1,5 +1,13 @@
-# ***** This file was auto-generated at Thu Jan 26 15:48:58 PST 2017. Do not edit this file manually. *****
+# ***** This file was auto-generated at Thu Jan 26 16:50:25 PST 2017. Do not edit this file manually. *****
 # ***** Use onos-lib-gen *****
+
+pass_thru_pom( 
+    name = 'onos-dependencies-pom',
+    src = 'pom.xml',
+    out = 'onos-dependencies.pom',
+    artifactId = 'onos-dependencies',
+)
+
 osgi_feature_group(
   name = 'COMPILE',
   visibility = ['PUBLIC'],
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 5b67a5c..f05593d 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
@@ -175,6 +175,16 @@
                     "# ***** This file was auto-generated at %s. Do not edit this file manually. *****\n",
                     new Date().toString()));
             writer.write("# ***** Use onos-lib-gen *****\n");
+
+            // rule to publish the onos dependency pom
+            writer.write("\npass_thru_pom( \n" +
+                         "    name = 'onos-dependencies-pom',\n" +
+                         "    src = 'pom.xml',\n" +
+                         "    out = 'onos-dependencies.pom',\n" +
+                         "    artifactId = 'onos-dependencies',\n" +
+                         ")\n\n");
+
+
             libraries.forEach(library -> writer.print(library.getBuckFragment()));
             artifacts.forEach(artifact -> writer.print(artifact.getBuckFragment()));
             writer.flush();
diff --git a/tools/build/onos-buck-publish b/tools/build/onos-buck-publish
index 0d82c1c..2b137f8 100755
--- a/tools/build/onos-buck-publish
+++ b/tools/build/onos-buck-publish
@@ -39,5 +39,9 @@
 cat $TEST_PUB
 bash $TEST_PUB
 
+# stage ONOS poms
+onos-buck publish --to-maven-central --sign //:top-level-pom
+onos-buck publish --to-maven-central --sign //lib:onos-dependencies-pom
+
 # Close the staging area
 onos-close-staging
