blob: 94a97cebc62307bf3c4d7f3a3b549d58094005b9 [file] [log] [blame]
Mads Ager418d1ca2017-05-22 09:35:49 +02001# Copyright (c) 2017, 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 glob
6import os
7import utils
8
Yohann Roussel49e54a12017-06-23 18:08:07 +02009ANDROID_L_API = '21'
Rico Wind6238f222018-10-03 10:36:10 +020010BASE = os.path.join(utils.THIRD_PARTY, 'youtube')
Mads Ager418d1ca2017-05-22 09:35:49 +020011
Mads Ager418d1ca2017-05-22 09:35:49 +020012V12_10_BASE = os.path.join(BASE, 'youtube.android_12.10')
13V12_10_PREFIX = os.path.join(V12_10_BASE, 'YouTubeRelease')
14
15V12_17_BASE = os.path.join(BASE, 'youtube.android_12.17')
16V12_17_PREFIX = os.path.join(V12_17_BASE, 'YouTubeRelease')
17
Søren Gjessecc33fb42017-06-09 10:25:08 +020018V12_22_BASE = os.path.join(BASE, 'youtube.android_12.22')
19V12_22_PREFIX = os.path.join(V12_22_BASE, 'YouTubeRelease')
20
Søren Gjessefe2de552018-09-24 16:31:10 +020021V13_37_BASE = os.path.join(BASE, 'youtube.android_13.37')
22V13_37_PREFIX = os.path.join(V13_37_BASE, 'YouTubeRelease')
23
Søren Gjesse4ae66b22019-05-10 02:15:24 +020024V14_19_BASE = os.path.join(BASE, 'youtube.android_14.19')
25V14_19_PREFIX = os.path.join(V14_19_BASE, 'YouTubeRelease')
26
Mads Ager418d1ca2017-05-22 09:35:49 +020027# NOTE: we always use android.jar for SDK v25, later we might want to revise it
28# to use proper android.jar version for each of youtube version separately.
Rico Wind6238f222018-10-03 10:36:10 +020029ANDROID_JAR = utils.get_android_jar(25)
Mads Ager418d1ca2017-05-22 09:35:49 +020030
31VERSIONS = {
Mads Ager418d1ca2017-05-22 09:35:49 +020032 '12.10': {
33 'dex' : {
34 'inputs': [os.path.join(V12_10_BASE, 'YouTubeRelease_unsigned.apk')],
35 'pgmap': '%s_proguard.map' % V12_10_PREFIX,
36 'libraries' : [ANDROID_JAR],
Ian Zerny877c1862017-07-06 11:12:26 +020037 'min-api' : ANDROID_L_API,
Mads Ager418d1ca2017-05-22 09:35:49 +020038 },
39 'deploy' : {
40 'inputs': ['%s_deploy.jar' % V12_10_PREFIX],
41 'pgconf': ['%s_proguard.config' % V12_10_PREFIX,
Rico Wind6238f222018-10-03 10:36:10 +020042 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
Ian Zerny877c1862017-07-06 11:12:26 +020043 'min-api' : ANDROID_L_API,
Mads Ager418d1ca2017-05-22 09:35:49 +020044 }
Christoffer Quist Adamsenec896b62018-09-28 11:33:10 +020045 # The 'proguarded' version cannot be handled by D8/R8 because there are
46 # parameter annotations for parameters that do not exist, which is not
47 # handled gracefully by ASM (see b/116089492).
48 #'proguarded' : {
49 # 'inputs': ['%s_proguard.jar' % V12_10_PREFIX],
50 # 'pgmap': '%s_proguard.map' % V12_10_PREFIX,
51 # 'min-api' : ANDROID_L_API,
52 #}
Mads Ager418d1ca2017-05-22 09:35:49 +020053 },
54 '12.17': {
55 'dex' : {
56 'inputs': [os.path.join(V12_17_BASE, 'YouTubeRelease_unsigned.apk')],
57 'pgmap': '%s_proguard.map' % V12_17_PREFIX,
58 'libraries' : [ANDROID_JAR],
Ian Zerny877c1862017-07-06 11:12:26 +020059 'min-api' : ANDROID_L_API,
Mads Ager418d1ca2017-05-22 09:35:49 +020060 },
61 'deploy' : {
62 'inputs': ['%s_deploy.jar' % V12_17_PREFIX],
63 'pgconf': ['%s_proguard.config' % V12_17_PREFIX,
Rico Wind6238f222018-10-03 10:36:10 +020064 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
Ian Zerny877c1862017-07-06 11:12:26 +020065 'min-api' : ANDROID_L_API,
Mads Ager418d1ca2017-05-22 09:35:49 +020066 },
67 'proguarded' : {
68 'inputs': ['%s_proguard.jar' % V12_17_PREFIX],
Yohann Roussel49e54a12017-06-23 18:08:07 +020069 'pgmap': '%s_proguard.map' % V12_17_PREFIX,
Ian Zerny877c1862017-07-06 11:12:26 +020070 'min-api' : ANDROID_L_API,
Mads Ager418d1ca2017-05-22 09:35:49 +020071 }
72 },
Søren Gjessecc33fb42017-06-09 10:25:08 +020073 '12.22': {
74 'dex' : {
75 'inputs': [os.path.join(V12_22_BASE, 'YouTubeRelease_unsigned.apk')],
76 'pgmap': '%s_proguard.map' % V12_22_PREFIX,
77 'libraries' : [ANDROID_JAR],
Ian Zerny877c1862017-07-06 11:12:26 +020078 'min-api' : ANDROID_L_API,
Søren Gjessecc33fb42017-06-09 10:25:08 +020079 },
80 'deploy' : {
81 'inputs': ['%s_deploy.jar' % V12_22_PREFIX],
Søren Gjessef1bc41e2017-06-19 16:33:16 +020082 'pgconf': [
83 '%s_proguard.config' % V12_22_PREFIX,
Rico Wind6238f222018-10-03 10:36:10 +020084 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
Søren Gjessec801ecc2017-08-03 13:40:06 +020085 'maindexrules' : [
Søren Gjessef1bc41e2017-06-19 16:33:16 +020086 os.path.join(V12_22_BASE, 'mainDexClasses.rules'),
87 os.path.join(V12_22_BASE, 'main-dex-classes-release.cfg'),
88 os.path.join(V12_22_BASE, 'main_dex_YouTubeRelease_proguard.cfg')],
Søren Gjessecc33fb42017-06-09 10:25:08 +020089 },
90 'proguarded' : {
91 'inputs': ['%s_proguard.jar' % V12_22_PREFIX],
Yohann Roussel49e54a12017-06-23 18:08:07 +020092 'pgmap': '%s_proguard.map' % V12_22_PREFIX,
Ian Zerny877c1862017-07-06 11:12:26 +020093 'min-api' : ANDROID_L_API,
Søren Gjessecc33fb42017-06-09 10:25:08 +020094 }
95 },
Søren Gjessefe2de552018-09-24 16:31:10 +020096 '13.37': {
97 'dex' : {
98 'inputs': [os.path.join(V13_37_BASE, 'YouTubeRelease_unsigned.apk')],
99 'pgmap': '%s_proguard.map' % V13_37_PREFIX,
100 'libraries' : [ANDROID_JAR],
101 'min-api' : ANDROID_L_API,
102 },
103 'deploy' : {
104 'inputs': ['%s_deploy.jar' % V13_37_PREFIX],
105 'pgconf': [
106 '%s_proguard.config' % V13_37_PREFIX,
Rico Wind6238f222018-10-03 10:36:10 +0200107 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
Søren Gjessefe2de552018-09-24 16:31:10 +0200108 # Build for native multi dex, as Currently R8 cannot meet the main-dex
109 # constraints.
110 #'maindexrules' : [
111 # os.path.join(V13_37_BASE, 'mainDexClasses.rules'),
112 # os.path.join(V13_37_BASE, 'main-dex-classes-release-optimized.cfg'),
113 # os.path.join(V13_37_BASE, 'main_dex_YouTubeRelease_proguard.cfg')],
114 'min-api' : ANDROID_L_API,
115 },
116 'proguarded' : {
117 'inputs': ['%s_proguard.jar' % V13_37_PREFIX],
118 'pgmap': '%s_proguard.map' % V13_37_PREFIX,
119 'min-api' : ANDROID_L_API,
120 }
121 },
Søren Gjesse4ae66b22019-05-10 02:15:24 +0200122 '14.19': {
123 'dex' : {
124 'inputs': [os.path.join(V14_19_BASE, 'YouTubeRelease_unsigned.apk')],
125 'pgmap': '%s_proguard.map' % V14_19_PREFIX,
126 'libraries' : [ANDROID_JAR],
127 'min-api' : ANDROID_L_API,
128 },
129 'deploy' : {
130 'inputs': ['%s_deploy.jar' % V14_19_PREFIX],
131 'pgconf': [
132 '%s_proguard.config' % V14_19_PREFIX,
133 '%s/proguardsettings/YouTubeRelease_proguard.config' % utils.THIRD_PARTY],
Christoffer Quist Adamsen955fa632019-06-03 14:55:49 +0200134 'proto-shrinking': 1,
Søren Gjesse4ae66b22019-05-10 02:15:24 +0200135 # Build for native multi dex, as Currently R8 cannot meet the main-dex
136 # constraints.
137 #'maindexrules' : [
138 # os.path.join(V14_19_BASE, 'mainDexClasses.rules'),
139 # os.path.join(V14_19_BASE, 'main-dex-classes-release-optimized.cfg'),
140 # os.path.join(V14_19_BASE, 'main_dex_YouTubeRelease_proguard.cfg')],
141 'min-api' : ANDROID_L_API,
142 },
143 'proguarded' : {
144 'inputs': ['%s_proguard.jar' % V14_19_PREFIX],
145 'pgmap': '%s_proguard.map' % V14_19_PREFIX,
146 'min-api' : ANDROID_L_API,
147 }
148 },
Mads Ager418d1ca2017-05-22 09:35:49 +0200149}