diff --git a/java/common/rules/impl/bazel_java_import_impl.bzl b/java/common/rules/impl/bazel_java_import_impl.bzl
index 2a107a1..c402fc4 100644
--- a/java/common/rules/impl/bazel_java_import_impl.bzl
+++ b/java/common/rules/impl/bazel_java_import_impl.bzl
@@ -63,11 +63,10 @@
 
     return file_dict
 
-def _check_export_error(ctx, exports):
-    not_in_allowlist = hasattr(ctx.attr, "_allowlist_java_import_exports") and not getattr(ctx.attr, "_allowlist_java_import_exports")[PackageSpecificationInfo].contains(ctx.label)
+def _check_export_error(ctx, exports, permit_exports):
     disallow_java_import_exports = ctx.fragments.java.disallow_java_import_exports()
 
-    if len(exports) != 0 and (disallow_java_import_exports or not_in_allowlist):
+    if len(exports) != 0 and (disallow_java_import_exports or not permit_exports):
         fail("java_import.exports is no longer supported; use java_import.deps instead")
 
 def _check_empty_jars_error(ctx, jars):
@@ -84,7 +83,9 @@
         neverlink = False,
         proguard_specs = [],
         add_exports = [],
-        add_opens = []):
+        add_opens = [],
+        permit_exports = True,
+        skip_incomplete_deps_check = True):
     """Implements java_import.
 
     This rule allows the use of precompiled .jar files as libraries in other Java rules.
@@ -100,6 +101,8 @@
       proguard_specs: (list[File]) Files to be used as Proguard specification.
       add_exports: (list[str]) Allow this library to access the given <module>/<package>.
       add_opens: (list[str]) Allow this library to reflectively access the given <module>/<package>.
+      permit_exports: (bool) Allow using exports
+      skip_incomplete_deps_check: (bool) If this target is allowed to have incomplete deps
 
     Returns:
       (list[provider]) A list containing DefaultInfo, JavaInfo,
@@ -107,15 +110,14 @@
     """
 
     _check_empty_jars_error(ctx, jars)
-    _check_export_error(ctx, exports)
+    _check_export_error(ctx, exports, permit_exports)
 
     collected_jars = _collect_jars(ctx, jars)
     all_deps = _filter_provider(JavaInfo, deps, exports)
 
     jdeps_artifact = None
     merged_java_info = java_common.merge(all_deps)
-    not_in_allowlist = hasattr(ctx.attr, "_allowlist_java_import_deps_checking") and not ctx.attr._allowlist_java_import_deps_checking[PackageSpecificationInfo].contains(ctx.label)
-    if not_in_allowlist and "incomplete-deps" not in ctx.attr.tags:
+    if not skip_incomplete_deps_check and "incomplete-deps" not in ctx.attr.tags:
         jdeps_artifact = import_deps_check(
             ctx,
             collected_jars,
