33#
44# DOCUMENT THIS
55#
6- load ("@bazel_skylib//lib:dicts.bzl" , "dicts" )
76load ("@bazel_tools//tools/jdk:toolchain_utils.bzl" , "find_java_runtime_toolchain" , "find_java_toolchain" )
8- load (
9- "@io_bazel_rules_scala//scala/private:coverage_replacements_provider.bzl" ,
10- _coverage_replacements_provider = "coverage_replacements_provider" ,
11- )
127load (
138 "@io_bazel_rules_scala//scala/private:paths.bzl" ,
149 _get_files_with_extension = "get_files_with_extension" ,
2318)
2419load (":resources.bzl" , _resource_paths = "paths" )
2520
26- _empty_coverage_struct = struct (
27- external = struct (
28- replacements = {},
29- ),
30- providers_dict = {},
31- )
32-
3321def phase_compile_binary (ctx , p ):
3422 args = struct (
3523 buildijar = False ,
@@ -164,13 +152,12 @@ def _phase_compile(
164152
165153 # TODO: simplify the return values and use provider
166154 return struct (
167- coverage = out .coverage .external ,
168155 files = depset (out .full_jars ),
169156 rjars = depset (out .full_jars , transitive = [rjars ]),
170157 merged_provider = out .merged_provider ,
171- external_providers = dicts . add ( out . coverage . providers_dict , {
158+ external_providers = {
172159 "JavaInfo" : out .merged_provider ,
173- }) ,
160+ },
174161 )
175162
176163def _compile_or_empty (
@@ -194,7 +181,6 @@ def _compile_or_empty(
194181
195182 # no need to build ijar when empty
196183 return struct (
197- coverage = _empty_coverage_struct ,
198184 full_jars = [ctx .outputs .jar ],
199185 merged_provider = scala_compilation_provider ,
200186 )
@@ -265,15 +251,12 @@ def _compile_or_empty(
265251 if java_jar :
266252 full_jars += [java_jar .jar ]
267253
268- coverage = _jacoco_offline_instrument (ctx , ctx .outputs .jar )
269-
270254 if java_jar :
271255 merged_provider = java_common .merge ([scala_compilation_provider , java_jar .java_compilation_provider ])
272256 else :
273257 merged_provider = scala_compilation_provider
274258
275259 return struct (
276- coverage = coverage ,
277260 full_jars = full_jars ,
278261 merged_provider = merged_provider ,
279262 )
@@ -339,54 +322,6 @@ def _pack_source_jar(ctx, scala_srcs, in_srcjars):
339322 host_javabase = find_java_runtime_toolchain (ctx , ctx .attr ._host_javabase ),
340323 )
341324
342- def _jacoco_offline_instrument (ctx , input_jar ):
343- if not ctx .configuration .coverage_enabled or not hasattr (ctx .attr , "_code_coverage_instrumentation_worker" ):
344- return _empty_coverage_struct
345-
346- output_jar = ctx .actions .declare_file (
347- "{}-offline.jar" .format (input_jar .basename .split ("." )[0 ]),
348- )
349- in_out_pairs = [
350- (input_jar , output_jar ),
351- ]
352-
353- args = ctx .actions .args ()
354- args .add_all (in_out_pairs , map_each = _jacoco_offline_instrument_format_each )
355- args .set_param_file_format ("multiline" )
356- args .use_param_file ("@%s" , use_always = True )
357-
358- ctx .actions .run (
359- mnemonic = "JacocoInstrumenter" ,
360- inputs = [in_out_pair [0 ] for in_out_pair in in_out_pairs ],
361- outputs = [in_out_pair [1 ] for in_out_pair in in_out_pairs ],
362- executable = ctx .attr ._code_coverage_instrumentation_worker .files_to_run ,
363- execution_requirements = {"supports-workers" : "1" },
364- arguments = [args ],
365- )
366-
367- replacements = {i : o for (i , o ) in in_out_pairs }
368- provider = _coverage_replacements_provider .create (
369- replacements = replacements ,
370- )
371- instrumented_files_provider = coverage_common .instrumented_files_info (
372- ctx ,
373- source_attributes = ["srcs" ],
374- dependency_attributes = _coverage_replacements_provider .dependency_attributes ,
375- extensions = ["scala" , "java" ],
376- )
377- return struct (
378- external = struct (
379- replacements = replacements ,
380- ),
381- providers_dict = {
382- "_CoverageReplacements" : provider ,
383- "InstrumentedFilesInfo" : instrumented_files_provider ,
384- },
385- )
386-
387- def _jacoco_offline_instrument_format_each (in_out_pair ):
388- return (["%s=%s" % (in_out_pair [0 ].path , in_out_pair [1 ].path )])
389-
390325def _try_to_compile_java_jar (
391326 ctx ,
392327 scala_output ,
0 commit comments