import os original_java_library = java_library def java_library( name, srcs=[], **kwargs ): original_java_library( name=name, srcs=srcs, **kwargs ) create_infer_genrule(name, srcs) original_android_library = android_library def android_library( name, srcs=[], **kwargs ): original_android_library( name=name, srcs=srcs, **kwargs ) create_infer_genrule(name, srcs) def create_infer_genrule( name, srcs ): genrule_name = name + '_infer' genrule( name = genrule_name, srcs=srcs, cmd = ' '.join([ os.getenv('INFER_BIN', 'infer'), '--results-dir', '$OUT', '--classpath', '$(classpath :{})'.format(name), '--sourcepath', '$SRCDIR', '--generated-classes', '$(location :{})'.format(name), ]), out = 'infer_out', )