From cd2a164159014edd53726e1e3c17ce6f9a2c767b Mon Sep 17 00:00:00 2001 From: Nikolaus Wittenstein Date: Fri, 10 Nov 2023 12:36:30 -0800 Subject: [PATCH 1/3] test: Add a test for existing 'resolve' behavior --- gazelle/python/testdata/relative_imports/BUILD.in | 1 + gazelle/python/testdata/relative_imports/BUILD.out | 2 ++ gazelle/python/testdata/relative_imports/package2/BUILD.out | 1 + gazelle/python/testdata/relative_imports/package2/module3.py | 1 + 4 files changed, 5 insertions(+) diff --git a/gazelle/python/testdata/relative_imports/BUILD.in b/gazelle/python/testdata/relative_imports/BUILD.in index e69de29bb2..c04b5e5434 100644 --- a/gazelle/python/testdata/relative_imports/BUILD.in +++ b/gazelle/python/testdata/relative_imports/BUILD.in @@ -0,0 +1 @@ +# gazelle:resolve py resolved_package //package2:resolved_package diff --git a/gazelle/python/testdata/relative_imports/BUILD.out b/gazelle/python/testdata/relative_imports/BUILD.out index 2c0862748b..bf9524480a 100644 --- a/gazelle/python/testdata/relative_imports/BUILD.out +++ b/gazelle/python/testdata/relative_imports/BUILD.out @@ -1,5 +1,7 @@ load("@rules_python//python:defs.bzl", "py_binary", "py_library") +# gazelle:resolve py resolved_package //package2:resolved_package + py_library( name = "relative_imports", srcs = [ diff --git a/gazelle/python/testdata/relative_imports/package2/BUILD.out b/gazelle/python/testdata/relative_imports/package2/BUILD.out index cf61691e54..60a5898361 100644 --- a/gazelle/python/testdata/relative_imports/package2/BUILD.out +++ b/gazelle/python/testdata/relative_imports/package2/BUILD.out @@ -9,4 +9,5 @@ py_library( "subpackage1/module5.py", ], visibility = ["//:__subpackages__"], + deps = ["//package2:resolved_package"], ) diff --git a/gazelle/python/testdata/relative_imports/package2/module3.py b/gazelle/python/testdata/relative_imports/package2/module3.py index 74978a08d9..478dea9aa6 100644 --- a/gazelle/python/testdata/relative_imports/package2/module3.py +++ b/gazelle/python/testdata/relative_imports/package2/module3.py @@ -15,6 +15,7 @@ from . import Class1 from .subpackage1.module5 import function5 +import resolved_package def function3(): c1 = Class1() From fbbc91b78cd03903d9949eaee0eaa2a12758b5ee Mon Sep 17 00:00:00 2001 From: Nikolaus Wittenstein Date: Fri, 10 Nov 2023 12:42:53 -0800 Subject: [PATCH 2/3] feat: Make resolves use relative paths if possible --- CHANGELOG.md | 3 +++ gazelle/python/resolve.go | 2 +- gazelle/python/testdata/relative_imports/package2/BUILD.out | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dc3b079d9d..2dcadc89d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,6 +55,9 @@ A brief description of the categories of changes: or `requirements_in` attributes are unspecified, matching the upstream `pip-compile` behaviour more closely. +* Make Gazelle use relative paths if possible for dependencies added through + the use of the `resolve` directive. + Breaking changes: * (pip) `pip_install` repository rule in this release has been disabled and diff --git a/gazelle/python/resolve.go b/gazelle/python/resolve.go index 87eed76ec3..1ddd63d3c2 100644 --- a/gazelle/python/resolve.go +++ b/gazelle/python/resolve.go @@ -172,7 +172,7 @@ func (py *Resolver) Resolve( if override.Repo == from.Repo { override.Repo = "" } - dep := override.String() + dep := override.Rel(from.Repo, from.Pkg).String() deps.Add(dep) if explainDependency == dep { log.Printf("Explaining dependency (%s): "+ diff --git a/gazelle/python/testdata/relative_imports/package2/BUILD.out b/gazelle/python/testdata/relative_imports/package2/BUILD.out index 60a5898361..3e03e75f9b 100644 --- a/gazelle/python/testdata/relative_imports/package2/BUILD.out +++ b/gazelle/python/testdata/relative_imports/package2/BUILD.out @@ -9,5 +9,5 @@ py_library( "subpackage1/module5.py", ], visibility = ["//:__subpackages__"], - deps = ["//package2:resolved_package"], + deps = [":resolved_package"], ) From 8a4bf892b741da53e2f8a9fd4df91f027ad7d34e Mon Sep 17 00:00:00 2001 From: Ignas Anikevicius <240938+aignas@users.noreply.github.com> Date: Mon, 13 Nov 2023 22:09:13 +0900 Subject: [PATCH 3/3] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2dcadc89d5..a3ea0681d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -55,7 +55,7 @@ A brief description of the categories of changes: or `requirements_in` attributes are unspecified, matching the upstream `pip-compile` behaviour more closely. -* Make Gazelle use relative paths if possible for dependencies added through +* (gazelle) Use relative paths if possible for dependencies added through the use of the `resolve` directive. Breaking changes: