sourceSets {
    smokeTest {
        java {
            srcDirs = ['src/smokeTest/java']
        }
    }
    smokeTest {
        resources {
            srcDirs = ['src/smokeTest/resources']
        }
    }
}

configurations {
    smokeTestImplementation.extendsFrom testImplementation
    smokeTestRuntimeOnly.extendsFrom testRuntimeOnly
}

task smokeTest(type: Test) {
    description = 'Runs integration tests.'
    group = 'verification'

    dependsOn ':packaging:kernel:installDist'

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

    shouldRunAfter test

    if (System.properties['ci.build'] == 'true') {
        ignoreFailures = true
    }
}

dependencies {
    testImplementation project(':test:org.eclipse.virgo.test.tools')
    testImplementation project(':util:org.eclipse.virgo.util.io')

    testRuntimeOnly 'org.apache.httpcomponents:httpcore'
    testRuntimeOnly 'org.apache.httpcomponents:httpclient'
}

check.dependsOn smokeTest
