@@ -53,6 +53,10 @@ _extractor_name_prefix = "%s-%s" % (
5353 "embeddable" if _for_embeddable else "standalone" ,
5454)
5555
56+ _compiler_plugin_registrar_service_source = "src/main/resources/META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar"
57+
58+ _compiler_plugin_registrar_service_target = "META-INF/services/org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar"
59+
5660py_binary (
5761 name = "generate_dbscheme" ,
5862 srcs = ["generate_dbscheme.py" ],
@@ -64,8 +68,14 @@ _resources = [
6468 r [len ("src/main/resources/" ):],
6569 )
6670 for r in glob (["src/main/resources/**" ])
71+ if r != _compiler_plugin_registrar_service_source
6772]
6873
74+ _compiler_plugin_registrar_service = (
75+ _compiler_plugin_registrar_service_source ,
76+ _compiler_plugin_registrar_service_target ,
77+ )
78+
6979kt_javac_options (
7080 name = "javac-options" ,
7181 release = "8" ,
@@ -91,19 +101,32 @@ kt_javac_options(
91101 # * `resource_strip_prefix` is unique per jar, so we must also put other resources under the same version prefix
92102 genrule (
93103 name = "resources-%s" % v ,
94- srcs = [src for src , _ in _resources ],
104+ srcs = [src for src , _ in _resources ] + (
105+ [_compiler_plugin_registrar_service [0 ]] if not version_less (v , "2.4.0" ) else []
106+ ),
95107 outs = [
96108 "%s/com/github/codeql/extractor.name" % v ,
97109 ] + [
98110 "%s/%s" % (v , target )
99111 for _ , target in _resources
100- ],
112+ ] + (
113+ ["%s/%s" % (
114+ v ,
115+ _compiler_plugin_registrar_service [1 ],
116+ )] if not version_less (v , "2.4.0" ) else []
117+ ),
101118 cmd = "\n " .join ([
102119 "echo %s-%s > $(RULEDIR)/%s/com/github/codeql/extractor.name" % (_extractor_name_prefix , v , v ),
103120 ] + [
104121 "cp $(execpath %s) $(RULEDIR)/%s/%s" % (source , v , target )
105122 for source , target in _resources
106- ]),
123+ ] + (
124+ ["cp $(execpath %s) $(RULEDIR)/%s/%s" % (
125+ _compiler_plugin_registrar_service [0 ],
126+ v ,
127+ _compiler_plugin_registrar_service [1 ],
128+ )] if not version_less (v , "2.4.0" ) else []
129+ )),
107130 ),
108131 kt_jvm_library (
109132 name = "%s-%s" % (_extractor_name_prefix , v ),
0 commit comments