
description = "PerfMark Java7 API"
ext.moduleName = "io.perfmark.javaseven"
ext.jdkVersion = JavaVersion.VERSION_1_8

compileJava {
    sourceCompatibility = jdkVersion
    targetCompatibility = jdkVersion

    options.compilerArgs.add("-Xlint:-options")
}

sourceSets {
    jmh {}
}


compileJmhJava {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
    javaCompiler = javaToolchains.compilerFor({
        languageVersion = JavaLanguageVersion.of("11")
    })
    options.errorprone.excludedPaths.set(".*/build/generated/sources/annotationProcessor/.*")
}

dependencies {
    implementation project(':perfmark-impl')

    jmhImplementation project(':perfmark-api'),
            project(':perfmark-impl'),
            project(':perfmark-java7'),
            project(':perfmark-testing')
    jmhImplementation libs.junit
    jmhImplementation libs.jmhcore
    jmhAnnotationProcessor libs.jmhanno
}

javadoc {
    exclude 'io/perfmark/java7**'
}

jar {
    exclude 'io/perfmark/java7/Internal*'
}

tasks.register('jmh', Test) {
    description = 'Runs integration tests.'
    group = 'stress'

    testClassesDirs = sourceSets.jmh.output.classesDirs
    classpath = sourceSets.jmh.runtimeClasspath

    javaLauncher = javaToolchains.launcherFor({
        languageVersion = JavaLanguageVersion.of("16")
    })
    //shouldRunAfter test
}