84 lines
2.7 KiB
Groovy
84 lines
2.7 KiB
Groovy
import net.ltgt.gradle.errorprone.CheckSeverity
|
|
|
|
apply from: 'gradle-maven-push.gradle'
|
|
apply plugin: 'com.android.library'
|
|
apply plugin: 'net.ltgt.errorprone'
|
|
|
|
android {
|
|
compileSdkVersion 28
|
|
resourcePrefix 'lottie_'
|
|
|
|
defaultConfig {
|
|
minSdkVersion 16
|
|
targetSdkVersion 28
|
|
}
|
|
lintOptions {
|
|
abortOnError true
|
|
textReport true
|
|
textOutput 'stdout'
|
|
}
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_7
|
|
targetCompatibility JavaVersion.VERSION_1_7
|
|
}
|
|
testOptions {
|
|
unitTests {
|
|
includeAndroidResources = true
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
implementation "androidx.appcompat:appcompat:1.0.0"
|
|
testImplementation "org.mockito:mockito-core:2.15.0"
|
|
testImplementation 'junit:junit:4.12'
|
|
testImplementation "org.robolectric:robolectric:4.0-alpha-3"
|
|
// Do not ugprade to 2.0 because it will bring in Kotlin as a transitive dependency.
|
|
implementation("com.squareup.okio:okio:1.17.4")
|
|
annotationProcessor "com.uber.nullaway:nullaway:0.7.5"
|
|
errorprone "com.google.errorprone:error_prone_core:2.3.2"
|
|
errorproneJavac "com.google.errorprone:javac:9+181-r4173-1"
|
|
}
|
|
|
|
task sourcesJar(type: Jar) {
|
|
from android.sourceSets.main.java.srcDirs
|
|
classifier = 'sources'
|
|
}
|
|
|
|
task javadoc(type: Javadoc) {
|
|
source = android.sourceSets.main.java.srcDirs
|
|
configurations.implementation.setCanBeResolved(true)
|
|
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + configurations.implementation
|
|
failOnError false
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
// 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)
|
|
}
|
|
}
|
|
}
|
|
|
|
// Re-enable this if releases are uploaded from CI.
|
|
//gradle.taskGraph.whenReady { taskGraph ->
|
|
// if (taskGraph.allTasks.any { it instanceof Sign }) {
|
|
// allprojects { ext."signing.keyId" = System.getenv("GRADLE_SIGNING_KEY_ID") }
|
|
// allprojects { ext."signing.secretKeyRingFile" = "~/.gnupg/secring.gpg" }
|
|
// allprojects { ext."signing.password" = System.getenv("GRADLE_SIGNING_PASSWORD") }
|
|
// }
|
|
//}
|