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:nano:installDist' // Virgo nano
    dependsOn ':packaging:nano:installFullDist' // Virgo nano full

    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
