Skip to content

Commit 0c3f9d9

Browse files
Daniel9zfacebook-github-bot
authored andcommitted
Revert D69399086: pass language version as a parameter
Differential Revision: D69399086 Original commit changeset: c40baeb6d327 Original Phabricator Diff: D69399086 fbshipit-source-id: ef333d53fb51d0ecd31182591eb03b9faba136c1
1 parent 1c1a05b commit 0c3f9d9

File tree

2 files changed

+10
-22
lines changed

2 files changed

+10
-22
lines changed

prelude/kotlin/kotlin_library.bzl

Lines changed: 9 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ def _create_kotlin_sources(
112112
module_name,
113113
"-no-stdlib",
114114
"-no-reflect",
115-
] + ctx.attrs.extra_kotlinc_arguments + get_language_version_arg(ctx),
115+
] + ctx.attrs.extra_kotlinc_arguments + get_language_version(ctx),
116116
)
117117

118118
jvm_target = get_kotlinc_compatible_target(ctx.attrs.target) if ctx.attrs.target else None
@@ -271,8 +271,9 @@ def _add_plugins(
271271

272272
return _PluginCmdArgs(kotlinc_cmd_args = kotlinc_cmd_args, compile_kotlin_cmd = compile_kotlin_cmd)
273273

274-
def get_language_version(ctx: AnalysisContext) -> str:
274+
def get_language_version(ctx: AnalysisContext) -> list:
275275
kotlin_toolchain = ctx.attrs._kotlin_toolchain[KotlinToolchainInfo]
276+
language_version_kotlinc_arguments = []
276277

277278
# kotlin compiler expects relase version of format 1.6, 1.7, etc. Don't include patch version
278279
current_kotlin_release_version = ".".join(kotlin_toolchain.kotlin_version.split(".")[:2])
@@ -286,24 +287,17 @@ def get_language_version(ctx: AnalysisContext) -> str:
286287
if ctx.attrs.k2 == True and kotlin_toolchain.allow_k2_usage:
287288
if not current_language_version or current_language_version < "2.0":
288289
if current_kotlin_release_version < "2.0":
289-
current_language_version = "2.0"
290+
language_version_kotlinc_arguments.append("-language-version=2.0")
290291
else:
291-
current_language_version = current_kotlin_release_version
292+
language_version_kotlinc_arguments.append("-language-version=" + current_kotlin_release_version)
292293
else: # use K1
293294
if not current_language_version or current_language_version >= "2.0":
294295
if current_kotlin_release_version >= "2.0":
295-
current_language_version = "1.9"
296+
language_version_kotlinc_arguments.append("-language-version=1.9")
296297
else:
297-
current_language_version = current_kotlin_release_version
298+
language_version_kotlinc_arguments.append("-language-version=" + current_kotlin_release_version)
298299

299-
return current_language_version
300-
301-
def get_language_version_arg(ctx: AnalysisContext) -> list[str]:
302-
language_version = get_language_version(ctx)
303-
return ["-language-version=" + language_version]
304-
305-
def filter_out_language_version(extra_arguments: list) -> list:
306-
return [arg for arg in extra_arguments if not (isinstance(arg, str) and "-language-version" in arg)]
300+
return language_version_kotlinc_arguments
307301

308302
def kotlin_library_impl(ctx: AnalysisContext) -> list[Provider]:
309303
packaging_deps = ctx.attrs.deps + ctx.attrs.exported_deps + ctx.attrs.runtime_deps
@@ -448,7 +442,7 @@ def build_kotlin_library(
448442
"debug_port": getattr(ctx.attrs, "debug_port", None),
449443
"deps": deps + [kotlin_toolchain.kotlin_stdlib],
450444
"enable_used_classes": ctx.attrs.enable_used_classes,
451-
"extra_kotlinc_arguments": filter_out_language_version(ctx.attrs.extra_kotlinc_arguments or []),
445+
"extra_kotlinc_arguments": (ctx.attrs.extra_kotlinc_arguments or []) + get_language_version(ctx),
452446
"friend_paths": ctx.attrs.friend_paths,
453447
"is_building_android_binary": ctx.attrs._is_building_android_binary,
454448
"jar_postprocessor": ctx.attrs.jar_postprocessor[RunInfo] if hasattr(ctx.attrs, "jar_postprocessor") and ctx.attrs.jar_postprocessor else None,
@@ -457,7 +451,6 @@ def build_kotlin_library(
457451
"kotlin_compiler_plugins": ctx.attrs.kotlin_compiler_plugins,
458452
"kotlin_toolchain": kotlin_toolchain,
459453
"label": ctx.label,
460-
"language_version": get_language_version(ctx),
461454
"manifest_file": ctx.attrs.manifest_file,
462455
"remove_classes": ctx.attrs.remove_classes,
463456
"required_for_source_only_abi": ctx.attrs.required_for_source_only_abi,

prelude/kotlin/kotlincd_jar_creator.bzl

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@ def create_jar_artifact_kotlincd(
7474
extra_kotlinc_arguments: list,
7575
incremental: bool,
7676
enable_used_classes: bool,
77-
language_version: str,
7877
is_creating_subtarget: bool = False,
7978
optional_dirs: list[OutputArtifact] = [],
8079
jar_postprocessor: [RunInfo, None] = None,
@@ -159,7 +158,6 @@ def create_jar_artifact_kotlincd(
159158
actual_abi_generation_mode = actual_abi_generation_mode,
160159
should_kotlinc_run_incrementally = should_kotlinc_run_incrementally,
161160
incremental_state_dir = incremental_state_dir,
162-
language_version = language_version,
163161
)
164162

165163
library_command_builder = command_builder(
@@ -212,7 +210,6 @@ def create_jar_artifact_kotlincd(
212210
actual_abi_generation_mode = actual_abi_generation_mode,
213211
should_kotlinc_run_incrementally = False,
214212
incremental_state_dir = None,
215-
language_version = language_version,
216213
)
217214
abi_command_builder = command_builder(
218215
kotlin_extra_params = kotlin_extra_params,
@@ -272,8 +269,7 @@ def _encode_kotlin_extra_params(
272269
should_use_jvm_abi_gen: bool,
273270
actual_abi_generation_mode: AbiGenerationMode,
274271
should_kotlinc_run_incrementally: bool,
275-
incremental_state_dir: Artifact | None,
276-
language_version: str):
272+
incremental_state_dir: Artifact | None):
277273
kosabiPluginOptionsMap = {}
278274
if kotlin_toolchain.kosabi_stubs_gen_plugin != None:
279275
kosabiPluginOptionsMap["kosabi_stubs_gen_plugin"] = kotlin_toolchain.kosabi_stubs_gen_plugin
@@ -307,7 +303,6 @@ def _encode_kotlin_extra_params(
307303
shouldKotlincRunIncrementally = should_kotlinc_run_incrementally,
308304
incrementalStateDir = incremental_state_dir.as_output() if incremental_state_dir else None,
309305
shouldUseStandaloneKosabi = kotlin_toolchain.kosabi_standalone,
310-
languageVersion = language_version,
311306
)
312307

313308
def _command_builder(

0 commit comments

Comments
 (0)