@@ -14,11 +14,7 @@ def _opa_check_test_impl(ctx):
1414 if ctx .files .schema_files :
1515 files .extend (ctx .files .schema_files )
1616
17- runfiles = ctx .runfiles (
18- files = files ,
19- )
20-
21- args = []
17+ args = ["set -xe\n " ]
2218
2319 args .append (toolchain .opa .short_path )
2420 args .append ("check" )
@@ -29,19 +25,27 @@ def _opa_check_test_impl(ctx):
2925 args .append ("-s" )
3026 args .append ("%s/" % (ctx .file .schema_dir .short_path ))
3127 elif ctx .files .schema_files :
32- for f in ctx .files .schema_files :
33- args .append ("-s" )
34- args .append (f .short_path )
28+ args .insert (1 , "schema_dir=`mktemp -d`\n " )
29+ args .insert (2 , "cp %s $schema_dir\n " % (" " .join ([f .short_path for f in ctx .files .schema_files ])))
30+ args .append ("-s" )
31+ args .append ("$schema_dir" )
3532
3633 if ctx .file .capabilities :
3734 args .append ("--capabilities" )
3835 args .append (ctx .file .capabilities .short_path )
3936
37+ if ctx .attr .strict :
38+ args .append ("--strict" )
39+
4040 ctx .actions .write (
4141 output = tester_file ,
4242 content = " " .join (args ),
4343 )
4444
45+ runfiles = ctx .runfiles (
46+ files = files ,
47+ )
48+
4549 return [
4650 DefaultInfo (
4751 executable = tester_file ,
@@ -71,6 +75,9 @@ _opa_check_test = rule(
7175 providers = [ProtoInfo ],
7276 doc = "Protobuf definition to generate json schemas" ,
7377 ),
78+ "strict" : attr .bool (
79+ doc = "enable compiler strict mode" ,
80+ ),
7481 "capabilities" : attr .label (
7582 doc = "set capabilities.json file path" ,
7683 allow_single_file = True ,
0 commit comments