| # Copyright 2015 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. |
| |
| # Create a test support APK, and allow a test apk to depend on it, without the test |
| # apk incorporating the test support apk's Java code. |
| # |
| # Inputs: |
| # test_support_apk_name - the name of the test support apk |
| # test_support_apk_target - a GYP target name to use internally in this file. |
| # test_support_apk_manifest_path - the full path of the manifest file for the test |
| # support apk |
| # test_support_dependencies - The dependencies of the test support APK. This should |
| # include all the APK's code. |
| # |
| # The corresponding test apk should depend on "require_<(test_support_apk_target)" |
| # It should not depend on "<(test_support_apk_target)" since, if it does, the test |
| # apk will incorporate the code of the test support apk. |
| { |
| 'conditions': [ |
| ['OS=="android"', { |
| 'variables' : { |
| 'test_support_apk_path': '<(PRODUCT_DIR)/apks/<(test_support_apk_name).apk' |
| }, |
| 'targets': [ |
| { |
| 'target_name': '<(test_support_apk_target)', |
| 'type': 'none', |
| 'dependencies': ['<@(test_support_apk_dependencies)',], |
| 'variables': { |
| 'apk_name': '<(test_support_apk_name)', |
| 'final_apk_path': '<(test_support_apk_path)', |
| 'java_in_dir': '<(DEPTH)/chrome/android/javatests', |
| 'java_in_dir_suffix': '/src_dummy', |
| 'android_manifest_path': '<(test_support_apk_manifest_path)', |
| }, |
| 'includes': [ |
| '../build/java_apk.gypi', |
| ], |
| }, |
| { |
| # This emulates gn's datadeps fields, allowing other APKs to declare |
| # that they require that this APK be built without including the |
| # test_support's code. |
| 'target_name': 'require_<(test_support_apk_target)', |
| 'type': 'none', |
| 'actions': [ |
| { |
| 'action_name': 'require_<(test_support_apk_name)', |
| 'message': 'Making sure <(test_support_apk_path) has been built.', |
| 'variables': { |
| 'required_file': '<(PRODUCT_DIR)/test_support_apk/<(test_support_apk_name).apk.required', |
| }, |
| 'inputs': [ |
| '<(test_support_apk_path)', |
| ], |
| 'outputs': [ |
| '<(required_file)', |
| ], |
| 'action': [ |
| 'python', '<(DEPTH)/build/android/gyp/touch.py', '<(required_file)', |
| ], |
| }, |
| ], |
| }, |
| ], |
| }], |
| ], |
| } |