Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c2a1f3b authored by Jared Duke's avatar Jared Duke
Browse files

Don't ignore R8 warnings for optimized targets

Ideally we'd stop ignoring warnings entirely, but this helps de-risk
optimized targets that may be more sensitive to side effects from
suppressing such warnings.

Test: m
Bug: 215530220
Change-Id: Iccd124a347d55cd8f9474ebca7e41eca27882066
parent 8e0ae8e9
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -43,7 +43,8 @@ type DexProperties struct {
		// True if the module containing this has it set by default.
		EnabledByDefault bool `blueprint:"mutated"`

		// Whether to continue building even if warnings are emitted.  Defaults to true.
		// Whether to continue building even if warnings are emitted.  Defaults to true unless bytecode
		// optimizations are enabled, in which case warnings are not ignored for safety.
		Ignore_warnings *bool

		// If true, runs R8 in Proguard compatibility mode (default).
@@ -339,8 +340,9 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, flags javaBuilderFlags) (r8Fl
	}

	// TODO(b/180878971): missing classes should be added to the relevant builds.
	// TODO(b/229727645): do not use true as default for Android platform builds.
	if proptools.BoolDefault(opt.Ignore_warnings, true) {
	// TODO(b/229727645): do not use true as default for unoptimized platform targets.
	ignoreWarningsDefault := !Bool(opt.Optimize)
	if proptools.BoolDefault(opt.Ignore_warnings, ignoreWarningsDefault) {
		r8Flags = append(r8Flags, "-ignorewarnings")
	}