apply plugin: 'com.android.library'
apply plugin: "com.vanniktech.maven.publish"

android {
  compileSdkVersion 27
  resourcePrefix 'lottie_'

  defaultConfig {
    minSdkVersion 16
    targetSdkVersion 27
    versionCode 100
    versionName "2.6.0-beta21"
  }
  lintOptions {
    abortOnError true
    textReport true
    textOutput 'stdout'
  }
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
  }
  testOptions {
    unitTests {
      includeAndroidResources = true
    }
  }
}

dependencies {
  implementation "com.android.support:appcompat-v7:$supportLibVersion"
  testImplementation "org.mockito:mockito-core:2.15.0"
  testImplementation 'junit:junit:4.12'
  testImplementation "org.robolectric:robolectric:3.5.1"
}

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
}

//mavenPublish {
//  releaseRepositoryUrl = System.getenv("GRADLE_SIGNING_KEY_ID")
//  snapshotRepositoryUrl = System.getenv("GRADLE_SIGNING_KEY_ID")
//  repositoryUsername = null // This defaults to either the SONATYPE_NEXUS_USERNAME Gradle property or the system environment variable.
//  repositoryPassword = null // This defaults to either the SONATYPE_NEXUS_PASSWORD Gradle property or the system environment variable.
//}

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" = "../secring.gpg" }
    allprojects { ext."signing.password" = System.getenv("GRADLE_SIGNING_PASSWORD") }
  }
}
