import org.ajoberstar.grgit.Grgit

buildscript {
  ext {
    composeVersion = '1.0.0-alpha06'
    kotlinVersion = '1.4.10'
    daggerVersion = '2.29.1'
  }

  repositories {
    jcenter()
    google()
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath 'org.ajoberstar:grgit:1.9.3'
    classpath 'com.android.tools.build:gradle:4.2.0-alpha15'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlinVersion"
    classpath 'org.ajoberstar:grgit:1.9.3'
    classpath "net.ltgt.gradle:gradle-errorprone-plugin:0.6"
  }
}

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

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

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