From 9f55045eeb07120d5c001db48ef7c7c622089cbd Mon Sep 17 00:00:00 2001 From: olly Date: Thu, 8 Aug 2019 12:08:51 +0100 Subject: [PATCH] Rollback of https://github.com/google/ExoPlayer/commit/bbe681a904d58fe1f84f6c7c6e3390d932c86249 *** Original commit *** Make Kotlin JVM annotations available and use in ExoPlayer. NoExternal *** PiperOrigin-RevId: 262323737 --- constants.gradle | 1 - library/core/build.gradle | 3 ++- library/core/proguard-rules.txt | 3 +-- .../com/google/android/exoplayer2/util/NonNullApi.java | 8 +++++--- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/constants.gradle b/constants.gradle index 9510b8442e..b1c2c636c7 100644 --- a/constants.gradle +++ b/constants.gradle @@ -25,7 +25,6 @@ project.ext { autoServiceVersion = '1.0-rc4' checkerframeworkVersion = '2.5.0' jsr305Version = '3.0.2' - kotlinAnnotationsVersion = '1.3.31' androidXTestVersion = '1.1.0' truthVersion = '0.44' modulePrefix = ':' diff --git a/library/core/build.gradle b/library/core/build.gradle index 8e64383638..93126d9830 100644 --- a/library/core/build.gradle +++ b/library/core/build.gradle @@ -62,7 +62,8 @@ dependencies { compileOnly 'com.google.code.findbugs:jsr305:' + jsr305Version compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion compileOnly 'org.checkerframework:checker-compat-qual:' + checkerframeworkVersion - compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion + // Uncomment to enable Kotlin non-null strict mode. See [internal: b/138703808]. + // compileOnly "org.jetbrains.kotlin:kotlin-annotations-jvm:1.1.60" androidTestImplementation 'androidx.test:runner:' + androidXTestVersion androidTestImplementation 'androidx.test.ext:junit:' + androidXTestVersion androidTestImplementation 'com.google.truth:truth:' + truthVersion diff --git a/library/core/proguard-rules.txt b/library/core/proguard-rules.txt index ab3cc5fccd..1f7a8d0ee7 100644 --- a/library/core/proguard-rules.txt +++ b/library/core/proguard-rules.txt @@ -58,6 +58,5 @@ (com.google.android.exoplayer2.upstream.DataSource$Factory); } -# Don't warn about checkerframework and Kotlin annotations +# Don't warn about checkerframework -dontwarn org.checkerframework.** --dontwarn kotlin.annotations.jvm.** diff --git a/library/core/src/main/java/com/google/android/exoplayer2/util/NonNullApi.java b/library/core/src/main/java/com/google/android/exoplayer2/util/NonNullApi.java index 7678710f18..bd7a70eba0 100644 --- a/library/core/src/main/java/com/google/android/exoplayer2/util/NonNullApi.java +++ b/library/core/src/main/java/com/google/android/exoplayer2/util/NonNullApi.java @@ -20,8 +20,8 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import javax.annotation.Nonnull; import javax.annotation.meta.TypeQualifierDefault; -import kotlin.annotations.jvm.MigrationStatus; -import kotlin.annotations.jvm.UnderMigration; +// import kotlin.annotations.jvm.MigrationStatus; +// import kotlin.annotations.jvm.UnderMigration; /** * Annotation to declare all type usages in the annotated instance as {@link Nonnull}, unless @@ -29,6 +29,8 @@ import kotlin.annotations.jvm.UnderMigration; */ @Nonnull @TypeQualifierDefault(ElementType.TYPE_USE) -@UnderMigration(status = MigrationStatus.STRICT) +// TODO(internal: b/138703808): Uncomment to ensure Kotlin issues compiler errors when non-null +// types are used incorrectly. +// @UnderMigration(status = MigrationStatus.STRICT) @Retention(RetentionPolicy.CLASS) public @interface NonNullApi {}