if (!project.rootProject.file('local.properties').exists()) {
  println "Not applying install.gradle"
  return
}
apply plugin: 'com.novoda.bintray-release'

def getBintrayUserAndKey() {
  Properties properties = new Properties()
  properties.load(project.rootProject.file('local.properties').newDataInputStream())
  return [
      properties.getProperty("bintray.user"),
      properties.getProperty("bintray.apikey")
  ]
}

if (shard == null) {
  throw new IllegalStateException("Must specify a shard in module's build.gradle")
} else if (versions == null || versions.publishVersion == null) {
  throw new IllegalStateException("Unable to reference publishVersion")
}

task checkBintrayConfig {
  doLast {
    def (user, key) = getBintrayUserAndKey()
    if (user == null || user.isEmpty() ||
        key == null || key.isEmpty()) {
      throw new IllegalStateException("Must specify Bintray user/API key in your local.properties.")
    }
  }
}

afterEvaluate {
  bintrayUpload.dependsOn checkBintrayConfig
}

def (user, key) = getBintrayUserAndKey()
publish {
  bintrayUser = user
  bintrayKey = key
  userOrg = 'drummer-aidan'
  groupId = 'com.afollestad.material-dialogs'
  uploadName = "material-dialogs:$shard"
  artifactId = shard
  publishVersion = versions.publishVersion
  desc = 'A beautiful, fluid, and customizable dialogs API.'
  website = 'https://github.com/afollestad/material-dialogs'
  dryRun = false
}