xref: /aosp_15_r20/external/wycheproof/local_repository_defs.bzl (revision 3d322d526be0ef039eebde10aa6ae75db8cc3a3d)
1*3d322d52SAndroid Build Coastguard Worker_bouncycastle_jar_rule = """
2*3d322d52SAndroid Build Coastguard Workerjava_import(
3*3d322d52SAndroid Build Coastguard Worker    name = "bouncycastle_jar",
4*3d322d52SAndroid Build Coastguard Worker    jars = ["bouncycastle.jar"],
5*3d322d52SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
6*3d322d52SAndroid Build Coastguard Worker )
7*3d322d52SAndroid Build Coastguard Worker"""
8*3d322d52SAndroid Build Coastguard Worker
9*3d322d52SAndroid Build Coastguard Worker# TODO(ekasper): implement environment invalidation once supported by bazel,
10*3d322d52SAndroid Build Coastguard Worker# see https://bazel.build/designs/2016/10/18/repository-invalidation.html
11*3d322d52SAndroid Build Coastguard Worker# Meanwhile, users have to call 'bazel clean' explicitly when the
12*3d322d52SAndroid Build Coastguard Worker# environment changes.
13*3d322d52SAndroid Build Coastguard Workerdef _local_jars_impl(repository_ctx):
14*3d322d52SAndroid Build Coastguard Worker  contents = ""
15*3d322d52SAndroid Build Coastguard Worker  if "WYCHEPROOF_BOUNCYCASTLE_JAR" in repository_ctx.os.environ:
16*3d322d52SAndroid Build Coastguard Worker    repository_ctx.symlink(repository_ctx.os.environ["WYCHEPROOF_BOUNCYCASTLE_JAR"],
17*3d322d52SAndroid Build Coastguard Worker                           "bouncycastle.jar")
18*3d322d52SAndroid Build Coastguard Worker    contents += _bouncycastle_jar_rule
19*3d322d52SAndroid Build Coastguard Worker
20*3d322d52SAndroid Build Coastguard Worker  repository_ctx.file("BUILD", contents)
21*3d322d52SAndroid Build Coastguard Worker
22*3d322d52SAndroid Build Coastguard Workerlocal_jars = repository_rule(
23*3d322d52SAndroid Build Coastguard Worker    implementation = _local_jars_impl,
24*3d322d52SAndroid Build Coastguard Worker    local = True
25*3d322d52SAndroid Build Coastguard Worker)
26