Conversation
MODULE.bazel
Outdated
| bazel_dep(name = "rules_cc", version = "0.0.9") | ||
| bazel_dep(name = "platforms", version = "0.0.8") | ||
| bazel_dep(name = "rules_python", version = "0.27.1") | ||
| bazel_dep(name = "rules_go", version = "0.43.0") |
# Conflicts: # MODULE.bazel
# Conflicts: # protocol/src/main/kotlin/org/jetbrains/bsp/utils/Extractors.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/bsp/managers/BazelBspLanguageExtensionsGenerator.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/common/ServerContainer.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/languages/LanguagePluginsService.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/model/Language.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/proto/bsp_target_info.proto # server/src/test/kotlin/org/jetbrains/bsp/bazel/server/sync/languages/LanguagePluginServiceTest.kt
abrams27
left a comment
There was a problem hiding this comment.
some small things, so far looks good
aspects/rules/go/go_info.bzl
Outdated
| load("//aspects:utils/utils.bzl", "create_proto", "create_struct", "file_location") | ||
| load("@io_bazel_rules_go//go:def.bzl", "go_context") | ||
|
|
||
| def extract_sdk(ctx): |
There was a problem hiding this comment.
let's put an _ to mark that's "private" and put the definition below its usage - so just put it under the extract_go_info
| return None | ||
| return file_location(go.sdk.go) | ||
|
|
||
| def extract_go_info(target, ctx, **kwargs): |
There was a problem hiding this comment.
you also need to check is it a go target (we usually check is there a language provider in the target, if not then we return None, None)
aspects/rules/go/go_info.bzl
Outdated
| return file_location(go.sdk.go) | ||
|
|
||
| def extract_go_info(target, ctx, **kwargs): | ||
| importpath = getattr(ctx.rule.attr, "importpath", []) |
There was a problem hiding this comment.
importpath is a string, so the default fallback should be an empty string (or none)
|
|
||
| data class GoBuildTarget( | ||
| val sdkHomePath: URI?, | ||
| val importPath: String?, |
There was a problem hiding this comment.
question is: can target have no import path?
| data class GoModule ( | ||
| val sdkHomePath: URI?, | ||
| val importPath: String?, | ||
| ): LanguageData No newline at end of file |
| val goSdkDir = goBinaryPath.parent.parent | ||
| goSdkDir.toUri() | ||
| } | ||
| } No newline at end of file |
|
plus you can also rebase it and try to add e2e tests |
# Conflicts: # MODULE.bazel.lock # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/bsp/managers/BazelBspLanguageExtensionsGenerator.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BazelProjectMapper.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/TargetInfoReader.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/model/Language.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/proto/bsp_target_info.proto
server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BazelProjectMapper.kt
Show resolved
Hide resolved
…k/go-support # Conflicts: # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/BazelBspServer.kt # server/src/test/kotlin/org/jetbrains/bsp/bazel/server/sync/languages/LanguagePluginServiceTest.kt
# Conflicts: # MODULE.bazel.lock # server/src/test/kotlin/org/jetbrains/bsp/bazel/server/bsp/managers/BazelBspLanguageExtensionsGeneratorTest.kt
# Conflicts: # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BazelProjectMapper.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BspProjectMapper.kt
…support # Conflicts: # .bazelrc # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BazelProjectMapper.kt
# Conflicts: # .bazelrc # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BazelProjectMapper.kt # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/TargetInfoReader.kt
# Conflicts: # .bazelrc # aspects/rules/go/go_info.bzl.template # server/src/main/kotlin/org/jetbrains/bsp/bazel/server/sync/BazelProjectMapper.kt
abrams27
left a comment
There was a problem hiding this comment.
looks reallny nice, some minor comments
| val goImportPath: String? = "", | ||
| val goRoot: URI? = URI(""), |
There was a problem hiding this comment.
can be null since it's nullable
| val goImportPath: String? = "", | ||
| val goRoot: URI? = URI(""), |
| importpath = go_archive.data.importpath | ||
| sdk_home_path = _extract_sdk(ctx) | ||
|
|
||
| go_target_info = create_struct( |
There was a problem hiding this comment.
pls dont forget about embeds
BAZEL-749