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

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

Issue 2858043006: Test for Gradle project generation. (Closed)
Patch Set: Import gradle in DEPS. 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 | « DEPS ('k') | webrtc/examples/androidtests/third_party/.gitignore » ('j') | 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..07ae5703679314311f685900ab9ddbd71aed087d
--- /dev/null
+++ b/webrtc/examples/androidtests/gradle_project_test.py
@@ -0,0 +1,74 @@
+#!/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
+
+
+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, 'third_party/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)
+
+ try:
+ _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)
+ finally:
+ shutil.rmtree(project_dir, True)
kjellander_webrtc 2017/05/11 05:21:32 Hmm, I was going to try this script locally and I
+
+
+if __name__ == '__main__':
+ sys.exit(main())
« no previous file with comments | « DEPS ('k') | webrtc/examples/androidtests/third_party/.gitignore » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698