buildscript {
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
    }

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

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 17
        versionName "7.0.0"
    }
    lintOptions {
        abortOnError false
    }
}

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"
}