import org.ajoberstar.grgit.Grgit

buildscript {
  ext.kotlinVersion = '1.2.21'
  ext.supportLibVersion = '27.1.0'

  repositories {
    jcenter()
    google()
  }
  dependencies {
    classpath 'org.ajoberstar:grgit:1.9.3'
    classpath 'com.android.tools.build:gradle:3.0.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion"
    classpath 'org.ajoberstar:grgit:1.9.3'
  }
}

allprojects {
  repositories {
    jcenter()
    google()
    maven {
      url "https://jitpack.io"
    }
    flatDir {
      dirs 'libs'
    }
  }
}

ext {
  git = Grgit.open()
  gitSha = git.head().id
  gitBranch = git.branch.getCurrent().name
}

task clean(type: Delete) {
  delete rootProject.buildDir
}
