From 1fa0885f06e0fdc4e872b7db37197e9b90d9ecbb Mon Sep 17 00:00:00 2001 From: Daniel Wagner-Hall Date: Fri, 3 May 2024 11:43:09 +0100 Subject: [PATCH] WIP --- .github/workflows/gazelle_examples.yaml | 2 +- MODULE.bazel | 5 +++++ examples/gazelle/MODULE.bazel | 13 +++++++++++++ .../examples => example}/gazelle/BUILD.bazel | 5 +++-- .../examples => example}/gazelle/ExampleTest.java | 2 +- .../test/com/example/gazelle/expected-query-output | 1 + .../examples/gazelle/expected-query-output | 1 - java/gazelle/generate.go | 7 ++++--- 8 files changed, 28 insertions(+), 8 deletions(-) rename examples/gazelle/src/test/com/{github/bazel_contrib/contrib_rules_jvm/examples => example}/gazelle/BUILD.bazel (54%) rename examples/gazelle/src/test/com/{github/bazel_contrib/contrib_rules_jvm/examples => example}/gazelle/ExampleTest.java (59%) create mode 100755 examples/gazelle/src/test/com/example/gazelle/expected-query-output delete mode 100755 examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/expected-query-output diff --git a/.github/workflows/gazelle_examples.yaml b/.github/workflows/gazelle_examples.yaml index 8a2a6d4a..67678c77 100644 --- a/.github/workflows/gazelle_examples.yaml +++ b/.github/workflows/gazelle_examples.yaml @@ -45,4 +45,4 @@ jobs: env: # Bazelisk will download bazel to here, ensure it is cached between runs. XDG_CACHE_HOME: ~/.cache/bazel-repo - run: (cd examples/gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc run --enable_bzlmod //:gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) + run: (cd examples/gazelle && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc run --enable_bzlmod //:gazelle && echo DWH && cat src/test/com/example/gazelle/BUILD.bazel && echo /DWH && bazelisk --bazelrc=../../.github/workflows/ci.bazelrc test --enable_bzlmod //...) diff --git a/MODULE.bazel b/MODULE.bazel index 4d2103fe..07f5aeb6 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -31,6 +31,11 @@ bazel_dep( version = "0.34.0", repo_name = "bazel_gazelle", ) +git_override( + module_name = "gazelle", + remote = "https://github.com/illicitonion/bazel-gazelle.git", + commit = "c054f6422d73309dd03dba9f7e82c4effe726dcf", +) bazel_dep( name = "protobuf", version = PROTOBUF_VERSION, diff --git a/examples/gazelle/MODULE.bazel b/examples/gazelle/MODULE.bazel index 0df2b3d5..cc9368e4 100644 --- a/examples/gazelle/MODULE.bazel +++ b/examples/gazelle/MODULE.bazel @@ -16,6 +16,13 @@ bazel_dep( name = "bazel_skylib", version = "1.5.0", ) + +git_override( + module_name = "bazel_skylib", + remote = "https://github.com/illicitonion/bazel-skylib.git", + commit = "fbaa539e21f33fac9243df5d72f354e0985f0a68", +) + bazel_dep( name = "rules_jvm_external", version = "6.0", @@ -43,3 +50,9 @@ bazel_dep( name = "gazelle", version = "0.34.0", ) + +git_override( + module_name = "gazelle", + remote = "https://github.com/illicitonion/bazel-gazelle.git", + commit = "e2d30acab3ad2bf057f223b611ad9a352e6aad2c", +) diff --git a/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/BUILD.bazel b/examples/gazelle/src/test/com/example/gazelle/BUILD.bazel similarity index 54% rename from examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/BUILD.bazel rename to examples/gazelle/src/test/com/example/gazelle/BUILD.bazel index 60b833e5..ce1daf34 100644 --- a/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/BUILD.bazel +++ b/examples/gazelle/src/test/com/example/gazelle/BUILD.bazel @@ -1,10 +1,11 @@ +load("@contrib_rules_jvm//java:defs.bzl", "java_test_suite") load("@bazel_skylib//rules:diff_test.bzl", "diff_test") genquery( name = "generated_targets", - expression = "kind(java_test, deps(//src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle:gazelle))", + expression = "kind(java_test, deps(//src/test/com/example/gazelle:gazelle))", opts = ["--output=label_kind"], - scope = ["//src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle"], + scope = ["//src/test/com/example/gazelle"], ) diff_test( diff --git a/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/ExampleTest.java b/examples/gazelle/src/test/com/example/gazelle/ExampleTest.java similarity index 59% rename from examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/ExampleTest.java rename to examples/gazelle/src/test/com/example/gazelle/ExampleTest.java index 167bb956..c29e412d 100644 --- a/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/ExampleTest.java +++ b/examples/gazelle/src/test/com/example/gazelle/ExampleTest.java @@ -1,4 +1,4 @@ -package com.github.bazel_contrib.contrib_rules_jvm.examples.gazelle; +package com.example.gazelle; import org.junit.jupiter.api.Test; diff --git a/examples/gazelle/src/test/com/example/gazelle/expected-query-output b/examples/gazelle/src/test/com/example/gazelle/expected-query-output new file mode 100755 index 00000000..17bfe062 --- /dev/null +++ b/examples/gazelle/src/test/com/example/gazelle/expected-query-output @@ -0,0 +1 @@ +java_test rule //src/test/com/example/gazelle:ExampleTest diff --git a/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/expected-query-output b/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/expected-query-output deleted file mode 100755 index 33a1ddca..00000000 --- a/examples/gazelle/src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle/expected-query-output +++ /dev/null @@ -1 +0,0 @@ -java_test rule //src/test/com/github/bazel_contrib/contrib_rules_jvm/examples/gazelle:ExampleTest diff --git a/java/gazelle/generate.go b/java/gazelle/generate.go index 7819fc2b..92fa11bc 100644 --- a/java/gazelle/generate.go +++ b/java/gazelle/generate.go @@ -134,17 +134,18 @@ func (l javaLang) GenerateRules(args language.GenerateArgs) language.GenerateRes } allPackageNames.Add(mJavaPkg.Name) + mRelFilepath := filepath.FromSlash(mRel) if !mJavaPkg.TestPackage { addNonLocalImportsAndExports(productionJavaImports, nonLocalJavaExports, mJavaPkg.ImportedClasses, mJavaPkg.ImportedPackagesWithoutSpecificClasses, mJavaPkg.ExportedClasses, mJavaPkg.Name, javaClassNamesFromFileNames) for _, f := range mJavaPkg.Files.SortedSlice() { - productionJavaFiles.Add(filepath.Join(mRel, f)) + productionJavaFiles.Add(filepath.Join(mRelFilepath, f)) } allMains.AddAll(mJavaPkg.Mains) } else { // Tests don't get to export things, as things shouldn't depend on them. addNonLocalImportsAndExports(testJavaImports, nil, mJavaPkg.ImportedClasses, mJavaPkg.ImportedPackagesWithoutSpecificClasses, mJavaPkg.ExportedClasses, mJavaPkg.Name, javaClassNamesFromFileNames) for _, f := range mJavaPkg.Files.SortedSlice() { - path := filepath.Join(mRel, f) + path := filepath.Join(mRelFilepath, f) file := javaFile{ pathRelativeToBazelWorkspaceRoot: path, pkg: mJavaPkg.Name, @@ -163,7 +164,7 @@ func (l javaLang) GenerateRules(args language.GenerateArgs) language.GenerateRes } allMains.AddAll(javaPkg.Mains) for _, f := range javaFilenamesRelativeToPackage { - path := filepath.Join(args.Rel, f) + path := filepath.Join(filepath.FromSlash(args.Rel), f) if javaPkg.TestPackage { file := javaFile{ pathRelativeToBazelWorkspaceRoot: path,