diff options
author | Googler <noreply@google.com> | 2017-07-13 19:50:00 +0200 |
---|---|---|
committer | László Csomor <laszlocsomor@google.com> | 2017-07-14 10:52:06 +0200 |
commit | 5abf4ed4dc9fc134e47f9b56e3b65ba26d0ba9f0 (patch) | |
tree | a046d265ae8c46d59150f849c15fc87fcc94f182 /src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java | |
parent | fba07bb72570245d26bd8795709c5a004fc9026a (diff) |
Add flag to turn Android resource merge conflicts from warnings into errors
RELNOTES: none
PiperOrigin-RevId: 161831232
Diffstat (limited to 'src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java')
-rw-r--r-- | src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java index 9459ae6d99..4506fae73e 100644 --- a/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java +++ b/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java @@ -21,6 +21,7 @@ import com.google.common.base.Preconditions; import com.google.common.base.Stopwatch; import com.google.common.base.Strings; import com.google.common.io.Files; +import com.google.devtools.build.android.AndroidDataMerger.MergeConflictException; import com.google.devtools.build.android.AndroidResourceMerger.MergingException; import com.google.devtools.build.android.AndroidResourceProcessor.AaptConfigOptions; import com.google.devtools.build.android.Converters.ExistingPathConverter; @@ -180,6 +181,14 @@ public class AndroidResourceMergingAction { help = "Path to where data binding's layout info output should be written." ) public Path dataBindingInfoOut; + + @Option(name = "throwOnResourceConflict", + defaultValue = "false", + category = "config", + documentationCategory = OptionDocumentationCategory.UNCATEGORIZED, + effectTags = {OptionEffectTag.UNKNOWN}, + help = "If passed, resource merge conflicts will be treated as errors instead of warnings") + public boolean throwOnResourceConflict; } public static void main(String[] args) throws Exception { @@ -223,7 +232,8 @@ public class AndroidResourceMergingAction { new StubPngCruncher(), packageType, options.symbolsBinOut, - resourceClassWriter); + resourceClassWriter, + options.throwOnResourceConflict); logger.fine(String.format("Merging finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); @@ -268,6 +278,9 @@ public class AndroidResourceMergingAction { String.format( "Create resources.zip finished at %sms", timer.elapsed(TimeUnit.MILLISECONDS))); } + } catch (MergeConflictException e) { + logger.log(Level.SEVERE, e.getMessage()); + System.exit(1); } catch (MergingException e) { logger.log(Level.SEVERE, "Error during merging resources", e); throw e; |