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

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

Issue 1812383003: [Devil] Replace generated Devil config with jinja template. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed android platform name. Created 4 years, 8 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 unified diff | Download patch
« no previous file with comments | « build/android/devil_chromium.json ('k') | build/android/gyp_devil_jinja_processor.py » ('j') | 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 logging
7 import os 8 import os
8 import sys 9 import sys
9 10
10 from pylib.constants import host_paths 11 from pylib.constants import host_paths
11 12
12 if host_paths.DEVIL_PATH not in sys.path: 13 if host_paths.DEVIL_PATH not in sys.path:
13 sys.path.append(host_paths.DEVIL_PATH) 14 sys.path.append(host_paths.DEVIL_PATH)
14 15
15 from devil import devil_env 16 from devil import devil_env
16 17
17 _DEVIL_CONFIG = os.path.abspath(
18 os.path.join(os.path.dirname(__file__), 'devil_chromium.json'))
19
20 _DEVIL_BUILD_PRODUCT_DEPS = {
21 'forwarder_device': [
22 {
23 'platform': 'android',
24 'arch': 'armeabi-v7a',
25 'name': 'forwarder_dist',
26 },
27 {
28 'platform': 'android',
29 'arch': 'arm64-v8a',
30 'name': 'forwarder_dist',
31 },
32 {
33 'platform': 'android',
34 'arch': 'mips',
35 'name': 'forwarder_dist',
36 },
37 {
38 'platform': 'android',
39 'arch': 'mips64',
40 'name': 'forwarder_dist',
41 },
42 {
43 'platform': 'android',
44 'arch': 'x86',
45 'name': 'forwarder_dist',
46 },
47 {
48 'platform': 'android',
49 'arch': 'x86_64',
50 'name': 'forwarder_dist',
51 },
52 ],
53 'forwarder_host': [
54 {
55 'platform': 'linux2',
56 'arch': 'x86_64',
57 'name': 'host_forwarder',
58 },
59 ],
60 'md5sum_device': [
61 {
62 'platform': 'android',
63 'arch': 'armeabi-v7a',
64 'name': 'md5sum_dist',
65 },
66 {
67 'platform': 'android',
68 'arch': 'arm64-v8a',
69 'name': 'md5sum_dist',
70 },
71 {
72 'platform': 'android',
73 'arch': 'mips',
74 'name': 'md5sum_dist',
75 },
76 {
77 'platform': 'android',
78 'arch': 'mips64',
79 'name': 'md5sum_dist',
80 },
81 {
82 'platform': 'android',
83 'arch': 'x86',
84 'name': 'md5sum_dist',
85 },
86 {
87 'platform': 'android',
88 'arch': 'x86_64',
89 'name': 'md5sum_dist',
90 },
91 ],
92 'md5sum_host': [
93 {
94 'platform': 'linux2',
95 'arch': 'x86_64',
96 'name': 'md5sum_bin_host',
97 },
98 ],
99 }
100
101 18
102 def Initialize(output_directory=None, custom_deps=None): 19 def Initialize(output_directory=None, custom_deps=None):
103 """Initializes devil with chromium's binaries and third-party libraries. 20 """Initializes devil with chromium's binaries and third-party libraries.
104 21
105 This includes: 22 This includes:
106 - Libraries: 23 - Libraries:
107 - the android SDK ("android_sdk") 24 - the android SDK ("android_sdk")
108 - pymock ("pymock") 25 - pymock ("pymock")
109 - Build products: 26 - Build products:
110 - host & device forwarder binaries 27 - host & device forwarder binaries
111 ("forwarder_device" and "forwarder_host") 28 ("forwarder_device" and "forwarder_host")
112 - host & device md5sum binaries ("md5sum_device" and "md5sum_host") 29 - host & device md5sum binaries ("md5sum_device" and "md5sum_host")
113 30
114 Args: 31 Args:
115 output_directory: An optional path to the output directory. If not set, 32 output_directory: An optional path to the output directory. If not set,
116 no built dependencies are configured. 33 no built dependencies are configured.
117 custom_deps: An optional dictionary specifying custom dependencies. 34 custom_deps: An optional dictionary specifying custom dependencies.
118 This should be of the form: 35 This should be of the form:
119 36
120 { 37 {
121 'dependency_name': { 38 'dependency_name': {
122 'platform': 'path', 39 'platform': 'path',
123 ... 40 ...
124 }, 41 },
125 ... 42 ...
126 } 43 }
127 """ 44 """
45 config_files = None
46 if output_directory:
47 generated_config_file = os.path.abspath(os.path.join(
48 output_directory, 'gen', 'devil_chromium.json'))
49 if os.path.exists(generated_config_file):
50 config_files = [generated_config_file]
51 else:
52 logging.warning('%s not found in output directory.',
53 generated_config_file)
128 54
129 devil_dynamic_config = { 55 custom_config = {
130 'config_type': 'BaseConfig', 56 'config_type': 'BaseConfig',
131 'dependencies': {}, 57 'dependencies': {},
132 } 58 }
133 if output_directory:
134 output_directory = os.path.abspath(output_directory)
135 devil_dynamic_config['dependencies'] = {
136 dep_name: {
137 'file_info': {
138 '%s_%s' % (dep_config['platform'], dep_config['arch']): {
139 'local_paths': [
140 os.path.join(output_directory, dep_config['name']),
141 ],
142 }
143 for dep_config in dep_configs
144 }
145 }
146 for dep_name, dep_configs in _DEVIL_BUILD_PRODUCT_DEPS.iteritems()
147 }
148 if custom_deps: 59 if custom_deps:
149 devil_dynamic_config['dependencies'].update(custom_deps) 60 custom_config['dependencies'].update(custom_deps)
150 61
151 devil_env.config.Initialize( 62 devil_env.config.Initialize(
152 configs=[devil_dynamic_config], config_files=[_DEVIL_CONFIG]) 63 configs=[custom_config], config_files=config_files)
153 64
OLDNEW
« no previous file with comments | « build/android/devil_chromium.json ('k') | build/android/gyp_devil_jinja_processor.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698