import org.ajoberstar.grgit.Grgit

buildscript {
  ext {
    composeVersion = '1.0.0-beta04'
    kotlinVersion = '1.4.32'
    daggerVersion = '2.34'
  }

  repositories {
    google()
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath 'org.ajoberstar:grgit:1.9.3'
    classpath 'com.android.tools.build:gradle:7.0.0-alpha14'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
    classpath 'org.ajoberstar:grgit:1.9.3'
    classpath "net.ltgt.gradle:gradle-errorprone-plugin:2.0.1"
    classpath 'com.vanniktech:gradle-maven-publish-plugin:0.13.0'
    classpath 'org.jetbrains.dokka:dokka-gradle-plugin:1.4.10.2'
  }
}

allprojects {
  repositories {
    google()
    mavenCentral()
    maven {
      url "https://jitpack.io"
    }
    maven {
      url "https://kotlin.bintray.com/kotlinx"
    }
    maven {
      url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
  }
}

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

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