You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.0 KiB

import os
analyzers = ['checkers']
original_java_library = java_library
def java_library(
name,
srcs=[],
**kwargs
):
original_java_library(
name=name,
srcs=srcs,
**kwargs
)
create_genrules(name, srcs)
original_android_library = android_library
def android_library(
name,
srcs=[],
**kwargs
):
original_android_library(
name=name,
srcs=srcs,
**kwargs
)
create_genrules(name, srcs)
def create_genrules(
name,
srcs
):
if 'GENERATE_INFER_GENRULES' in os.environ and srcs:
for analyzer in analyzers:
analyzer_name = name + '_{}'.format(analyzer)
genrule(
name = analyzer_name,
srcs=srcs,
cmd = ' '.join([
os.getenv('INFER_BIN', 'infer'),
'-a', analyzer,
'--results-dir', '$OUT',
'--classpath', '$(classpath :{})'.format(name),
'--sourcepath', '$SRCDIR',
'--generated-classes', '$(location :{})'.format(name),
]),
out = '{}_out'.format(analyzer),
)