plugins {
    alias(catalog.plugins.envelope)
    id 'me.champeau.jmh' version '0.7.1'
}

envelopeJar {
    mainClass = 'net.woggioni.wson.benchmark.Main'
}

envelopeRun {
    jvmArgs = ['-Xmx8G']
    args = ['jacksonBenchmark', 'worthJsonBenchmark', 'worthJbonBenchmark', 'antlrBenchmark']
}

dependencies {
    implementation rootProject
    implementation project(':antlr')

    implementation catalog.jwo
    implementation catalog.xz
    implementation catalog.jcommander
    implementation catalog.jackson.databind

    runtimeOnly project(':test-utils')

    jmhAnnotationProcessor catalog.lombok
}

jmh {
    threads = 1
    iterations = 2
    fork = 1
    warmupIterations = 1
    warmupForks = 0
    resultFormat = 'JSON'
}