Disable all warning messages from missing service loaders
Bug: 169753370
Change-Id: Ib82e3c4fb31af01acc6c71b96e66350434672702
diff --git a/src/main/java/com/android/tools/r8/graph/AppServices.java b/src/main/java/com/android/tools/r8/graph/AppServices.java
index 70bb382..ffe915a 100644
--- a/src/main/java/com/android/tools/r8/graph/AppServices.java
+++ b/src/main/java/com/android/tools/r8/graph/AppServices.java
@@ -301,24 +301,23 @@
origin);
return false;
}
- // TODO(b/169753370): Re-enable again after roll.
- // if (appView.enableWholeProgramOptimizations()) {
- // DexClass serviceImplementationClass =
- // appView
- // .appInfo()
- // .definitionForWithoutExistenceAssert(serviceImplementationType);
- // if (serviceImplementationClass == null) {
- // warn(
- // "Unexpected reference to missing service implementation class in "
- // + "META-INF/services/"
- // + serviceType.toSourceString()
- // + ": "
- // + serviceImplementationType.toSourceString()
- // + ".",
- // serviceImplementationType,
- // origin);
- // }
- // }
+ if (appView.enableWholeProgramOptimizations()) {
+ DexClass serviceImplementationClass =
+ appView
+ .appInfo()
+ .definitionForWithoutExistenceAssert(serviceImplementationType);
+ if (serviceImplementationClass == null) {
+ warn(
+ "Unexpected reference to missing service implementation class in "
+ + "META-INF/services/"
+ + serviceType.toSourceString()
+ + ": "
+ + serviceImplementationType.toSourceString()
+ + ".",
+ serviceImplementationType,
+ origin);
+ }
+ }
// Only keep one of each implementation type in the list.
return !serviceImplementations.contains(serviceImplementationType);
})
@@ -332,6 +331,10 @@
}
private void warn(String message, DexType type, Origin origin) {
+ if (true) {
+ // TODO(b/169753370): Re-enable again after roll.
+ return;
+ }
if (!options.getProguardConfiguration().getDontWarnPatterns().matches(type)) {
options.reporter.warning(new StringDiagnostic(message, origin));
}
diff --git a/src/test/java/com/android/tools/r8/rewrite/serviceloaders/MissingServiceClassTest.java b/src/test/java/com/android/tools/r8/rewrite/serviceloaders/MissingServiceClassTest.java
index 8325b62..170116b 100644
--- a/src/test/java/com/android/tools/r8/rewrite/serviceloaders/MissingServiceClassTest.java
+++ b/src/test/java/com/android/tools/r8/rewrite/serviceloaders/MissingServiceClassTest.java
@@ -4,8 +4,6 @@
package com.android.tools.r8.rewrite.serviceloaders;
-import static com.android.tools.r8.DiagnosticsMatcher.diagnosticMessage;
-import static org.hamcrest.CoreMatchers.containsString;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
@@ -51,19 +49,8 @@
AppServices.SERVICE_DIRECTORY_NAME + Service.class.getTypeName(),
Origin.unknown()))
.addOptionsModification(o -> o.dataResourceConsumer = dataResourceConsumer)
- .allowDiagnosticWarningMessages()
.setMinApi(parameters.getApiLevel())
.compile()
- .inspectDiagnosticMessages(
- inspector -> {
- inspector.assertAllWarningsMatch(
- diagnosticMessage(
- containsString(
- "Unexpected reference to missing service class: "
- + AppServices.SERVICE_DIRECTORY_NAME
- + Service.class.getTypeName()
- + ".")));
- })
.addRunClasspathClasses(Service.class, ServiceImpl.class)
.run(parameters.getRuntime(), TestClass.class)
.assertSuccessWithEmptyOutput();