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