| import com.vanniktech.maven.publish.SonatypeHost |
| import net.ltgt.gradle.errorprone.CheckSeverity |
| |
| plugins { |
| id 'com.android.library' |
| id 'net.ltgt.errorprone' |
| id 'com.vanniktech.maven.publish' |
| id 'androidx.baselineprofile' |
| } |
| |
| android { |
| namespace 'com.airbnb.lottie' |
| resourcePrefix 'lottie_' |
| compileSdk 34 |
| defaultConfig { |
| minSdk 16 |
| targetSdk 34 |
| testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" |
| } |
| lintOptions { |
| abortOnError true |
| textReport true |
| textOutput 'stdout' |
| } |
| testOptions { |
| unitTests { |
| includeAndroidResources = true |
| } |
| } |
| } |
| |
| mavenPublishing { |
| publishToMavenCentral(SonatypeHost.DEFAULT) |
| signAllPublications() |
| } |
| |
| baselineProfile { |
| filter { |
| include 'com.airbnb.lottie.**' |
| exclude 'com.airbnb.lottie.compose.**' |
| } |
| } |
| |
| dependencies { |
| implementation libs.androidx.appcompat |
| // Do not upgrade to 2.0 because it will bring in Kotlin as a transitive dependency. |
| //noinspection GradleDependency |
| implementation libs.okio |
| |
| annotationProcessor libs.nullaway |
| errorprone libs.errorprone.core |
| |
| baselineProfile project(':baselineprofile') |
| |
| testImplementation libs.mockito.core |
| testImplementation libs.robolectric |
| testImplementation libs.junit4 |
| androidTestImplementation libs.androidx.test.junit |
| androidTestImplementation libs.androidx.test.espresso |
| } |
| |
| tasks.withType(JavaCompile).configureEach { |
| // remove the if condition if you want to run NullAway on test code |
| if (!name.toLowerCase().contains("test")) { |
| options.errorprone { |
| option("NullAway:AnnotatedPackages", "com.airbnb.lottie") |
| // TODO: enable these and fix errors one by one. |
| check("NullAway", CheckSeverity.OFF) |
| check("StringSplitter", CheckSeverity.OFF) |
| check("DefaultCharset", CheckSeverity.OFF) |
| check("HidingField", CheckSeverity.OFF) |
| check("NarrowingCompoundAssignment", CheckSeverity.OFF) |
| check("MissingOverride", CheckSeverity.OFF) |
| check("ReferenceEquality", CheckSeverity.OFF) |
| check("FallThrough", CheckSeverity.OFF) |
| check("FloatingPointLiteralPrecision", CheckSeverity.OFF) |
| check("MissingCasesInEnumSwitch", CheckSeverity.OFF) |
| check("OperatorPrecedence", CheckSeverity.OFF) |
| // Disabled checks |
| check("MixedMutabilityReturnType", CheckSeverity.OFF) |
| check("MissingSummary", CheckSeverity.OFF) |
| check("InlineMeSuggester", CheckSeverity.OFF) |
| } |
| } |
| } |