• Home
  • Raw
  • Download

Lines Matching +full:resolve +full:- +full:from

7 //     http://www.apache.org/licenses/LICENSE-2.0
24 "github.com/bazelbuild/bazel-gazelle/config"
25 "github.com/bazelbuild/bazel-gazelle/label"
26 "github.com/bazelbuild/bazel-gazelle/repo"
27 "github.com/bazelbuild/bazel-gazelle/resolve"
28 "github.com/bazelbuild/bazel-gazelle/rule"
44 // Resolver satisfies the resolve.Resolver interface. It resolves dependencies
55 // If nil is returned, the rule will not be indexed. If any non-nil slice is
57 func (py *Resolver) Imports(c *config.Config, r *rule.Rule, f *rule.File) []resolve.ImportSpec {
61 provides := make([]resolve.ImportSpec, 0, len(srcs)+1)
79 func importSpecFromSrc(pythonProjectRoot, bzlPkg, src string) resolve.ImportSpec {
92 return resolve.ImportSpec{
105 return resolve.ImportSpec{
115 func (py *Resolver) Embeds(r *rule.Rule, from label.Label) []label.Label {
120 // Resolve translates imported libraries for a given rule into Bazel
123 // language.GenerateResult.Imports. Resolve generates a "deps" attribute (or
124 // the appropriate language-specific equivalent) for each import according to
125 // language-specific rules and heuristics.
126 func (py *Resolver) Resolve( func
128 ix *resolve.RuleIndex,
132 from label.Label,
140 cfg := cfgs[from.Pkg]
154 // For example, "from foo.bar import baz" where bar is a variable, we should try
158 // The import could also be from a standard module, e.g. `six.moves`, where
160 moduleParts = moduleParts[:len(moduleParts)-1]
166 imp := resolve.ImportSpec{Lang: languageName, Imp: moduleName}
167 if override, ok := resolve.FindRuleWithOverride(c, imp, languageName); ok {
169 override.Repo = from.Repo
171 if !override.Equal(from) {
172 if override.Repo == from.Repo {
180 "which resolves using the \"gazelle:resolve\" directive.\n",
181 explainDependency, from.String(), mod.Filepath, moduleName, mod.LineNumber)
191 "which resolves from the third-party module %q from the wheel %q.\n",
192 explainDependency, from.String(), mod.Filepath, moduleName, mod.LineNumber, mod.Name, dep)
207 "%[1]q at line %[2]d from %[3]q is an invalid dependency: possible solutions:\n"+
209 … "\t2. Instruct Gazelle to resolve to a known dependency using the gazelle:resolve directive.\n"+
217 filteredMatches := make([]resolve.FindResult, 0, len(matches))
219 if match.IsSelfImport(from) {
220 // Prevent from adding itself as a dependency.
229 sameRootMatches := make([]resolve.FindResult, 0, len(filteredMatches))
238 "- this must be fixed using the \"gazelle:resolve\" directive",
245 matchLabel := filteredMatches[0].Label.Rel(from.Repo, from.Pkg)
251 "which resolves from the first-party indexed labels.\n",
252 explainDependency, from.String(), mod.Filepath, moduleName, mod.LineNumber)
264 …log.Printf("ERROR: failed to validate dependencies for target %q: %v\n", from.String(), joinedErrs)
284 // targetListFromResults returns a string with the human-readable list of
286 func targetListFromResults(results []resolve.FindResult) string {