From e1d20ce25acfd8a1c5933453f34db5f589585eaa Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Wed, 9 Jan 2019 21:01:41 -0500 Subject: [PATCH] misc/sortac: delete sortac command The sortac command is no longer needed as of CL 157238, and can be deleted. Its functionality has been directly integrated into the new x/build/cmd/updatecontrib command. A previous version of updatecontrib was the only user of sortac. Updates #12042 Change-Id: If7442ebee11d05d095ff875a37eed3973c0fd9ca Reviewed-on: https://go-review.googlesource.com/c/157257 Reviewed-by: Brad Fitzpatrick --- misc/sortac/sortac.go | 79 ------------------------------------------- 1 file changed, 79 deletions(-) delete mode 100644 misc/sortac/sortac.go diff --git a/misc/sortac/sortac.go b/misc/sortac/sortac.go deleted file mode 100644 index f61aa9617e..0000000000 --- a/misc/sortac/sortac.go +++ /dev/null @@ -1,79 +0,0 @@ -// Copyright 2015 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Sortac sorts the AUTHORS and CONTRIBUTORS files. -// -// Usage: -// -// sortac [file...] -// -// Sortac sorts the named files in place. -// If given no arguments, it sorts standard input to standard output. -package main - -import ( - "bufio" - "bytes" - "flag" - "fmt" - "io" - "io/ioutil" - "log" - "os" - - "golang.org/x/text/collate" - "golang.org/x/text/language" -) - -func main() { - log.SetFlags(0) - log.SetPrefix("sortac: ") - flag.Parse() - - args := flag.Args() - if len(args) == 0 { - os.Stdout.Write(sortAC(os.Stdin)) - } else { - for _, arg := range args { - f, err := os.Open(arg) - if err != nil { - log.Fatal(err) - } - sorted := sortAC(f) - f.Close() - if err := ioutil.WriteFile(arg, sorted, 0644); err != nil { - log.Fatal(err) - } - } - } -} - -func sortAC(r io.Reader) []byte { - bs := bufio.NewScanner(r) - var header []string - var lines []string - for bs.Scan() { - t := bs.Text() - lines = append(lines, t) - if t == "# Please keep the list sorted." { - header = lines - lines = nil - continue - } - } - if err := bs.Err(); err != nil { - log.Fatal(err) - } - - var out bytes.Buffer - c := collate.New(language.Und, collate.Loose) - c.SortStrings(lines) - for _, l := range header { - fmt.Fprintln(&out, l) - } - for _, l := range lines { - fmt.Fprintln(&out, l) - } - return out.Bytes() -}