Skip to content

Commit 5479ea6

Browse files
committed
Revert changes to target.go and simplify resolve.go
1 parent 38dcd59 commit 5479ea6

File tree

2 files changed

+19
-39
lines changed

2 files changed

+19
-39
lines changed

gazelle/python/resolve.go

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -301,38 +301,40 @@ func (py *Resolver) Resolve(
301301
}
302302
}
303303

304+
addResolvedDeps(r, deps)
305+
304306
if cfg.GeneratePyiDeps() {
305-
addResolvedDepsAndSetAttr(r, deps, resolvedDepsKey, "deps")
306-
addResolvedDepsAndSetAttr(r, pyiDeps, resolvedPyiDepsKey, "pyi_deps")
307+
if !deps.Empty() {
308+
r.SetAttr("deps", convertDependencySetToExpr(deps))
309+
}
310+
if !pyiDeps.Empty() {
311+
r.SetAttr("pyi_deps", convertDependencySetToExpr(pyiDeps))
312+
}
307313
} else {
308314
// When generate_pyi_deps is false, merge both deps and pyiDeps into deps
309315
combinedDeps := treeset.NewWith(godsutils.StringComparator)
310316
combinedDeps.Add(deps.Values()...)
311317
combinedDeps.Add(pyiDeps.Values()...)
312318

313-
addResolvedDepsAndSetAttr(r, combinedDeps, resolvedDepsKey, "deps")
319+
if !combinedDeps.Empty() {
320+
r.SetAttr("deps", convertDependencySetToExpr(combinedDeps))
321+
}
314322
}
315323
}
316324

317-
// addResolvedDepsAndSetAttr adds the pre-resolved dependencies from the rule's private attributes
318-
// to the provided deps set and sets the attribute on the rule.
319-
func addResolvedDepsAndSetAttr(
325+
// addResolvedDeps adds the pre-resolved dependencies from the rule's private attributes
326+
// to the provided deps set.
327+
func addResolvedDeps(
320328
r *rule.Rule,
321329
deps *treeset.Set,
322-
resolvedDepsAttrName string,
323-
depsAttrName string,
324330
) {
325-
resolvedDeps := r.PrivateAttr(resolvedDepsAttrName).(*treeset.Set)
331+
resolvedDeps := r.PrivateAttr(resolvedDepsKey).(*treeset.Set)
326332
if !resolvedDeps.Empty() {
327333
it := resolvedDeps.Iterator()
328334
for it.Next() {
329335
deps.Add(it.Value())
330336
}
331337
}
332-
333-
if !deps.Empty() {
334-
r.SetAttr(depsAttrName, convertDependencySetToExpr(deps))
335-
}
336338
}
337339

338340
// targetListFromResults returns a string with the human-readable list of

gazelle/python/target.go

Lines changed: 4 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
package python
1616

1717
import (
18-
"path/filepath"
19-
2018
"github.com/bazelbuild/bazel-gazelle/config"
2119
"github.com/bazelbuild/bazel-gazelle/rule"
2220
"github.com/emirpasic/gods/sets/treeset"
2321
godsutils "github.com/emirpasic/gods/utils"
22+
"path/filepath"
2423
)
2524

2625
// targetBuilder builds targets to be generated by Gazelle.
@@ -32,9 +31,7 @@ type targetBuilder struct {
3231
srcs *treeset.Set
3332
siblingSrcs *treeset.Set
3433
deps *treeset.Set
35-
pyiDeps *treeset.Set
3634
resolvedDeps *treeset.Set
37-
resolvedPyiDeps *treeset.Set
3835
visibility *treeset.Set
3936
main *string
4037
imports []string
@@ -51,9 +48,7 @@ func newTargetBuilder(kind, name, pythonProjectRoot, bzlPackage string, siblingS
5148
srcs: treeset.NewWith(godsutils.StringComparator),
5249
siblingSrcs: siblingSrcs,
5350
deps: treeset.NewWith(moduleComparator),
54-
pyiDeps: treeset.NewWith(moduleComparator),
5551
resolvedDeps: treeset.NewWith(godsutils.StringComparator),
56-
resolvedPyiDeps: treeset.NewWith(godsutils.StringComparator),
5752
visibility: treeset.NewWith(godsutils.StringComparator),
5853
}
5954
}
@@ -84,13 +79,7 @@ func (t *targetBuilder) addModuleDependency(dep Module) *targetBuilder {
8479
// dependency resolution easier
8580
dep.Name = importSpecFromSrc(t.pythonProjectRoot, t.bzlPackage, fileName).Imp
8681
}
87-
88-
// Add to appropriate dependency set based on whether it's type-checking only
89-
if dep.TypeCheckingOnly {
90-
t.pyiDeps.Add(dep)
91-
} else {
92-
t.deps.Add(dep)
93-
}
82+
t.deps.Add(dep)
9483
return t
9584
}
9685

@@ -173,23 +162,12 @@ func (t *targetBuilder) build() *rule.Rule {
173162
if t.imports != nil {
174163
r.SetAttr("imports", t.imports)
175164
}
176-
if combinedDeps := t.combinedDeps(); !combinedDeps.Empty() {
177-
r.SetPrivateAttr(config.GazelleImportsKey, combinedDeps)
165+
if !t.deps.Empty() {
166+
r.SetPrivateAttr(config.GazelleImportsKey, t.deps)
178167
}
179168
if t.testonly {
180169
r.SetAttr("testonly", true)
181170
}
182171
r.SetPrivateAttr(resolvedDepsKey, t.resolvedDeps)
183-
r.SetPrivateAttr(resolvedPyiDepsKey, t.resolvedPyiDeps)
184172
return r
185173
}
186-
187-
// Combine both regular and type-checking imports into a single set
188-
// for passing to the resolver. The resolver will distinguish them
189-
// based on the TypeCheckingOnly field.
190-
func (t *targetBuilder) combinedDeps() *treeset.Set {
191-
combinedDeps := treeset.NewWith(moduleComparator)
192-
combinedDeps.Add(t.pyiDeps.Values()...)
193-
combinedDeps.Add(t.deps.Values()...)
194-
return combinedDeps
195-
}

0 commit comments

Comments
 (0)