[godepfile] Delete
This is safe to land immediately because the godepfile CIPD package
isn't referenced anywhere (e.g. it isn't auto-rolled).
The CIPD package will no longer be needed after fxrev.dev/489497 lands,
at which point we can remove it from the checkout.
Bug: 70189
Change-Id: Ia1b9ae2f6aecf4b3aa513f832942b2e3c748402f
Reviewed-on: https://fuchsia-review.googlesource.com/c/tools/+/489880
Fuchsia-Auto-Submit: Oliver Newman <olivernewman@google.com>
Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com>
Reviewed-by: Tamir Duberstein <tamird@google.com>
diff --git a/godepfile/cmd/godepfile.go b/godepfile/cmd/godepfile.go
deleted file mode 100644
index ca50cdf..0000000
--- a/godepfile/cmd/godepfile.go
+++ /dev/null
@@ -1,196 +0,0 @@
-// Copyright 2016 The Fuchsia Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// Generates a depfile for a Go package that can be consumed by Ninja.
-package main
-
-import (
- "errors"
- "flag"
- "fmt"
- "go/build"
- "log"
- "os"
- "runtime"
- "sort"
- "strings"
- "sync"
-)
-
-type stringsFlag []string
-
-func (v *stringsFlag) String() string { return strings.Join(*v, " ") }
-
-func (v *stringsFlag) Set(s string) error {
- *v = strings.Split(s, " ")
- if *v == nil {
- *v = []string{}
- }
- return nil
-}
-
-type prefixmapFlag []struct{ from, to string }
-
-func (v *prefixmapFlag) String() string {
- var s []string
- for _, p := range *v {
- s = append(s, fmt.Sprintf("%s=%s", p.from, p.to))
- }
- return strings.Join(s, " ")
-}
-
-func (v *prefixmapFlag) Set(s string) error {
- if strings.Count(s, "=") != 1 {
- return errors.New("argument must be of the form from=to")
- }
- i := strings.Index(s, "=")
- from, to := s[:i], s[i+1:]
- if from == "" || to == "" {
- return errors.New("from and to must be non-empty")
- }
- *v = append(*v, struct{ from, to string }{from, to})
- return nil
-}
-
-var (
- ctx = build.Default
- output string
- test bool
- prefixmap = prefixmapFlag{}
-)
-
-func init() {
- flag.Var((*stringsFlag)(&ctx.BuildTags), "tags", "build tags")
- flag.StringVar(&output, "o", "", "name of the resulting executable")
- flag.BoolVar(&test, "test", false, "whether this is a test target")
- flag.Var(&prefixmap, "prefixmap", "path prefix mapping in the from=to format")
-
- flag.Usage = func() {
- fmt.Fprintf(os.Stderr, "usage: godepfile [packages]\n")
- flag.PrintDefaults()
- }
-}
-
-func appendAndPrefix(slice []string, prefix string, src []string) []string {
- for _, s := range src {
- slice = append(slice, prefix+s)
- }
- return slice
-}
-
-func main() {
- flag.Parse()
-
- if len(flag.Args()) == 0 {
- flag.Usage()
- os.Exit(1)
- }
-
- var mu sync.Mutex
- deps := make(map[string]bool)
- paths := make(map[string]bool)
-
- fdlimit := make(chan struct{}, 128)
- var wg sync.WaitGroup
- var scan func(path, srcDir string, test bool)
- scan = func(path, srcDir string, test bool) {
- defer wg.Done()
-
- mu.Lock()
- _, done := paths[path]
- if !done {
- paths[path] = true
- }
- mu.Unlock()
-
- if done {
- return
- }
-
- if path == "C" {
- return
- }
-
- fdlimit <- struct{}{}
- defer func() { <-fdlimit }()
-
- pkg, err := ctx.Import(path, srcDir, 0)
- if err != nil {
- log.Fatalf("%s: %v", path, err)
- }
-
- var files []string
- srcdir := pkg.Dir + "/"
- for _, p := range prefixmap {
- if strings.HasPrefix(srcdir, p.from) {
- srcdir = p.to + srcdir[len(p.from):]
- }
- }
-
- files = appendAndPrefix(files, srcdir, pkg.GoFiles)
- files = appendAndPrefix(files, srcdir, pkg.CgoFiles)
- files = appendAndPrefix(files, srcdir, pkg.CFiles)
- files = appendAndPrefix(files, srcdir, pkg.CXXFiles)
- files = appendAndPrefix(files, srcdir, pkg.HFiles)
- files = appendAndPrefix(files, srcdir, pkg.SFiles)
- files = appendAndPrefix(files, srcdir, pkg.SwigFiles)
- files = appendAndPrefix(files, srcdir, pkg.SwigCXXFiles)
-
- if test {
- files = appendAndPrefix(files, srcdir, pkg.TestGoFiles)
- files = appendAndPrefix(files, srcdir, pkg.XTestGoFiles)
- }
-
- mu.Lock()
- for _, file := range files {
- deps[file] = true
- }
- mu.Unlock()
-
- if pkg.Name == "main" && output == "" {
- bindir := os.Getenv("GOBIN")
- if bindir == "" {
- bindir = pkg.BinDir
- }
- if ctx.GOOS == runtime.GOOS && ctx.GOARCH == runtime.GOARCH {
- output = ctx.JoinPath(bindir, path)
- } else {
- output = ctx.JoinPath(bindir, ctx.GOOS+"_"+ctx.GOARCH, path)
- }
- }
-
- for _, imp := range pkg.Imports {
- wg.Add(1)
- go scan(imp, pkg.Dir, false)
- }
-
- if test {
- for _, imp := range pkg.TestImports {
- wg.Add(1)
- go scan(imp, pkg.Dir, false)
- }
- for _, imp := range pkg.XTestImports {
- wg.Add(1)
- go scan(imp, pkg.Dir, false)
- }
- }
- }
-
- for _, root := range flag.Args() {
- wg.Add(1)
- go scan(root, "", test)
- }
- wg.Wait()
-
- fmt.Printf("%s:", output)
- var depnames []string
- for path := range deps {
- depnames = append(depnames, path)
- }
- sort.Strings(depnames)
- for path := range deps {
- fmt.Printf(" %s", path)
- }
- fmt.Printf("\n")
-}