Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 import os | 5 import os |
| 6 import re | 6 import re |
| 7 from util import build_utils | 7 from util import build_utils |
| 8 | 8 |
| 9 | 9 |
| 10 class _ProguardOutputFilter(object): | 10 class _ProguardOutputFilter(object): |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 38 self._proguard_jar_path = proguard_jar | 38 self._proguard_jar_path = proguard_jar |
| 39 self._tested_apk_info_path = None | 39 self._tested_apk_info_path = None |
| 40 self._tested_apk_info = None | 40 self._tested_apk_info = None |
| 41 self._mapping = None | 41 self._mapping = None |
| 42 self._libraries = None | 42 self._libraries = None |
| 43 self._injars = None | 43 self._injars = None |
| 44 self._configs = None | 44 self._configs = None |
| 45 self._outjar = None | 45 self._outjar = None |
| 46 self._cmd = None | 46 self._cmd = None |
| 47 self._verbose = False | 47 self._verbose = False |
| 48 self._disabled_optimizations = [] | |
| 48 | 49 |
| 49 def outjar(self, path): | 50 def outjar(self, path): |
| 50 assert self._cmd is None | 51 assert self._cmd is None |
| 51 assert self._outjar is None | 52 assert self._outjar is None |
| 52 self._outjar = path | 53 self._outjar = path |
| 53 | 54 |
| 54 def tested_apk_info(self, tested_apk_info_path): | 55 def tested_apk_info(self, tested_apk_info_path): |
| 55 assert self._cmd is None | 56 assert self._cmd is None |
| 56 assert self._tested_apk_info is None | 57 assert self._tested_apk_info is None |
| 57 self._tested_apk_info_path = tested_apk_info_path | 58 self._tested_apk_info_path = tested_apk_info_path |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 80 assert self._cmd is None | 81 assert self._cmd is None |
| 81 assert self._configs is None | 82 assert self._configs is None |
| 82 for p in paths: | 83 for p in paths: |
| 83 assert os.path.exists(p), p | 84 assert os.path.exists(p), p |
| 84 self._configs = paths | 85 self._configs = paths |
| 85 | 86 |
| 86 def verbose(self, verbose): | 87 def verbose(self, verbose): |
| 87 assert self._cmd is None | 88 assert self._cmd is None |
| 88 self._verbose = verbose | 89 self._verbose = verbose |
| 89 | 90 |
| 91 def disable_optimizations(self, optimizations): | |
| 92 assert self._cmd is None | |
| 93 self._disabled_optimizations += optimizations | |
| 94 | |
| 90 def build(self): | 95 def build(self): |
| 91 if self._cmd: | 96 if self._cmd: |
| 92 return self._cmd | 97 return self._cmd |
| 93 assert self._injars is not None | 98 assert self._injars is not None |
| 94 assert self._outjar is not None | 99 assert self._outjar is not None |
| 95 assert self._configs is not None | 100 assert self._configs is not None |
| 96 cmd = [ | 101 cmd = [ |
| 97 'java', '-jar', self._proguard_jar_path, | 102 'java', '-jar', self._proguard_jar_path, |
| 98 '-forceprocessing', | 103 '-forceprocessing', |
| 99 ] | 104 ] |
| (...skipping 16 matching lines...) Expand all Loading... | |
| 116 if self._mapping: | 121 if self._mapping: |
| 117 cmd += [ | 122 cmd += [ |
| 118 '-applymapping', self._mapping, | 123 '-applymapping', self._mapping, |
| 119 ] | 124 ] |
| 120 | 125 |
| 121 if self._libraries: | 126 if self._libraries: |
| 122 cmd += [ | 127 cmd += [ |
| 123 '-libraryjars', ':'.join(self._libraries), | 128 '-libraryjars', ':'.join(self._libraries), |
| 124 ] | 129 ] |
| 125 | 130 |
| 131 for optimization in self._disabled_optimizations: | |
| 132 cmd += [ | |
| 133 '-optimizations', '!' + optimization, | |
|
agrieve
2016/07/07 15:30:06
nit: put this all oneline:
cmd += [ '-optimizatio
| |
| 134 ] | |
| 135 | |
| 126 cmd += [ | 136 cmd += [ |
| 127 '-injars', ':'.join(self._injars) | 137 '-injars', ':'.join(self._injars) |
| 128 ] | 138 ] |
| 129 | 139 |
| 130 for config_file in self._configs: | 140 for config_file in self._configs: |
| 131 cmd += ['-include', config_file] | 141 cmd += ['-include', config_file] |
| 132 | 142 |
| 133 # The output jar must be specified after inputs. | 143 # The output jar must be specified after inputs. |
| 134 cmd += [ | 144 cmd += [ |
| 135 '-outjars', self._outjar, | 145 '-outjars', self._outjar, |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 179 stderr_filter=stderr_filter) | 189 stderr_filter=stderr_filter) |
| 180 | 190 |
| 181 this_info = { | 191 this_info = { |
| 182 'inputs': self._injars, | 192 'inputs': self._injars, |
| 183 'configs': self._configs, | 193 'configs': self._configs, |
| 184 'mapping': self._outjar + '.mapping', | 194 'mapping': self._outjar + '.mapping', |
| 185 } | 195 } |
| 186 | 196 |
| 187 build_utils.WriteJson(this_info, self._outjar + '.info') | 197 build_utils.WriteJson(this_info, self._outjar + '.info') |
| 188 | 198 |
| OLD | NEW |