Merge commit '75d77c8fb723c131f3912d8478ff819d8a1cf698' into dev-release
diff --git a/src/test/java/com/android/tools/r8/KotlinTestBase.java b/src/test/java/com/android/tools/r8/KotlinTestBase.java
index d4f443a..35e20e9 100644
--- a/src/test/java/com/android/tools/r8/KotlinTestBase.java
+++ b/src/test/java/com/android/tools/r8/KotlinTestBase.java
@@ -11,6 +11,7 @@
 import com.android.tools.r8.TestRuntime.CfRuntime;
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.android.tools.r8.utils.FileUtils;
+import com.android.tools.r8.utils.SemanticVersion;
 import java.io.IOException;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -142,6 +143,15 @@
     };
   }
 
+  public static ThrowableConsumer<R8FullTestBuilder>
+      configureForLibraryWithEmbeddedProguardRules() {
+    // When running on main explicitly configure max compiler version for checking against
+    // embeded proguard rules.
+    return builder ->
+        builder.applyIf(
+            Version.isMainVersion(), b -> b.setFakeCompilerVersion(SemanticVersion.max()));
+  }
+
   public static class KotlinCompileMemoizer {
 
     private final Collection<Path> sources;
diff --git a/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java b/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java
index ae82b2b..ad8ac06 100644
--- a/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/ProcessKotlinReflectionLibTest.java
@@ -14,7 +14,6 @@
 import com.android.tools.r8.TestShrinkerBuilder;
 import com.android.tools.r8.ThrowableConsumer;
 import com.android.tools.r8.ToolHelper;
-import com.android.tools.r8.kotlin.metadata.KotlinMetadataTestBase;
 import com.android.tools.r8.shaking.ProguardKeepAttributes;
 import java.util.Collection;
 import org.junit.Test;
@@ -63,12 +62,10 @@
         .allowUnusedProguardConfigurationRules(
             kotlinc.getCompilerVersion().isGreaterThan(KOTLINC_1_3_72))
         .apply(testBuilderConsumer)
+        .apply(configureForLibraryWithEmbeddedProguardRules())
         .compile()
         .apply(compileResultBuilder)
-        .apply(assertUnusedKeepRuleForKotlinMetadata(kotlinc.isNot(KOTLINC_1_3_72)))
-        .applyIf(
-            kotlinc.getCompilerVersion().isGreaterThan(KOTLINC_1_3_72),
-            KotlinMetadataTestBase::verifyExpectedWarningsFromKotlinReflectAndStdLib);
+        .apply(assertUnusedKeepRuleForKotlinMetadata(kotlinc.isNot(KOTLINC_1_3_72)));
   }
 
   @Test
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/KotlinMetadataTestBase.java b/src/test/java/com/android/tools/r8/kotlin/metadata/KotlinMetadataTestBase.java
index aaedc52..07539ed 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/KotlinMetadataTestBase.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/KotlinMetadataTestBase.java
@@ -19,7 +19,6 @@
 import com.android.tools.r8.kotlin.KotlinMetadataWriter;
 import com.android.tools.r8.utils.DescriptorUtils;
 import com.android.tools.r8.utils.IntBox;
-import com.android.tools.r8.utils.LibraryProvidedProguardRulesTestUtils;
 import com.android.tools.r8.utils.codeinspector.ClassSubject;
 import com.android.tools.r8.utils.codeinspector.CodeInspector;
 import com.android.tools.r8.utils.codeinspector.FoundClassSubject;
@@ -177,7 +176,6 @@
     compileResult.assertAllWarningMessagesMatch(
         anyOf(
             equalTo("Resource 'META-INF/MANIFEST.MF' already exists."),
-            equalTo("Resource 'META-INF/versions/9/module-info.class' already exists."),
-            LibraryProvidedProguardRulesTestUtils.getDiagnosticMessageMatcher()));
+            equalTo("Resource 'META-INF/versions/9/module-info.class' already exists.")));
   }
 }
diff --git a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataStripTest.java b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataStripTest.java
index 366f611..c5b5ff4 100644
--- a/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataStripTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/metadata/MetadataStripTest.java
@@ -60,6 +60,7 @@
             .allowUnusedDontWarnKotlinReflectJvmInternal(kotlinc.isNot(KOTLINC_1_3_72))
             .allowUnusedDontWarnJavaLangClassValue(
                 kotlinc.getCompilerVersion().isGreaterThan(KOTLINC_1_7_0))
+            .apply(configureForLibraryWithEmbeddedProguardRules())
             .compile()
             .assertNoErrorMessages()
             .apply(KotlinMetadataTestBase::verifyExpectedWarningsFromKotlinReflectAndStdLib)
diff --git a/src/test/java/com/android/tools/r8/kotlin/reflection/KotlinReflectTest.java b/src/test/java/com/android/tools/r8/kotlin/reflection/KotlinReflectTest.java
index 15fccd2..9b536f6 100644
--- a/src/test/java/com/android/tools/r8/kotlin/reflection/KotlinReflectTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/reflection/KotlinReflectTest.java
@@ -103,6 +103,7 @@
         .applyIf(
             parameters.isCfRuntime() && kotlinParameters.isNewerThanOrEqualTo(KOTLINC_1_8_0),
             TestShrinkerBuilder::addDontWarnJavaLangInvokeLambdaMetadataFactory)
+        .apply(configureForLibraryWithEmbeddedProguardRules())
         .compile()
         .assertNoErrorMessages()
         // -keepattributes Signature is added in kotlin-reflect from version 1.4.20.
diff --git a/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java b/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java
index a3e00b4..19cc939 100644
--- a/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java
+++ b/src/test/java/com/android/tools/r8/kotlin/reflection/ReflectiveConstructionWithInlineClassTest.java
@@ -114,7 +114,8 @@
         .addKeepAttributes(ProguardKeepAttributes.RUNTIME_VISIBLE_ANNOTATIONS)
         .allowDiagnosticMessages()
         .allowUnusedDontWarnKotlinReflectJvmInternal()
-        .allowUnusedDontWarnJavaLangClassValue();
+        .allowUnusedDontWarnJavaLangClassValue()
+        .apply(configureForLibraryWithEmbeddedProguardRules());
   }
 
   @Test