Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(805)

Unified Diff: webrtc/examples/androidtests/gradle_project_test.py

Issue 2858043006: Test for Gradle project generation. (Closed)
Patch Set: Test for Gradle project generation. Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « webrtc/examples/androidtests/gradle/gradlew.bat ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webrtc/examples/androidtests/gradle_project_test.py
diff --git a/webrtc/examples/androidtests/gradle_project_test.py b/webrtc/examples/androidtests/gradle_project_test.py
new file mode 100644
index 0000000000000000000000000000000000000000..3dc6bdd5a95fd8184148a704dc566fcf9a5dff21
--- /dev/null
+++ b/webrtc/examples/androidtests/gradle_project_test.py
@@ -0,0 +1,68 @@
+#!/usr/bin/env python
+# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved.
+#
+# Use of this source code is governed by a BSD-style license
+# that can be found in the LICENSE file in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS. All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+
+"""
+This scripts tests creating an Android Studio project using the
+generate_gradle.py script and making a debug build using it.
+
+It expect to be given the webrtc output build directory as the first argument
+all other arguments are optional.
+"""
+
+import argparse
+import logging
+import os
+import shutil
+import subprocess
+import sys
+import tempfile
+
kjellander_webrtc 2017/05/05 07:30:13 "Two blank lines between top-level definitions, on
sakal 2017/05/05 07:53:26 Done.
+SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
+SRC_DIR = os.path.normpath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir,
+ os.pardir))
+GENERATE_GRADLE_SCRIPT = os.path.join(SRC_DIR,
+ 'build/android/gradle/generate_gradle.py')
+GRADLEW_BIN = os.path.join(SCRIPT_DIR, 'gradle/gradlew')
+
+def _RunCommand(argv, cwd=SRC_DIR, **kwargs):
+ logging.info('Running %r', argv)
+ subprocess.check_call(argv, cwd=cwd, **kwargs)
+
+def _ParseArgs():
+ parser = argparse.ArgumentParser(
+ description='Test generating Android gradle project.')
+ parser.add_argument('build_dir_android',
+ help='The path to the build directory for Android.')
+ parser.add_argument('--project_dir',
+ help='A temporary directory to put the output.')
+
+ args = parser.parse_args()
+ return args
+
+def main():
+ logging.basicConfig(level=logging.INFO)
+ args = _ParseArgs()
+
+ project_dir = args.project_dir
+ if not project_dir:
+ project_dir = tempfile.mkdtemp()
+
+ output_dir = os.path.abspath(args.build_dir_android)
+ project_dir = os.path.abspath(project_dir)
+
+ _RunCommand([GENERATE_GRADLE_SCRIPT, '--output-directory', output_dir,
+ '--target', '//webrtc/examples:AppRTCMobile',
+ '--project-dir', project_dir,
+ '--use-gradle-process-resources', '--split-projects'])
+ _RunCommand([GRADLEW_BIN, 'assembleDebug'], project_dir)
kjellander_webrtc 2017/05/05 07:30:13 Is this going to build AppRTCMobile or everything?
sakal 2017/05/05 07:53:26 This is building AppRTCMobile. It is copying pre-c
kjellander_webrtc 2017/05/05 08:38:45 That's fine, let's just build this now, 15 seconds
+
+ shutil.rmtree(project_dir, True)
kjellander_webrtc 2017/05/05 07:30:13 Please put lines 59-63 within a a try: block and p
sakal 2017/05/05 07:53:26 Done.
+
+if __name__ == '__main__':
+ sys.exit(main())
« no previous file with comments | « webrtc/examples/androidtests/gradle/gradlew.bat ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698