plugins {
  id "java"
  id "org.jetbrains.kotlin.jvm" version "1.3.72"
  id "application"
  id "com.github.johnrengelman.shadow" version "5.2.0"
  id "com.diffplug.gradle.spotless" version "3.18.0"
  id 'dev.afanasev.sekret' version '0.0.3'
}

group = "com.mangadex"
version = "git describe --tags".execute().text.trim()
mainClassName = "mdnet.base.MangaDexClient"

repositories {
  mavenCentral()
  jcenter()
}

dependencies {
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
  implementation group: "com.konghq", name: "unirest-java", version: "3.7.02"

  implementation group: "org.http4k", name: "http4k-core", version: "$http_4k_version"
  implementation group: "org.http4k", name: "http4k-server-netty", version: "$http_4k_version"
  implementation group: "org.http4k", name: "http4k-client-apache", version: "$http_4k_version"
  implementation group: "org.http4k", name: "http4k-format-gson", version: "$http_4k_version"

  implementation group: "commons-io", name: "commons-io", version: "2.7"

  implementation group:"ch.qos.logback", name: "logback-classic", version: "$logback_version"
  runtimeOnly group:"io.netty", name: "netty-tcnative-boringssl-static", version: "2.0.30.Final"

  compileOnly group:"dev.afanasev", name: "sekret-annotation", version: "0.0.3"
}

java {
  sourceCompatibility = JavaVersion.VERSION_1_8
  targetCompatibility = JavaVersion.VERSION_1_8
}

spotless {
  java {
    indentWithSpaces(4)
    eclipse()
    removeUnusedImports()
    trimTrailingWhitespace()
    endWithNewline()
  }
  kotlin {
    indentWithSpaces(4)
    ktlint()
    trimTrailingWhitespace()
    endWithNewline()
  }
}

run {
  args = ["dev/settings.json"]
}