diff --git a/tools/build/bazel/empty_jar.bzl b/tools/build/bazel/empty_jar.bzl
new file mode 100644
index 0000000..502c304
--- /dev/null
+++ b/tools/build/bazel/empty_jar.bzl
@@ -0,0 +1,32 @@
+# Copyright 2015 The Bazel Authors. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+def _impl(ctx):
+    dir = ctx.label.name
+    jar = ctx.outputs.jar
+
+    cmd = [
+        "touch %s" % (jar.path),
+    ]
+
+    ctx.action(
+        outputs = [jar],
+        progress_message = "Generating empty jar for %s" % ctx.attr.name,
+        command = ";\n".join(cmd),
+    )
+
+empty_jar = rule(
+    implementation = _impl,
+    outputs = {"jar": "%{name}.jar"},
+)
diff --git a/tools/build/bazel/osgi_java_library.bzl b/tools/build/bazel/osgi_java_library.bzl
index beba414..eddf4ac 100644
--- a/tools/build/bazel/osgi_java_library.bzl
+++ b/tools/build/bazel/osgi_java_library.bzl
@@ -22,6 +22,7 @@
 load("//tools/build/bazel:java_sources.bzl", "java_sources")
 load("//tools/build/bazel:java_sources.bzl", "java_sources_alt")
 load("//tools/build/bazel:javadoc.bzl", "javadoc")
+load("//tools/build/bazel:empty_jar.bzl", "empty_jar")
 load("@io_grpc_grpc_java//:java_grpc_library.bzl", "java_grpc_library")
 
 def _auto_name():
@@ -384,6 +385,8 @@
             deps = deps,
             visibility = visibility,
         )
+    empty_jar(name = name + "-sources", visibility = visibility)
+    empty_jar(name = name + "-javadoc", visibility = visibility)
 
 """
     Creates an OSGI jar and test jar file from a set of source and test files.
@@ -541,6 +544,9 @@
     # rule for building javadocs
     if not suppress_javadocs:
         javadoc(name = name + "-javadoc", deps = deps, srcs = srcs, visibility = visibility)
+    else:
+        empty_jar(name = name + "-javadoc", visibility = visibility)
+        empty_jar(name = name + "-sources", visibility = visibility)
 
     if test_srcs != []:
         native.java_library(
