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