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

Side by Side Diff: build/android/devil_chromium.py

Issue 1539403002: [Android] Revise devil environment handling of host dependencies. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix empty config w/o output_directory Created 5 years 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 unified diff | Download patch
« no previous file with comments | « build/android/devil_chromium.json ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 1 # Copyright 2015 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 """Configures devil for use in chromium.""" 5 """Configures devil for use in chromium."""
6 6
7 import os 7 import os
8 8
9 from devil import devil_env 9 from devil import devil_env
10 10
11 11
12 _DEVIL_CONFIG = os.path.abspath( 12 _DEVIL_CONFIG = os.path.abspath(
13 os.path.join(os.path.dirname(__file__), 'devil_chromium.json')) 13 os.path.join(os.path.dirname(__file__), 'devil_chromium.json'))
14 14
15 _DEVIL_BUILD_PRODUCT_DEPS = { 15 _DEVIL_BUILD_PRODUCT_DEPS = {
16 'forwarder_device': { 16 'forwarder_device': [
17 'armeabi-v7a': 'forwarder_dist', 17 {
18 'arm64-v8a': 'forwarder_dist', 18 'platform': 'android',
19 'mips': 'forwarder_dist', 19 'arch': 'armeabi-v7a',
20 'mips64': 'forwarder_dist', 20 'name': 'forwarder_dist',
21 'x86': 'forwarder_dist', 21 },
22 'x86_64': 'forwarder_dist', 22 {
23 }, 23 'platform': 'android',
24 'forwarder_host': { 24 'arch': 'arm64-v8a',
25 'any': 'host_forwarder', 25 'name': 'forwarder_dist',
26 }, 26 },
27 'md5sum_device': { 27 {
28 'armeabi-v7a': 'md5sum_dist', 28 'platform': 'android',
29 'arm64-v8a': 'md5sum_dist', 29 'arch': 'mips',
30 'mips': 'md5sum_dist', 30 'name': 'forwarder_dist',
31 'mips64': 'md5sum_dist', 31 },
32 'x86': 'md5sum_dist', 32 {
33 'x86_64': 'md5sum_dist', 33 'platform': 'android',
34 }, 34 'arch': 'mips64',
35 'md5sum_host': { 35 'name': 'forwarder_dist',
36 'any': 'md5sum_bin_host', 36 },
37 }, 37 {
38 'platform': 'android',
39 'arch': 'x86',
40 'name': 'forwarder_dist',
41 },
42 {
43 'platform': 'android',
44 'arch': 'x86_64',
45 'name': 'forwarder_dist',
46 },
47 ],
48 'forwarder_host': [
49 {
50 'platform': 'linux',
51 'arch': 'x86_64',
52 'name': 'host_forwarder',
53 },
54 ],
55 'md5sum_device': [
56 {
57 'platform': 'android',
58 'arch': 'armeabi-v7a',
59 'name': 'md5sum_dist',
60 },
61 {
62 'platform': 'android',
63 'arch': 'arm64-v8a',
64 'name': 'md5sum_dist',
65 },
66 {
67 'platform': 'android',
68 'arch': 'mips',
69 'name': 'md5sum_dist',
70 },
71 {
72 'platform': 'android',
73 'arch': 'mips64',
74 'name': 'md5sum_dist',
75 },
76 {
77 'platform': 'android',
78 'arch': 'x86',
79 'name': 'md5sum_dist',
80 },
81 {
82 'platform': 'android',
83 'arch': 'x86_64',
84 'name': 'md5sum_dist',
85 },
86 ],
87 'md5sum_host': [
88 {
89 'platform': 'linux',
90 'arch': 'x86_64',
91 'name': 'md5sum_bin_host',
92 },
93 ],
38 } 94 }
39 95
40 96
41 def Initialize(output_directory=None, custom_deps=None): 97 def Initialize(output_directory=None, custom_deps=None):
42 """Initializes devil with chromium's binaries and third-party libraries. 98 """Initializes devil with chromium's binaries and third-party libraries.
43 99
44 This includes: 100 This includes:
45 - Libraries: 101 - Libraries:
46 - the android SDK ("android_sdk") 102 - the android SDK ("android_sdk")
47 - pymock ("pymock") 103 - pymock ("pymock")
(...skipping 10 matching lines...) Expand all
58 114
59 { 115 {
60 'dependency_name': { 116 'dependency_name': {
61 'platform': 'path', 117 'platform': 'path',
62 ... 118 ...
63 }, 119 },
64 ... 120 ...
65 } 121 }
66 """ 122 """
67 123
68 devil_dynamic_deps = {}
69
70 if output_directory:
71 for dep_name, arch_dict in _DEVIL_BUILD_PRODUCT_DEPS.iteritems():
72 devil_dynamic_deps[dep_name] = {}
73 for arch, name in arch_dict.iteritems():
74 devil_dynamic_deps[dep_name][arch] = os.path.join(
75 output_directory, name)
76
77 devil_dynamic_config = { 124 devil_dynamic_config = {
78 'config_type': 'BaseConfig', 125 'config_type': 'BaseConfig',
79 'dependencies': { 126 'dependencies': {},
127 }
128 if output_directory:
129 devil_dynamic_config['dependencies'] = {
80 dep_name: { 130 dep_name: {
81 'file_info': { 131 'file_info': {
82 'android_%s' % arch: { 132 '%s_%s' % (dep_config['platform'], dep_config['arch']): {
83 'local_paths': [path] 133 'local_paths': [
134 os.path.join(output_directory, dep_config['name']),
135 ],
84 } 136 }
85 for arch, path in arch_dict.iteritems() 137 for dep_config in dep_configs
86 } 138 }
87 } 139 }
88 for dep_name, arch_dict in devil_dynamic_deps.iteritems() 140 for dep_name, dep_configs in _DEVIL_BUILD_PRODUCT_DEPS.iteritems()
89 } 141 }
90 }
91 if custom_deps: 142 if custom_deps:
92 devil_dynamic_config['dependencies'].update(custom_deps) 143 devil_dynamic_config['dependencies'].update(custom_deps)
93 144
94 devil_env.config.Initialize( 145 devil_env.config.Initialize(
95 configs=[devil_dynamic_config], config_files=[_DEVIL_CONFIG]) 146 configs=[devil_dynamic_config], config_files=[_DEVIL_CONFIG])
96 147
OLDNEW
« no previous file with comments | « build/android/devil_chromium.json ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698