diff --git a/hrp/cmd/adb/init.go b/hrp/cmd/adb/init.go index 2914cc64..9025ef70 100644 --- a/hrp/cmd/adb/init.go +++ b/hrp/cmd/adb/init.go @@ -3,8 +3,9 @@ package adb import "github.com/spf13/cobra" var androidRootCmd = &cobra.Command{ - Use: "adb", - Short: "simple utils for android device management", + Use: "adb", + Short: "simple utils for android device management", + PersistentPreRun: func(cmd *cobra.Command, args []string) {}, } func Init(rootCmd *cobra.Command) { diff --git a/hrp/cmd/ios/init.go b/hrp/cmd/ios/init.go index 8cfea1f3..22642744 100644 --- a/hrp/cmd/ios/init.go +++ b/hrp/cmd/ios/init.go @@ -11,8 +11,9 @@ import ( ) var iosRootCmd = &cobra.Command{ - Use: "ios", - Short: "simple utils for ios device management", + Use: "ios", + Short: "simple utils for ios device management", + PersistentPreRun: func(cmd *cobra.Command, args []string) {}, } func getDevice(udid string) (giDevice.Device, error) { diff --git a/hrp/cmd/ios/reboot.go b/hrp/cmd/ios/reboot.go new file mode 100644 index 00000000..3cddb6c0 --- /dev/null +++ b/hrp/cmd/ios/reboot.go @@ -0,0 +1,37 @@ +package ios + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +var rebootCmd = &cobra.Command{ + Use: "reboot", + Short: "reboot or shutdown ios device", + RunE: func(cmd *cobra.Command, args []string) error { + device, err := getDevice(udid) + if err != nil { + return err + } + + if isShutdown { + err = device.Shutdown() + } else { + err = device.Reboot() + } + if err != nil { + return err + } + fmt.Printf("reboot %s success\n", device.Properties().UDID) + return nil + }, +} + +var isShutdown bool + +func init() { + rebootCmd.Flags().StringVarP(&udid, "udid", "u", "", "filter by device's udid") + rebootCmd.Flags().BoolVarP(&isShutdown, "shutdown", "s", false, "shutdown ios device") + iosRootCmd.AddCommand(rebootCmd) +}