From 39b12e3db136e6cf74163e8d618df074b9708a28 Mon Sep 17 00:00:00 2001 From: Jack Flintermann Date: Fri, 9 Oct 2015 03:34:59 -0400 Subject: [PATCH] fix warn, use xcode script args --- resourceful.go | 31 +++++++++++++++++++------------ warn.go | 10 +++++----- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/resourceful.go b/resourceful.go index 5614dac..99ec819 100644 --- a/resourceful.go +++ b/resourceful.go @@ -53,6 +53,7 @@ func parseFolder(filepath string) (EnumType, error) { func main() { app := cli.NewApp() + l := log.New(os.Stderr, "", 0) app.Name = "resourceful" app.Usage = "Add strong typing to imageNamed: in Swift apps" app.Flags = []cli.Flag{ @@ -68,13 +69,28 @@ func main() { Usage: "The destination file for generated Swift code", EnvVar: "SCRIPT_OUTPUT_FILE_0", }, - cli.BoolFlag{ - Name: "warn, w", + } + app.Commands = []cli.Command{ + { + Name: "warn", Usage: "Generate xcode warnings for usage of imageNamed", + Flags: []cli.Flag{ + cli.StringFlag{ + Name: "warndirectory, w", + Usage: "The directory to search for legacy usage of imageNamed", + EnvVar: "SRCROOT", + }, + }, + Action: func(c *cli.Context) { + err := warn(c.String("warndirectory")) + if err != nil { + l.Println("Error detecting warnings.") + os.Exit(1) + } + }, }, } app.Action = func(c *cli.Context) { - l := log.New(os.Stderr, "", 0) enumType, err := parseFolder(c.String("input")) if err != nil { l.Println("Error parsing input file.") @@ -94,15 +110,6 @@ func main() { panic(err) } writer.Flush() - - if c.Bool("warn") { - err = warn() - if err != nil { - l.Println("Error detecting warnings.") - os.Exit(1) - } - } - } app.Run(os.Args) diff --git a/warn.go b/warn.go index 3d3743e..e132e95 100644 --- a/warn.go +++ b/warn.go @@ -6,14 +6,13 @@ import ( "os/exec" ) -func warn() error { - srcroot := os.Getenv("SRCROOT") - if srcroot == "" { - return fmt.Errorf("SRCROOT should not be nil") +func warn(directory string) error { + if directory == "" { + return fmt.Errorf("warn directory should not be nil") } find := exec.Command( "/usr/bin/find", - srcroot, + directory, "-name", "*.swift", "-print0", @@ -29,6 +28,7 @@ func warn() error { ) sed := exec.Command( "sed", + "-E", "s/(UIImage|NSImage).*/ warning: legacy use of imageNamed; consider using Resourceful/", )