From 520f2dd58f1296fa292b2d5f6413d2e44e381240 Mon Sep 17 00:00:00 2001 From: Fabian Meumertzheim Date: Wed, 25 Sep 2024 14:57:02 +0200 Subject: [PATCH] Return a quoted string for `repr(repository_ctx.path(...))` This makes it easier to use `repository_ctx.path(...)` in BUILD file templating as it no longer differs from a path string. --- .../build/lib/bazel/repository/starlark/StarlarkPath.java | 2 +- .../lib/bazel/repository/starlark/StarlarkPathTest.java | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPath.java b/src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPath.java index 0fda30e10f1911..7edd9726fc4489 100644 --- a/src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPath.java +++ b/src/main/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPath.java @@ -201,6 +201,6 @@ public String toString() { @Override public void repr(Printer printer) { - printer.append(toString()); + printer.repr(toString()); } } diff --git a/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPathTest.java b/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPathTest.java index 138c170ea9bb77..1ec2a6441ab4d0 100644 --- a/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPathTest.java +++ b/src/test/java/com/google/devtools/build/lib/bazel/repository/starlark/StarlarkPathTest.java @@ -22,6 +22,7 @@ import com.google.devtools.build.lib.vfs.FileSystemUtils; import com.google.devtools.build.lib.vfs.Path; import com.google.devtools.build.lib.vfs.inmemoryfs.InMemoryFileSystem; +import net.starlark.java.eval.Starlark; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -51,4 +52,9 @@ public void testStarlarkPathGetChild() throws Exception { assertThat(ev.eval("wd.get_child('a','b/c','/d/')")) .isEqualTo(makePath(wd.getRelative("a/b/c/d"))); } + + @Test + public void testStarlarkPathRepr() throws Exception { + assertThat(ev.eval("repr(wd)")).isEqualTo(Starlark.repr(wd.toString())); + } }