blob: 2fa1d20edb0ed9f5911e3edc82c501cf50a6d604 [file] [log] [blame] [edit]
# Copyright 2019 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""
Compiles a .storyboard file.
"""
import argparse
import os
import subprocess
import sys
def CompileStoryboard(storyboard, out, ios_deployment_target):
"""Compiles |storyboard| storyboard to |out| for |ios_deployment_target|."""
subprocess.check_call([
'ibtool', '--target-device', 'iphone', '--target-device', 'ipad',
'--auto-activate-custom-fonts', '--minimum-deployment-target',
ios_deployment_target, '--compilation-directory', out,
storyboard,
])
def ParseArgs(argv):
"""Parses command line arguments."""
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'input',
help='path to the .storyboard file to compile')
parser.add_argument(
'-o', '--output', required=True,
help='path to the result')
parser.add_argument(
'-t', '--minimum-deployment-target', required=True,
help='iOS deployment target')
return parser.parse_args(argv)
def main(argv):
args = ParseArgs(argv)
CompileStoryboard(
os.path.abspath(args.input),
os.path.dirname(os.path.abspath(args.output)),
args.minimum_deployment_target)
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]))