blob: ebae542e5890507f409eb760d78ba97a1d559903 [file] [log] [blame]
Rico Wind86bfc832018-09-18 07:48:21 +02001# Copyright (c) 2018, the R8 project authors. Please see the AUTHORS file
2# for details. All rights reserved. Use of this source code is governed by a
3# BSD-style license that can be found in the LICENSE file.
4
5import os
6import utils
7
Christoffer Quist Adamsence640052020-04-30 11:47:41 +02008ANDROID_N_API = '24'
Rico Wind6238f222018-10-03 10:36:10 +02009BASE = os.path.join(utils.THIRD_PARTY, 'chrome')
Rico Wind86bfc832018-09-18 07:48:21 +020010
Jinseong Jeonb0849772019-07-17 23:47:03 -070011V180917_BASE = os.path.join(BASE, 'chrome_180917_ffbaa8')
Christoffer Quist Adamsence640052020-04-30 11:47:41 +020012V200430_BASE = os.path.join(BASE, 'chrome_200430')
Christoffer Quist Adamsen287c1862020-05-20 15:51:12 +020013V200520_MINIMAL_BASE = os.path.join(
14 BASE, 'monochrome_public_minimal_apks', 'chrome_200520')
Jinseong Jeonb0849772019-07-17 23:47:03 -070015
Rico Wind86bfc832018-09-18 07:48:21 +020016INPUT_JARS = [
17 'out/Release/gen/chrome/android/monochrome_public_apk/monochrome_public_apk.jar',
18 'out/Release/lib.java/third_party/bazel/desugar/Desugar-runtime.jar',
19 'out/Release/lib.java/build/android/buildhooks/build_hooks_java.jar',
20 'out/Release/lib.java/third_party/android_deps/com_android_support_support_annotations.jar',
21 'out/Release/lib.java/build/android/buildhooks/build_hooks_android_java.jar',
22 'out/Release/lib.java/third_party/android_deps/com_android_support_multidex_java.jar',
23 'out/Release/lib.java/third_party/android_deps/android_arch_core_common.jar',
24 'out/Release/lib.java/third_party/android_deps/android_arch_lifecycle_common.jar',
25 'out/Release/lib.java/third_party/android_deps/android_arch_lifecycle_runtime_java.jar',
26 'out/Release/lib.java/third_party/android_deps/com_android_support_support_compat_java.jar',
27 'out/Release/lib.java/third_party/android_deps/com_android_support_support_core_ui_java.jar',
28 'out/Release/lib.java/third_party/android_deps/com_android_support_support_core_utils_java.jar',
29 'out/Release/lib.java/third_party/android_deps/com_android_support_support_fragment_java.jar',
30 'out/Release/lib.java/third_party/android_deps/com_android_support_support_media_compat_java.jar',
31 'out/Release/lib.java/third_party/android_deps/com_android_support_support_v4_java.jar',
32 'out/Release/lib.java/third_party/jsr-305/jsr_305_javalib.jar',
33 'out/Release/lib.java/base/base_java.jar',
34 'out/Release/lib.java/android_webview/android_webview_commandline_java.jar',
35 'out/Release/lib.java/android_webview/android_webview_platform_services_java.jar',
36 'out/Release/lib.java/third_party/protobuf/protobuf_lite_javalib.jar',
37 'out/Release/lib.java/android_webview/proto/aw_variations_seed_proto_java.jar',
38 'out/Release/lib.java/components/variations/android/variations_java.jar',
39 'out/Release/lib.java/android_webview/android_webview_variations_utils_java.jar',
40 'out/Release/lib.java/components/background_task_scheduler/background_task_scheduler_task_ids_java.jar',
41 'out/Release/lib.java/components/minidump_uploader/minidump_uploader_java.jar',
42 'out/Release/lib.java/components/version_info/android/version_constants_java.jar',
43 'out/Release/lib.java/android_webview/android_webview_services_java.jar',
44 'out/Release/lib.java/components/download/public/common/public_java.jar',
45 'out/Release/lib.java/ui/android/ui_utils_java.jar',
46 'out/Release/lib.java/third_party/android_deps/com_android_support_support_vector_drawable_java.jar',
47 'out/Release/lib.java/third_party/android_deps/com_android_support_animated_vector_drawable_java.jar',
48 'out/Release/lib.java/third_party/android_deps/com_android_support_appcompat_v7_java.jar',
49 'out/Release/lib.java/ui/android/ui_full_java.jar',
50 'out/Release/lib.java/components/location/android/location_java.jar',
51 'out/Release/lib.java/device/bluetooth/java.jar',
52 'out/Release/lib.java/device/gamepad/java.jar',
53 'out/Release/lib.java/device/usb/java.jar',
54 'out/Release/lib.java/media/base/android/media_java.jar',
55 'out/Release/lib.java/media/capture/content/android/screen_capture_java.jar',
56 'out/Release/lib.java/media/capture/video/android/capture_java.jar',
57 'out/Release/lib.java/media/midi/midi_java.jar',
58 'out/Release/lib.java/mojo/public/java/system_java.jar',
59 'out/Release/lib.java/mojo/public/java/bindings_java.jar',
60 'out/Release/lib.java/mojo/public/mojom/base/base_java.jar',
61 'out/Release/lib.java/ui/gfx/geometry/mojo/mojo_java.jar',
62 'out/Release/lib.java/ui/gfx/mojo/mojo_java.jar',
63 'out/Release/lib.java/gpu/ipc/common/gpu_preferences_interface_java.jar',
64 'out/Release/lib.java/gpu/ipc/common/interfaces_java.jar',
65 'out/Release/lib.java/services/service_manager/public/mojom/constants_java.jar',
66 'out/Release/lib.java/services/service_manager/public/mojom/mojom_java.jar',
67 'out/Release/lib.java/url/mojom/url_mojom_gurl_java.jar',
68 'out/Release/lib.java/url/mojom/url_mojom_origin_java.jar',
69 'out/Release/lib.java/media/mojo/interfaces/interfaces_java.jar',
70 'out/Release/lib.java/mojo/public/java/system/system_impl_java.jar',
71 'out/Release/lib.java/mojo/public/java/base_java.jar',
72 'out/Release/lib.java/net/android/net_thread_stats_uid_java.jar',
73 'out/Release/lib.java/net/android/net_java.jar',
74 'out/Release/lib.java/services/device/public/mojom/constants_java.jar',
75 'out/Release/lib.java/services/network/public/mojom/data_pipe_interfaces_java.jar',
76 'out/Release/lib.java/services/network/public/mojom/mutable_network_traffic_annotation_interface_java.jar',
77 'out/Release/lib.java/mojo/public/mojom/base/read_only_buffer_java.jar',
78 'out/Release/lib.java/net/interfaces/interfaces_java.jar',
79 'out/Release/lib.java/services/network/public/mojom/udp_socket_interface_java.jar',
80 'out/Release/lib.java/services/network/public/mojom/websocket_mojom_java.jar',
81 'out/Release/lib.java/components/content_settings/core/common/mojo_bindings_java.jar',
82 'out/Release/lib.java/services/proxy_resolver/public/mojom/mojom_java.jar',
83 'out/Release/lib.java/services/network/public/mojom/mojom_java.jar',
84 'out/Release/lib.java/services/device/public/mojom/mojom_java.jar',
85 'out/Release/lib.java/services/service_manager/public/java/service_manager_java.jar',
86 'out/Release/lib.java/services/device/battery/android/battery_monitor_java.jar',
87 'out/Release/lib.java/services/device/public/mojom/generic_sensor_java.jar',
88 'out/Release/lib.java/services/device/generic_sensor/java.jar',
89 'out/Release/lib.java/clank/third_party/android/google_play_services_basement_client.jar',
90 'out/Release/lib.java/clank/third_party/android/google_play_services_tasks_client.jar',
91 'out/Release/lib.java/clank/third_party/android/google_play_services_base_client.jar',
92 'out/Release/lib.java/clank/third_party/android/google_play_services_location_client.jar',
93 'out/Release/lib.java/services/device/public/java/geolocation_java.jar',
94 'out/Release/lib.java/services/device/geolocation/geolocation_java.jar',
95 'out/Release/lib.java/services/device/public/java/nfc_java.jar',
96 'out/Release/lib.java/services/device/nfc/android/java.jar',
97 'out/Release/lib.java/services/device/screen_orientation/java.jar',
98 'out/Release/lib.java/services/device/time_zone_monitor/java.jar',
99 'out/Release/lib.java/services/device/vibration/android/vibration_manager_java.jar',
100 'out/Release/lib.java/services/device/wake_lock/power_save_blocker/java.jar',
101 'out/Release/lib.java/services/device/java.jar',
102 'out/Release/lib.java/clank/third_party/android/google_play_services_phenotype_client.jar',
103 'out/Release/lib.java/clank/third_party/android/google_play_services_clearcut_client.jar',
104 'out/Release/lib.java/clank/third_party/android/google_play_services_vision_common_client.jar',
105 'out/Release/lib.java/clank/third_party/android/google_play_services_vision_client.jar',
106 'out/Release/lib.java/skia/public/interfaces/interfaces_java.jar',
107 'out/Release/lib.java/services/shape_detection/public/mojom/mojom_java.jar',
108 'out/Release/lib.java/services/shape_detection/shape_detection_java.jar',
109 'out/Release/lib.java/third_party/blink/public/android_mojo_bindings_java.jar',
110 'out/Release/lib.java/third_party/blink/public/blink_headers_java.jar',
111 'out/Release/lib.java/components/payments/mojom/mojom_java.jar',
112 'out/Release/lib.java/third_party/blink/public/mojom/android_mojo_bindings_java.jar',
113 'out/Release/lib.java/third_party/blink/public/mojom/speech_recognition_error_code_java.jar',
114 'out/Release/lib.java/components/services/filesystem/public/interfaces/interfaces_java.jar',
115 'out/Release/lib.java/device/usb/public/mojom/mojom_java.jar',
116 'out/Release/lib.java/third_party/blink/public/mojom/usb/usb_java.jar',
117 'out/Release/lib.java/third_party/blink/public/mojom/mojom_platform_java.jar',
118 'out/Release/lib.java/third_party/blink/public/mojom/mojom_core_java.jar',
119 'out/Release/lib.java/content/public/android/content_java.jar',
120 'out/Release/lib.java/components/autofill/android/autofill_java.jar',
121 'out/Release/lib.java/components/autofill/android/provider_java.jar',
122 'out/Release/lib.java/components/crash/android/java.jar',
123 'out/Release/lib.java/components/embedder_support/android/web_contents_delegate_java.jar',
124 'out/Release/lib.java/components/navigation_interception/android/navigation_interception_java.jar',
125 'out/Release/lib.java/components/policy/android/policy_java.jar',
126 'out/Release/lib.java/components/safe_browsing/android/safe_browsing_java.jar',
127 'out/Release/lib.java/components/variations/load_seed_result_enum_java.jar',
128 'out/Release/lib.java/components/web_restrictions/client_java.jar',
129 'out/Release/lib.java/components/spellcheck/browser/android/java.jar',
130 'out/Release/lib.java/android_webview/android_webview_java.jar',
131 'out/Release/lib.java/android_webview/support_library/boundary_interfaces/boundary_interface_java.jar',
132 'out/Release/lib.java/android_webview/support_library/callback/callback_java.jar',
133 'out/Release/lib.java/android_webview/glue/glue.jar',
134 'out/Release/lib.java/android_webview/support_library/support_lib_glue_java.jar',
135 'out/Release/lib.java/chrome/android/document_tab_model_info_proto_java.jar',
136 'out/Release/lib.java/chrome/android/partner_location_descriptor_proto_java.jar',
137 'out/Release/lib.java/chrome/android/thumbnail_cache_entry_proto_java.jar',
138 'out/Release/lib.java/clank/third_party/android/google_play_services_auth_base_client.jar',
139 'out/Release/lib.java/third_party/android_deps/com_android_support_palette_v7_java.jar',
140 'out/Release/lib.java/third_party/android_deps/com_android_support_mediarouter_v7_java.jar',
141 'out/Release/lib.java/clank/third_party/android/google_play_services_cast_client.jar',
142 'out/Release/lib.java/third_party/android_deps/com_android_support_recyclerview_v7_java.jar',
143 'out/Release/lib.java/clank/third_party/android/google_play_services_cast_framework_client.jar',
144 'out/Release/lib.java/clank/third_party/android/google_play_services_fido_client.jar',
145 'out/Release/lib.java/clank/third_party/android/google_play_services_stats_client.jar',
146 'out/Release/lib.java/clank/third_party/android/google_play_services_iid_client.jar',
147 'out/Release/lib.java/clank/third_party/android/google_play_services_gcm_client.jar',
148 'out/Release/lib.java/chrome/android/third_party/compositor_animator/compositor_animator_java.jar',
149 'out/Release/lib.java/chrome/android/webapk/libs/common/common_java.jar',
150 'out/Release/lib.java/chrome/android/webapk/libs/runtime_library/webapk_service_aidl_java.jar',
151 'out/Release/lib.java/chrome/android/webapk/libs/client/client_java.jar',
152 'out/Release/lib.java/components/background_task_scheduler/background_task_scheduler_java.jar',
153 'out/Release/lib.java/components/bookmarks/common/android/bookmarks_java.jar',
154 'out/Release/lib.java/components/contextual_search/content/mojo_bindings_java.jar',
155 'out/Release/lib.java/components/dom_distiller/core/android/dom_distiller_core_java.jar',
156 'out/Release/lib.java/components/dom_distiller/content/browser/android/dom_distiller_content_java.jar',
157 'out/Release/lib.java/components/download/internal/background_service/internal_java.jar',
158 'out/Release/lib.java/components/download/public/background_service/public_java.jar',
159 'out/Release/lib.java/components/embedder_support/android/content_view_java.jar',
160 'out/Release/lib.java/components/feature_engagement/public/public_java.jar',
161 'out/Release/lib.java/components/feature_engagement/internal/internal_java.jar',
162 'out/Release/lib.java/third_party/android_tools/gcm.jar',
163 'out/Release/lib.java/components/gcm_driver/android/gcm_driver_java.jar',
164 'out/Release/lib.java/components/gcm_driver/instance_id/android/instance_id_driver_java.jar',
165 'out/Release/lib.java/components/invalidation/impl/proto_java.jar',
166 'out/Release/lib.java/components/signin/core/browser/android/java.jar',
167 'out/Release/lib.java/third_party/android_protobuf/protobuf_nano_javalib.jar',
168 'out/Release/lib.java/third_party/cacheinvalidation/cacheinvalidation_proto_java.jar',
169 'out/Release/lib.java/third_party/cacheinvalidation/cacheinvalidation_javalib.jar',
170 'out/Release/lib.java/components/sync/android/sync_java.jar',
171 'out/Release/lib.java/components/invalidation/impl/java.jar',
172 'out/Release/lib.java/components/offline_items_collection/core/core_java.jar',
173 'out/Release/lib.java/components/payments/content/android/java.jar',
174 'out/Release/lib.java/components/url_formatter/android/url_formatter_java.jar',
175 'out/Release/lib.java/components/viz/service/service_java.jar',
176 'out/Release/lib.java/components/web_restrictions/provider_java.jar',
177 'out/Release/lib.java/printing/printing_java.jar',
178 'out/Release/lib.java/services/data_decoder/public/cpp/android/safe_json_java.jar',
179 'out/Release/lib.java/third_party/android_data_chart/android_data_chart_java.jar',
180 'out/Release/lib.java/third_party/android_deps/javax_inject_javax_inject.jar',
181 'out/Release/lib.java/third_party/android_deps/com_google_dagger_dagger.jar',
182 'out/Release/lib.java/third_party/android_media/android_media_java.jar',
183 'out/Release/lib.java/third_party/android_swipe_refresh/android_swipe_refresh_java.jar',
184 'out/Release/lib.java/third_party/android_deps/com_android_support_transition_java.jar',
185 'out/Release/lib.java/third_party/android_deps/com_android_support_design_java.jar',
186 'out/Release/lib.java/third_party/android_deps/com_android_support_support_v13_java.jar',
187 'out/Release/lib.java/third_party/android_deps/com_android_support_gridlayout_v7_java.jar',
188 'out/Release/lib.java/third_party/custom_tabs_client/custom_tabs_support_java.jar',
189 'out/Release/lib.java/third_party/gif_player/gif_player_java.jar',
190 'out/Release/lib.java/third_party/leakcanary/leakcanary_noop_java.jar',
191 'out/Release/lib.java/ui/base/mojo/mojo_java.jar',
192 'out/Release/lib.java/third_party/feed/feed_lib_proto_java.jar',
193 'out/Release/lib.java/third_party/android_deps/com_android_support_cardview_v7_java.jar',
194 'out/Release/lib.java/third_party/feed/feed_lib_java.jar',
195 'out/Release/lib.java/third_party/gvr-android-sdk/gvr_common_java.jar',
196 'out/Release/lib.java/device/vr/java.jar',
197 'out/Release/lib.java/third_party/gvr-android-keyboard/kb_java.jar',
198 'out/Release/lib.java/chrome/android/chrome_java.jar',
199 'out/Release/lib.java/chrome/android/monochrome_java.jar',
200 'out/Release/lib.java/android_webview/platform_service_bridge_upstream_implementation_java.jar',
201 'out/Release/lib.java/chrome/android/app_hooks_java.jar',
202 'out/Release/lib.java/android_webview/apk/webview_license_activity_java.jar',
203 'out/Release/lib.java/components/about_ui/android/aboutui_java.jar',
204 'out/Release/lib.java/chrome/android/monochrome/monochrome_license_provider_java.jar',
205 'out/Release/lib.java/chrome/browser/android/vr/java.jar',
206 'out/Release/lib.java/third_party/arcore-android-sdk/libarcore_client_c.jar',
207 'out/Release/lib.java/build/android/buildhooks/build_hooks_android_impl_java.jar'
208]
209
210PG_CONFS = [
211 'out/Release/gen/chrome/android/monochrome_public_apk/monochrome_public_apk.resources.proguard.txt',
212 'android_webview/apk/java/proguard.flags',
213 'chrome/android/java/proguard.flags',
214 'base/android/proguard/chromium_apk.flags',
215 'base/android/proguard/chromium_code.flags',
216 'base/android/proguard/enable_obfuscation.flags',
217 'build/android/multidex.flags',
218 'build/android/buildhooks/proguard/build_hooks_android_impl.flags',
219 'out/Release/gen/third_party/android_deps/android_arch_lifecycle_runtime_java/proguard.txt',
220 'out/Release/gen/third_party/android_deps/com_android_support_support_core_ui_java/proguard.txt',
221 'out/Release/gen/third_party/android_deps/com_android_support_support_media_compat_java/proguard.txt',
222 'out/Release/gen/third_party/android_deps/com_android_support_animated_vector_drawable_java/proguard.txt',
223 'clank/third_party/android/javalibs/google-play-services-first-party/base_1p/proguard.txt',
224 'clank/third_party/android/javalibs/google-play-services-first-party/basement_1p/proguard.txt',
225 'clank/third_party/android/javalibs/google-play-services-first-party/cast-framework_1p/proguard.txt',
226 'clank/third_party/android/javalibs/google-play-services-first-party/fido_1p/proguard.txt',
227 'clank/third_party/android/javalibs/google-play-services-first-party/gcm_1p/proguard.txt',
228 'clank/third_party/android/javalibs/google-play-services-first-party/people_1p/proguard.txt',
229 'clank/third_party/android/apk_proguard.flags',
230 'android_webview/support_library/boundary_interfaces/proguard.flags',
231 'out/Release/gen/third_party/android_deps/com_android_support_recyclerview_v7_java/proguard.txt',
232 'out/Release/gen/third_party/android_deps/com_android_support_transition_java/proguard.txt',
233 'out/Release/gen/third_party/android_deps/com_android_support_design_java/proguard.txt',
234 'third_party/gvr-android-sdk/src/proguard-gvr.txt',
235 'third_party/gvr-android-sdk/proguard-gvr-chromium.txt',
236 'third_party/arcore-android-sdk/proguard-arcore.txt',
237]
238
239LIBRARIES = [
240 'third_party/android_tools/sdk/platforms/android-28/optional/org.apache.http.legacy.jar',
241 'out/Release/lib.java/third_party/android_system_sdk/android_system.jar'
242]
243
244VERSIONS = {
Jinseong Jeonb0849772019-07-17 23:47:03 -0700245 '180917': {
Rico Wind86bfc832018-09-18 07:48:21 +0200246 'deploy' : {
247 'r8-flags': '--no-desugaring',
Jinseong Jeonb0849772019-07-17 23:47:03 -0700248 'inputs': [os.path.join(V180917_BASE, path) for path in INPUT_JARS],
249 'pgconf': [os.path.join(V180917_BASE, path) for path in PG_CONFS],
250 'libraries': [os.path.join(V180917_BASE, path) for path in LIBRARIES],
Morten Krogh-Jespersenf7b48112021-10-25 22:18:50 +0200251 'min-api': '21',
Rico Wind86bfc832018-09-18 07:48:21 +0200252 },
253 },
Christoffer Quist Adamsence640052020-04-30 11:47:41 +0200254 '200430': {
255 'deploy' : {
256 'inputs': [os.path.join(V200430_BASE, 'program.jar')],
257 'pgconf': [os.path.join(V200430_BASE, 'proguard.config')],
258 'libraries': [os.path.join(V200430_BASE, 'library.jar')],
259 'min-api': ANDROID_N_API
260 },
261 },
Christoffer Quist Adamsen287c1862020-05-20 15:51:12 +0200262 '200520-monochrome_public_minimal_apks': {
263 'deploy' : {
264 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'program.jar')],
265 'features': [
266 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-1.jar')] },
267 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-2.jar')] },
268 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-3.jar')] },
269 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-4.jar')] },
270 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-5.jar')] },
271 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-6.jar')] },
272 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-7.jar')] },
273 { 'inputs': [os.path.join(V200520_MINIMAL_BASE, 'feature-8.jar')] }
274 ],
Christoffer Quist Adamsen1ca046c2021-02-21 11:25:16 +0100275 'pgconf': [os.path.join(V200520_MINIMAL_BASE, 'proguard.config'),
276 utils.IGNORE_WARNINGS_RULES],
Christoffer Quist Adamsen287c1862020-05-20 15:51:12 +0200277 'libraries': [os.path.join(V200520_MINIMAL_BASE, 'library.jar')],
278 'min-api': ANDROID_N_API
279 },
280 },
Rico Wind86bfc832018-09-18 07:48:21 +0200281}
Christoffer Quist Adamsen81d41502021-06-25 09:33:43 +0200282
283def GetLatestVersion():
284 return '200520-monochrome_public_minimal_apks'
285
286def GetName():
287 return 'chrome'
288
289def GetMemoryData(version):
290 assert version == '200520-monochrome_public_minimal_apks'
291 return {
292 'find-xmx-min': 600,
293 'find-xmx-max': 700,
294 'find-xmx-range': 16,
295 'oom-threshold': 625,
296 }