in integration/geb-gradle/src/main/groovy/geb/gradle/saucelabs/SaucePlugin.groovy [33:66]
void apply(Project project) {
def allSauceLabsTests = project.tasks.register("allSauceLabsTests")
def closeTunnel = project.tasks.register(CLOSE_TUNNEL_TASK_NAME, StopExternalTunnel)
def openSauceTunnelInBackground = project.tasks.register(
OPEN_TUNNEL_IN_BACKGROUND_TASK_NAME, StartExternalTunnel
) {
inBackground = true
finalizedBy closeTunnel
}
def openSauceTunnel = project.tasks.register('openSauceTunnel', StartExternalTunnel)
def sauceLabsExtension = project.extensions.create(
'sauceLabs', SauceLabsExtension, allSauceLabsTests, openSauceTunnelInBackground, closeTunnel, "Sauce Test"
)
[openSauceTunnel, openSauceTunnelInBackground, closeTunnel]*.configure {
tunnel = sauceLabsExtension.connect
}
def sauceConnectConfiguration = project.configurations.create('sauceConnect').defaultDependencies {
def message = "sauceConnect configuration is empty, please add a " +
"dependency on 'ci-sauce' artifact from 'com.saucelabs' group to it"
throw new IllegalStateException(message)
}
def unpackSauceConnect = project.tasks.register(UNPACK_CONNECT_TASK_NAME, UnpackSauceConnect) {
sauceConnect.from(sauceConnectConfiguration)
}
sauceLabsExtension.connect.executable.set(unpackSauceConnect.flatMap { it.outputFile })
}