import com.carrotsearch.gradle.junit4.RandomizedTestingTask

evaluationDependsOn(xpackModule('core'))

apply plugin: 'elasticsearch.esplugin'
esplugin {
    name 'x-pack-ccr'
    description 'Elasticsearch Expanded Pack Plugin - CCR'
    classname 'org.elasticsearch.xpack.ccr.Ccr'
    hasNativeController false
    requiresKeystore true
    extendedPlugins = ['x-pack-core']
}
archivesBaseName = 'x-pack-ccr'

integTest.enabled = false

compileJava.options.compilerArgs << "-Xlint:-try"
compileTestJava.options.compilerArgs << "-Xlint:-try"

// Instead we create a separate task to run the
// tests based on ESIntegTestCase
task internalClusterTest(type: RandomizedTestingTask,
        group: JavaBasePlugin.VERIFICATION_GROUP,
        description: 'Java fantasy integration tests',
        dependsOn: test.dependsOn) {
    classpath = project.test.classpath
    testClassesDirs = project.test.testClassesDirs
    include '**/*IT.class'
    systemProperty 'es.set.netty.runtime.available.processors', 'false'
}

check.dependsOn internalClusterTest
internalClusterTest.mustRunAfter test

// add all sub-projects of the qa sub-project
gradle.projectsEvaluated {
    project.subprojects
            .find { it.path == project.path + ":qa" }
            .subprojects
            .findAll { it.path.startsWith(project.path + ":qa") }
            .each { check.dependsOn it.check }
}

dependencies {
    compileOnly "org.elasticsearch:elasticsearch:${version}"

    compileOnly project(path: xpackModule('core'), configuration: 'default')
    testCompile project(path: xpackModule('core'), configuration: 'testArtifacts')
    testCompile project(path: xpackModule('monitoring'), configuration: 'testArtifacts')
}

dependencyLicenses {
    ignoreSha 'x-pack-core'
}

run {
    plugin xpackModule('core')
}