@@ -2,38 +2,16 @@ load("@io_bazel_rules_scala//scala:jars_to_labels.bzl", "JarsToLabelsInfo")
22load ("//scala/settings:stamp_settings.bzl" , "StampScalaImport" )
33
44def _stamp_jar (ctx , jar ):
5- stamped_jar_filename = "%s.stamp/%s-stamped.jar" % (ctx .label .name , jar .basename .rstrip (".jar" ))
6-
7- # Preferred way, but currently broken:
8- # java toolchain's ijar incorrectly handles MANIFEST sections
9- # https://github.com/bazelbuild/bazel/issues/12730
10- # symlink_file = ctx.actions.declare_file(jar.basename)
11- # ctx.actions.symlink(output = symlink_file, target_file = jar)
12- # return java_common.stamp_jar(
13- # actions = ctx.actions,
14- # jar = symlink_file,
15- # target_label = ctx.label,
16- # java_toolchain = ctx.attr._java_toolchain[java_common.JavaToolchainInfo],
17- # )
18-
19- stamped_file = ctx .actions .declare_file (stamped_jar_filename )
20-
21- ctx .actions .run (
22- executable = ctx .executable ._ijar ,
23- inputs = [jar ],
24- outputs = [stamped_file ],
25- arguments = [
26- "--nostrip_jar" ,
27- "--target_label" ,
28- str (ctx .label ),
29- jar .path ,
30- stamped_file .path ,
31- ],
32- mnemonic = "StampWithIjar" ,
5+ stamped_jar_filename = "%s.stamp/%s" % (ctx .label .name , jar .basename )
6+ symlink_file = ctx .actions .declare_file (stamped_jar_filename )
7+ ctx .actions .symlink (output = symlink_file , target_file = jar )
8+ return java_common .stamp_jar (
9+ actions = ctx .actions ,
10+ jar = symlink_file ,
11+ target_label = ctx .label ,
12+ java_toolchain = ctx .attr ._java_toolchain [java_common .JavaToolchainInfo ],
3313 )
3414
35- return stamped_file
36-
3715# intellij part is tested manually, tread lightly when changing there
3816# if you change make sure to manually re-import an intellij project and see imports
3917# are resolved (not red) and clickable
@@ -157,15 +135,12 @@ scala_import = rule(
157135 allow_single_file = True ,
158136 default = Label ("@io_bazel_rules_scala//scala:libPlaceHolderClassToCreateEmptyJarForScalaImport.jar" ),
159137 ),
160- "_ijar" : attr .label (
161- default = Label ("@bazel_tools//tools/jdk:ijar" ),
162- executable = True ,
163- cfg = "exec" ,
164- allow_files = True ,
165- ),
166138 "stamp" : attr .label (
167139 doc = "Adds Target-Label attribute to MANIFEST.MF for dep tracking" ,
168140 default = Label ("@io_bazel_rules_scala//scala/settings:stamp_scala_import" ),
169141 ),
142+ "_java_toolchain" : attr .label (
143+ default = Label ("@bazel_tools//tools/jdk:current_java_toolchain" ),
144+ ),
170145 },
171146)
0 commit comments