From a6e340dfd0d993704df2dcf4e744ed3b0e99ef65 Mon Sep 17 00:00:00 2001 From: Chinmay Garde Date: Thu, 18 Aug 2016 16:51:17 -0700 Subject: [PATCH] Revert "Remove the create_ios_framework.py tool. (#2946)" (#2950) This reverts commit 26f8970835335a3723509d1b04a39c4b4c2b963e. --- sky/tools/create_ios_framework.py | 59 +++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 sky/tools/create_ios_framework.py diff --git a/sky/tools/create_ios_framework.py b/sky/tools/create_ios_framework.py new file mode 100755 index 000000000..8651982cc --- /dev/null +++ b/sky/tools/create_ios_framework.py @@ -0,0 +1,59 @@ +#!/usr/bin/env python +# Copyright 2016 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. + +import argparse +import subprocess +import shutil +import sys +import os + + +def main(): + parser = argparse.ArgumentParser(description='Creates Flutter.framework') + + parser.add_argument('--dst', type=str, required=True) + parser.add_argument('--device-out-dir', type=str, required=True) + parser.add_argument('--simulator-out-dir', type=str, required=True) + + args = parser.parse_args() + + fat_framework = os.path.join(args.dst, 'Flutter.framework') + device_framework = os.path.join(args.device_out_dir, 'Flutter.framework') + simulator_framework = os.path.join(args.simulator_out_dir, 'Flutter.framework') + + device_dylib = os.path.join(device_framework, 'Flutter') + simulator_dylib = os.path.join(simulator_framework, 'Flutter') + + if not os.path.isdir(device_framework): + print 'Cannot find iOS device Framework at', device_framework + return 1 + + if not os.path.isdir(simulator_framework): + print 'Cannot find iOS simulator Framework at', simulator_framework + return 1 + + if not os.path.isfile(device_dylib): + print 'Cannot find iOS device dylib at', device_dylib + return 1 + + if not os.path.isfile(simulator_dylib): + print 'Cannot find iOS simulator dylib at', simulator_dylib + return 1 + + shutil.rmtree(fat_framework, True) + shutil.copytree(device_framework, fat_framework) + + subprocess.call([ + 'lipo', + device_dylib, + simulator_dylib, + '-create', + '-output', + os.path.join(fat_framework, 'Flutter') + ]) + + +if __name__ == '__main__': + sys.exit(main())