apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'
apply plugin: 'maven'

group = 'host.exp.exponent'
version = '10.1.3'

buildscript {
  // Simple helper that allows the root project to override versions declared by this library.
  ext.safeExtGet = { prop, fallback ->
    rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
  }

  repositories {
    mavenCentral()
  }

  dependencies {
    classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:${safeExtGet('kotlinVersion', '1.4.21')}")
  }
}

// Upload android library to maven with javadoc and android sources
configurations {
  deployerJars
}

// Creating sources with comments
task androidSourcesJar(type: Jar) {
  classifier = 'sources'
  from android.sourceSets.main.java.srcDirs
}

// Put the androidSources and javadoc to the artifacts
artifacts {
  archives androidSourcesJar
}

uploadArchives {
  repositories {
    mavenDeployer {
      configuration = configurations.deployerJars
      repository(url: mavenLocal().url)
    }
  }
}

android {
  compileSdkVersion safeExtGet("compileSdkVersion", 30)

  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }

  defaultConfig {
    minSdkVersion safeExtGet("minSdkVersion", 21)
    targetSdkVersion safeExtGet("targetSdkVersion", 30)
    versionCode 24
    versionName "10.1.3"
  }
  lintOptions {
    abortOnError false
  }
  testOptions {
    unitTests.all {
      useJUnitPlatform()
    }
  }
}

dependencies {
  implementation project(':expo-modules-core')

  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:${safeExtGet('kotlinVersion', '1.4.21')}"

  // Newer version introduces dependency versions conflict
  // on 'com.android.support:support-annotations'
  api 'com.google.android.exoplayer:exoplayer:2.9.2'

  api 'com.google.android.exoplayer:extension-okhttp:2.9.2'

  api 'com.yqritc:android-scalablevideoview:1.0.1'

  api "com.squareup.okhttp3:okhttp:3.14.9"
  api "com.squareup.okhttp3:okhttp-urlconnection:3.14.9"

  api "com.android.support:support-annotations:${safeExtGet("supportLibVersion", "29.0.0")}"

  testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.1'
  testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.5.1"

  testImplementation 'io.mockk:mockk:1.9'
}
