Skip to content

Commit

Permalink
Merge pull request flutter#990 from iansf/remove_required_arg
Browse files Browse the repository at this point in the history
Don't require -p for ios_sim commands
  • Loading branch information
iansf committed Sep 1, 2015
2 parents e70448c + 07c2379 commit c938128
Showing 1 changed file with 25 additions and 12 deletions.
37 changes: 25 additions & 12 deletions sky/packages/sky/lib/sky_tool
Original file line number Diff line number Diff line change
Expand Up @@ -647,6 +647,17 @@ class IOSSimulator(object):
logging.info(' '.join(cmd))
subprocess.check_call(cmd)

def _process_args(self, args):
if args.ios_sim_build_path is None:
if args.ios_sim_build_available:
if args.use_release:
args.ios_sim_build_path = os.path.join(args.sky_src_path, args.ios_sim_release_build_path, IOS_APP_NAME)
elif args.local_build:
args.ios_sim_build_path = os.path.join(args.sky_src_path, args.ios_sim_debug_build_path, IOS_APP_NAME)
if args.ios_sim_build_path is None:
logging.error('ios_sim commands require a valid -p argument if not using the --release or --local-build global arguments')
sys.exit(2)

def get_application_identifier(self, path):
cmd = PLIST_BUDDY_PATH + [
'-c',
Expand All @@ -668,6 +679,8 @@ class IOSSimulator(object):

# Launch whatever simulator the user last used, rather than try to guess which of their simulators they might want to use
def boot_simulator(self, args, pids):
# Guarantee that the args get processed, since all of the commands funnel through here.
self._process_args(args)
if self.is_simulator_booted():
return
# Use Popen here because launching the simulator from the command line in this manner doesn't return, so we can't check the result.
Expand All @@ -686,7 +699,7 @@ class IOSSimulator(object):
cmd = SIMCTL_PATH + [
'install',
'booted',
args.path,
args.ios_sim_build_path,
]
logging.info(' '.join(cmd))
return subprocess.check_call(cmd)
Expand All @@ -695,7 +708,7 @@ class IOSSimulator(object):
res = self.install_app(args, pids)
if res != 0:
return res
identifier = self.get_application_identifier(args.path)
identifier = self.get_application_identifier(args.ios_sim_build_path)
launch_args = SIMCTL_PATH + ['launch']
if wait:
launch_args += [ '-w' ]
Expand Down Expand Up @@ -732,29 +745,29 @@ class IOSSimulator(object):
help='A script that launches an'
' application in the simulator and attaches'
' the debugger to it.')
simulator_parser.add_argument('-p', dest='path', required=True,
help='Path to the simulator application.')
simulator_parser.add_argument('-p', dest='ios_sim_build_path', required=False,
help='Path to the simulator app build. Defaults to values specified by '
'the sky_src_path and ios_sim_[debug|release]_build_path parameters, '
'which are normally specified by using the local-build or release '
'parameters. Not normally required.')
simulator_parser.add_argument('-t', dest='target', required=False,
default='examples/demo_launcher/lib/main.dart',
help='Sky server-relative path to the Sky app to run.')
help='Sky server-relative path to the Sky app to run. Not normally required.')
simulator_parser.add_argument('-s', dest='server', required=False,
default='localhost:8080',
help='Sky server address.')
help='Sky server address. Not normally required.')
simulator_parser.add_argument('--ios_sim_path', dest='ios_sim_path',
help='Path to your iOS Simulator executable. '
'Not normally required.')

subparsers = simulator_parser.add_subparsers()
launch_parser = subparsers.add_parser('launch', help='Launch app')
launch_parser.set_defaults(func=self.launch_app)
install_parser = subparsers.add_parser('install', help='Install app')
install_parser.set_defaults(func=self.install_app)
debug_parser = subparsers.add_parser('debug', help='Debug app')
launch_parser = subparsers.add_parser('launch', help='Launch app. Automatically installs.')
launch_parser.set_defaults(func=self.launch_app)
debug_parser = subparsers.add_parser('debug', help='Debug app. Automatically installs and launches.')
debug_parser.set_defaults(func=self.debug_app)

def run(self, args, pids):
return args.func(args)


class StartListening(object):
def __init__(self):
Expand Down

0 comments on commit c938128

Please sign in to comment.