-
Notifications
You must be signed in to change notification settings - Fork 191
Open
Description
Using bazel_skylib_gazelle_plugin//bzl as a gazelle language fails to produce a buildable configuration.
Steps to reproduce
- Checkout https://github.com/apple/rules_pkl/tree/19b9d7236e50ce710aa49e1f11e4a76c99112eea
- Apply the provided diff below
bazel run //:gazellebazel test //...will fail
git diff for reproduction
diff --git a/BUILD.bazel b/BUILD.bazel
index 5ebee0b..7c52a97 100644
--- a/BUILD.bazel
+++ b/BUILD.bazel
@@ -20,7 +20,7 @@ exports_files([
gazelle_binary(
name = "gazelle_bin",
- languages = DEFAULT_LANGUAGES,
+ languages = DEFAULT_LANGUAGES + ["@bazel_skylib_gazelle_plugin//bzl"],
)
gazelle(
diff --git a/MODULE.bazel b/MODULE.bazel
index 17f3a20..783ecc5 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -26,6 +26,7 @@ bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "rules_java", version = "8.6.1")
bazel_dep(name = "rules_jvm_external", version = "6.6")
+bazel_dep(name = "bazel_skylib_gazelle_plugin", version = "1.7.1", dev_dependency = True)
bazel_dep(name = "buildifier_prebuilt", version = "7.3.1", dev_dependency = True)
bazel_dep(name = "gazelle", version = "0.36.0", dev_dependency = True, repo_name = "bazel_gazelle")
bazel_dep(name = "rules_bazel_integration_test", version = "0.29.0", dev_dependency = True)
The error
# Apply the diff provided above, before running this.
❯ bazel run //:gazelle
...
gazelle: /rules_pkl/pkl/private/BUILD.bazel:27.12-27.27: could not merge expression
gazelle: /rules_pkl/pkl/private/BUILD.bazel:27.12-27.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
gazelle: /rules_pkl/pkl/BUILD.bazel:158.12-158.27: could not merge expression
❯ echo $?
0
# Run all tests
❯ bazel test --verbose_failures //...
INFO: Invocation ID: 6471fa9b-3f53-4f7a-b151-98f6e3a5ab55
ERROR: /private/var/tmp/_bazel_kushal/cb69cc106c9cff5a6ac34d1390aa8454/external/rules_jvm_external~/BUILD: no such target '@@rules_jvm_external~//:defs': target 'defs' not declared in package '' defined by /private/var/tmp/_bazel_kushal/cb69cc106c9cff5a6ac34d1390aa8454/external/rules_jvm_external~/BUILD
ERROR: /Users/kushal/Projects/pkl/rules_pkl/pkl/private/BUILD.bazel:66:12: no such target '@@rules_jvm_external~//:defs': target 'defs' not declared in package '' defined by /private/var/tmp/_bazel_kushal/cb69cc106c9cff5a6ac34d1390aa8454/external/rules_jvm_external~/BUILD and referenced by '//pkl/private:pkl_codegen_java'
ERROR: Analysis of target '//pkl/private:pkl_codegen_java' failed; build aborted: Analysis failed
INFO: Elapsed time: 0.141s, Critical Path: 0.00s
INFO: 1 process: 1 internal.
ERROR: Build did NOT complete successfully
ERROR: No test targets were found, yet testing was requested
The diff produced by //:gazelle
diff --git a/pkl/BUILD.bazel b/pkl/BUILD.bazel
index ec20925..5ac5cd9 100644
--- a/pkl/BUILD.bazel
+++ b/pkl/BUILD.bazel
@@ -196,3 +196,34 @@ java_binary(
),
],
)
+
+bzl_library(
+ name = "extensions",
+ srcs = ["extensions.bzl"],
+ visibility = ["//visibility:public"],
+ deps = ["//pkl/extensions:pkl"],
+)
+
+bzl_library(
+ name = "repositories",
+ srcs = ["repositories.bzl"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//pkl/private:constants",
+ "//pkl/private:repositories",
+ "@bazel_tools//tools/build_defs/repo:http.bzl",
+ "@bazel_tools//tools/build_defs/repo:utils.bzl",
+ "@rules_jvm_external//:defs",
+ ],
+)
+
+bzl_library(
+ name = "workspace",
+ srcs = ["workspace.bzl"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//pkl/private:constants",
+ "//pkl/private:pkl_project",
+ "//pkl/private:remote_pkl_package",
+ ],
+)
diff --git a/pkl/extensions/BUILD.bazel b/pkl/extensions/BUILD.bazel
index 07b9298..505b15a 100644
--- a/pkl/extensions/BUILD.bazel
+++ b/pkl/extensions/BUILD.bazel
@@ -1,3 +1,5 @@
+load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
+
filegroup(
name = "all_files",
srcs = glob(["*"]),
@@ -6,3 +8,14 @@ filegroup(
"//tests/integration_tests:__subpackages__",
],
)
+
+bzl_library(
+ name = "pkl",
+ srcs = ["pkl.bzl"],
+ visibility = ["//visibility:public"],
+ deps = [
+ "//pkl:repositories",
+ "//pkl/private:pkl_project",
+ "//pkl/private:remote_pkl_package",
+ ],
+)
diff --git a/pkl/private/BUILD.bazel b/pkl/private/BUILD.bazel
index 87ec7b5..1df6049 100644
--- a/pkl/private/BUILD.bazel
+++ b/pkl/private/BUILD.bazel
@@ -36,3 +36,115 @@ sh_binary(
srcs = ["run_pkl_script.sh"],
visibility = ["//visibility:public"],
)
+
+bzl_library(
+ name = "constants",
+ srcs = ["constants.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+)
+
+bzl_library(
+ name = "pkl",
+ srcs = ["pkl.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [
+ ":providers",
+ ":repositories",
+ ],
+)
+
+bzl_library(
+ name = "pkl_cache",
+ srcs = ["pkl_cache.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [
+ ":pkl_package_names",
+ ":providers",
+ ],
+)
+
+bzl_library(
+ name = "pkl_codegen_java",
+ srcs = ["pkl_codegen_java.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [
+ "@rules_jvm_external//:defs",
+ "@rules_pkl//pkl/private:providers",
+ ],
+)
+
+bzl_library(
+ name = "pkl_doc",
+ srcs = ["pkl_doc.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+)
+
+bzl_library(
+ name = "pkl_library",
+ srcs = ["pkl_library.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [":providers"],
+)
+
+bzl_library(
+ name = "pkl_package",
+ srcs = ["pkl_package.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = ["@rules_pkl//pkl/private:providers"],
+)
+
+bzl_library(
+ name = "pkl_package_names",
+ srcs = ["pkl_package_names.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+)
+
+bzl_library(
+ name = "pkl_project",
+ srcs = ["pkl_project.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [":pkl_package_names"],
+)
+
+bzl_library(
+ name = "pkl_project_rule",
+ srcs = ["pkl_project_rule.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = ["@rules_pkl//pkl/private:providers"],
+)
+
+bzl_library(
+ name = "pkl_test_suite",
+ srcs = ["pkl_test_suite.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [
+ ":pkl",
+ "@rules_pkl//pkl/private:pkl_library",
+ ],
+)
+
+bzl_library(
+ name = "providers",
+ srcs = ["providers.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+)
+
+bzl_library(
+ name = "remote_pkl_package",
+ srcs = ["remote_pkl_package.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [":pkl_package_names"],
+)
+
+bzl_library(
+ name = "repositories",
+ srcs = ["repositories.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+ deps = [":providers"],
+)
+
+bzl_library(
+ name = "toolchain",
+ srcs = ["toolchain.bzl"],
+ visibility = ["//pkl:__subpackages__"],
+)
diff --git a/tests/integration_tests/example_workspaces/pkl_cache/BUILD.bazel b/tests/integration_tests/example_workspaces/pkl_cache/BUILD.bazel
index 838e715..74acd77 100644
--- a/tests/integration_tests/example_workspaces/pkl_cache/BUILD.bazel
+++ b/tests/integration_tests/example_workspaces/pkl_cache/BUILD.bazel
@@ -12,6 +12,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
load("@aspect_bazel_lib//lib:diff_test.bzl", "diff_test")
+load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
load("@rules_pkl//pkl:defs.bzl", "pkl_eval")
load("//:poison_cache.bzl", "poisoned_pkl_cache")
@@ -37,3 +38,10 @@ diff_test(
file1 = "expected_output.yaml",
file2 = ":pkl_eval_with_poisoned_cache",
)
+
+bzl_library(
+ name = "poison_cache",
+ srcs = ["poison_cache.bzl"],
+ visibility = ["//visibility:public"],
+ deps = ["@rules_pkl//pkl/private:providers"],
+)
Metadata
Metadata
Assignees
Labels
No labels