cl: fix global var rewrite in alt pkg

This commit is contained in:
Li Jie
2025-11-14 15:20:24 +08:00
parent e2bb68489d
commit 22a43622a0
2 changed files with 7 additions and 3 deletions

View File

@@ -134,7 +134,12 @@ func (p *context) rewriteValue(name string) (string, bool) {
if p.rewrites == nil { if p.rewrites == nil {
return "", false return "", false
} }
val, ok := p.rewrites[name] dot := strings.LastIndex(name, ".")
if dot < 0 {
return "", false
}
varName := name[dot+1:]
val, ok := p.rewrites[varName]
return val, ok return val, ok
} }

View File

@@ -350,7 +350,6 @@ func Do(args []string, conf *Config) ([]Package, error) {
} }
return nil, fmt.Errorf("initial package not found") return nil, fmt.Errorf("initial package not found")
} }
dpkg, err := buildAllPkgs(ctx, altPkgs[noRt:], verbose) dpkg, err := buildAllPkgs(ctx, altPkgs[noRt:], verbose)
check(err) check(err)
allPkgs := append([]*aPackage{}, pkgs...) allPkgs := append([]*aPackage{}, pkgs...)
@@ -1190,7 +1189,7 @@ func collectRewriteVars(ctx *context, pkgPath string) map[string]string {
if rewrites == nil { if rewrites == nil {
rewrites = make(map[string]string) rewrites = make(map[string]string)
} }
rewrites[pkgPath+"."+name] = value rewrites[name] = value
} }
} }
} }