From f1c5394161a8701ef2b6be2d8424813528389b1c Mon Sep 17 00:00:00 2001 From: "kjellander@chromium.org" Date: Mon, 24 Nov 2014 21:58:56 +0000 Subject: [PATCH] WebRTC: Add fetch recipes to depot_tools. For Mac, we're depending on having both ios+mac for target_os. R=agable@chromium.org Review URL: https://codereview.chromium.org/753123003 git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293085 0039d316-1c4b-4281-b951-d872f2087c98 --- recipes/webrtc.py | 50 +++++++++++++++++++++++++++++++++++++++ recipes/webrtc_android.py | 34 ++++++++++++++++++++++++++ recipes/webrtc_ios.py | 34 ++++++++++++++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 recipes/webrtc.py create mode 100644 recipes/webrtc_android.py create mode 100644 recipes/webrtc_ios.py diff --git a/recipes/webrtc.py b/recipes/webrtc.py new file mode 100644 index 0000000000..8771e8a9bd --- /dev/null +++ b/recipes/webrtc.py @@ -0,0 +1,50 @@ +# Copyright (c) 2014 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 sys + +import recipe_util # pylint: disable=F0401 + + +# This class doesn't need an __init__ method, so we disable the warning +# pylint: disable=W0232 +class WebRTC(recipe_util.Recipe): + """Basic Recipe class for WebRTC.""" + + @staticmethod + def fetch_spec(props): + url = 'https://chromium.googlesource.com/external/webrtc.git' + spec = { + 'solutions': [ + { + 'name': 'src', + 'url': url, + 'deps_file': 'DEPS', + 'managed': False, + 'custom_deps': {}, + 'safesync_url': '', + }, + ], + 'auto': True, # Runs git auto-svn as a part of the fetch. + } + + if props.get('target_os'): + spec['target_os'] = props['target_os'].split(',') + + return { + 'type': 'gclient_git_svn', + 'gclient_git_svn_spec': spec, + } + + @staticmethod + def expected_root(_props): + return 'src' + + +def main(argv=None): + return WebRTC().handle_args(argv) + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/recipes/webrtc_android.py b/recipes/webrtc_android.py new file mode 100644 index 0000000000..6d6018a86c --- /dev/null +++ b/recipes/webrtc_android.py @@ -0,0 +1,34 @@ +# Copyright (c) 2014 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 sys + +import recipe_util # pylint: disable=F0401 + + +# This class doesn't need an __init__ method, so we disable the warning +# pylint: disable=W0232 +class WebRTCAndroid(recipe_util.Recipe): + """Basic Recipe alias for Android -> WebRTC.""" + + @staticmethod + def fetch_spec(props): + return { + 'alias': { + 'recipe': 'webrtc', + 'props': ['--target_os=android,unix'], + }, + } + + @staticmethod + def expected_root(_props): + return 'src' + + +def main(argv=None): + return WebRTCAndroid().handle_args(argv) + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) diff --git a/recipes/webrtc_ios.py b/recipes/webrtc_ios.py new file mode 100644 index 0000000000..550ad8d3fa --- /dev/null +++ b/recipes/webrtc_ios.py @@ -0,0 +1,34 @@ +# Copyright 2014 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 sys + +import recipe_util # pylint: disable=F0401 + + +# This class doesn't need an __init__ method, so we disable the warning +# pylint: disable=W0232 +class WebRTCIOS(recipe_util.Recipe): + """Basic Recipe alias for iOS -> WebRTC.""" + + @staticmethod + def fetch_spec(props): + return { + 'alias': { + 'recipe': 'webrtc', + 'props': ['--target_os=ios,mac'], + }, + } + + @staticmethod + def expected_root(_props): + return 'src' + + +def main(argv=None): + return WebRTCIOS().handle_args(argv) + + +if __name__ == '__main__': + sys.exit(main(sys.argv))