
The existing NullableType has been deprecated 5 years ago and causes crashes in Kotlin apps because Kotlin doesn't recognize this annotation as a nullable type annotation. While we can't align on a single @Nullable annotation yet, we can at least replace this one by JSR305's @Nonnull(MAYBE) as it fulfils all requirements, including full Kotlin compatiblity. To avoid the cumbersome name, we can redefine it as our own @NullableType annotation. (We can't use @Nullable to avoid name clashes with the main @Nullable annotation from AndroidX) Issue: google/ExoPlayer#6792 PiperOrigin-RevId: 540497469
67 lines
2.6 KiB
Groovy
67 lines
2.6 KiB
Groovy
// Copyright 2022 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
apply from: "$gradle.ext.androidxMediaSettingsDir/common_library_config.gradle"
|
|
android {
|
|
namespace 'androidx.media3.effect'
|
|
|
|
defaultConfig {
|
|
minSdkVersion 18
|
|
// The following argument makes the Android Test Orchestrator run its
|
|
// "pm clear" command after each test invocation. This command ensures
|
|
// that the app's state is completely cleared between tests.
|
|
testInstrumentationRunnerArguments clearPackageData: 'true'
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
testCoverageEnabled = true
|
|
}
|
|
}
|
|
|
|
sourceSets {
|
|
androidTest.assets.srcDir '../test_data/src/test/assets/'
|
|
test.assets.srcDir '../test_data/src/test/assets/'
|
|
}
|
|
|
|
publishing {
|
|
singleVariant('release') {
|
|
withSourcesJar()
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation 'androidx.annotation:annotation:' + androidxAnnotationVersion
|
|
implementation project(modulePrefix + 'lib-common')
|
|
implementation project(modulePrefix + 'lib-datasource')
|
|
compileOnly 'com.google.errorprone:error_prone_annotations:' + errorProneVersion
|
|
compileOnly 'org.checkerframework:checker-qual:' + checkerframeworkVersion
|
|
compileOnly 'org.jetbrains.kotlin:kotlin-annotations-jvm:' + kotlinAnnotationsVersion
|
|
testImplementation project(modulePrefix + 'test-utils-robolectric')
|
|
testImplementation project(modulePrefix + 'test-utils')
|
|
testImplementation project(modulePrefix + 'test-data')
|
|
testImplementation 'org.robolectric:robolectric:' + robolectricVersion
|
|
testImplementation 'com.google.truth:truth:' + truthVersion
|
|
androidTestImplementation 'junit:junit:' + junitVersion
|
|
androidTestImplementation 'androidx.test:runner:' + androidxTestRunnerVersion
|
|
androidTestImplementation 'com.google.truth:truth:' + truthVersion
|
|
androidTestImplementation project(modulePrefix + 'test-utils')
|
|
}
|
|
|
|
ext {
|
|
releaseArtifactId = 'media3-effect'
|
|
releaseName = 'Media3 Effect module'
|
|
}
|
|
apply from: '../../publish.gradle'
|