buildscript {
    ext.kotlin_version = '1.3.11'
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        //classpath 'com.android.tools.build:gradle:2.+'
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath 'com.google.gms:google-services:3.0.0'
        classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    group "net.osmand"
    version "1.0"    

    repositories {
        ivy {
            name = "OsmAndBinariesIvy"
            url = "http://builder.osmand.net"
            layout "pattern", {
                artifact "ivy/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
            }
        }
        google()
        mavenCentral()
        jcenter()
        maven {
            url "https://jitpack.io"
        }
    }
}
