aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java
diff options
context:
space:
mode:
authorGravatar Googler <noreply@google.com>2017-07-13 19:50:00 +0200
committerGravatar László Csomor <laszlocsomor@google.com>2017-07-14 10:52:06 +0200
commit5abf4ed4dc9fc134e47f9b56e3b65ba26d0ba9f0 (patch)
treea046d265ae8c46d59150f849c15fc87fcc94f182 /src/tools/android/java/com/google/devtools/build/android/AndroidResourceMergingAction.java
parentfba07bb72570245d26bd8795709c5a004fc9026a (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.java15
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;