Index: build/android/gyp/javac.py |
diff --git a/build/android/gyp/javac.py b/build/android/gyp/javac.py |
index f196581113a5dff8bdbf3c3f3143f0dff1e83ba0..a818ff853a4da92f702281e80edf6b874a21872f 100755 |
--- a/build/android/gyp/javac.py |
+++ b/build/android/gyp/javac.py |
@@ -238,11 +238,21 @@ def _OnStaleMd5(changes, options, javac_cmd, java_files, classpath_inputs, |
if md5_check.PRINT_EXPLANATIONS: |
stdout_filter = None |
- build_utils.CheckOutput( |
+ attempt_build = lambda: build_utils.CheckOutput( |
cmd, |
print_stdout=options.chromium_code, |
stdout_filter=stdout_filter, |
stderr_filter=ColorJavacOutput) |
+ try: |
+ attempt_build() |
+ except build_utils.CalledProcessError as e: |
+ # Work-around for a bug in jmake (http://crbug.com/551449). |
+ if 'project database corrupted' not in e.output: |
+ raise |
+ print ('Applying work-around for jmake project database corrupted ' |
+ '(http://crbug.com/551449).') |
+ os.unlink(pdb_path) |
+ attempt_build() |
jbudorick
2015/11/05 20:47:45
Why was the second build not causing failures befo
agrieve
2015/11/05 21:02:10
It was not re-raising the exception :(
|
if options.main_class or options.manifest_entry: |
entries = [] |