buildscript {
  repositories {
    google()
    jcenter()
  }

  dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
  }
}

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

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

def safeExtGet(prop, fallback) {
  rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
}

//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", 28)

  defaultConfig {
    minSdkVersion safeExtGet("minSdkVersion", 21)
    targetSdkVersion safeExtGet("targetSdkVersion", 28)
    versionCode 21
    versionName "7.0.0"
  }
  lintOptions {
    abortOnError false
  }
}

repositories {
  mavenCentral()
}

if (new File(rootProject.projectDir.parentFile, 'package.json').exists()) {
  apply from: project(":unimodules-core").file("../unimodules-core.gradle")
} else {
  throw new GradleException(
      "'unimodules-core.gradle' was not found in the usual Flutter or React Native dependency locations. " +
          "This package can only be used in such projects. Are you sure you've installed the dependencies properly?")
}

dependencies {
  unimodule 'unimodules-core'
  unimodule 'unimodules-file-system-interface'

  api 'commons-codec:commons-codec:1.10'
  api 'commons-io:commons-io:1.4'
  api 'com.squareup.okhttp3:okhttp:3.10.0'
  api 'com.squareup.okhttp3:okhttp-urlconnection:3.10.0'
  api "com.android.support:support-v4:${safeExtGet("supportLibVersion", "28.0.0")}"
}