plugins {
  id 'net.consensys.zkevm.kotlin-library-conventions'
  id 'java-library'
  id 'java-test-fixtures'
}

description = "JSON RPC 2.0 utilities"

dependencies {
  implementation project(":jvm-libs:linea:core:metrics")
  implementation project(":jvm-libs:linea:metrics:micrometer")
  implementation project(":jvm-libs:generic:extensions:futures")
  implementation project(":jvm-libs:generic:extensions:kotlin")
  implementation project(":jvm-libs:generic:serialization:jackson")
  implementation "com.fasterxml.jackson.core:jackson-annotations:${libs.versions.jackson.get()}"
  api "com.fasterxml.jackson.core:jackson-databind:${libs.versions.jackson.get()}"
  implementation "com.fasterxml.jackson.module:jackson-module-kotlin:${libs.versions.jackson.get()}"

  api "io.vertx:vertx-micrometer-metrics"

  api "io.vertx:vertx-core"
  api "io.vertx:vertx-web"
  api "io.vertx:vertx-lang-kotlin"

  testImplementation "io.vertx:vertx-junit5"
  testImplementation "io.vertx:vertx-micrometer-metrics"
  testImplementation "io.micrometer:micrometer-registry-prometheus:${libs.versions.micrometer.get()}"
  testImplementation "io.rest-assured:rest-assured:${libs.versions.restassured.get()}"
  testImplementation "io.rest-assured:json-schema-validator:${libs.versions.restassured.get()}"
  testImplementation "org.wiremock:wiremock:${libs.versions.wiremock.get()}"
  testImplementation "net.javacrumbs.json-unit:json-unit-assertj:${libs.versions.jsonUnit.get()}"
}

jar {
  dependsOn configurations.runtimeClasspath
}
