void apply()

in integration/geb-gradle/src/main/groovy/geb/gradle/lambdatest/LambdaTestPlugin.groovy [39:72]


    void apply(Project project) {
        def allLambdaTestTests = project.tasks.register("allLambdaTestTests")

        def closeTunnel = project.tasks.register(CLOSE_TUNNEL_TASK_NAME, StopLambdaTestTunnel)

        def openLambdaTestTunnelInBackground = project.tasks.register(
            OPEN_TUNNEL_IN_BACKGROUND_TASK_NAME, StartExternalTunnel
        ) {
            inBackground = true
            finalizedBy closeTunnel
        }

        def openLambdaTestTunnel = project.tasks.register('openLambdaTestTunnel', StartExternalTunnel)

        def lambdaTestExtension = project.extensions.create(
            'lambdaTest', LambdaTestExtension, allLambdaTestTests, openLambdaTestTunnelInBackground, closeTunnel,
            "LambdaTest Test"
        )

        [openLambdaTestTunnel, openLambdaTestTunnelInBackground, closeTunnel]*.configure {
            tunnel = lambdaTestExtension.tunnelOps
        }

        def downloadLambdaTestTunnel = project.tasks.register(DOWNLOAD_TUNNEL_TASK_NAME, DownloadLambdaTestTunnel)

        def unzipLambdaTestTunnel = project.tasks.register(UNZIP_TUNNEL_TASK_NAME, SingleFileCopy) {
            source.from(project.zipTree(downloadLambdaTestTunnel.flatMap { it.tunnelZip }))

            def fileExtension = Os.isFamily(FAMILY_WINDOWS) ? ".exe" : ""
            outputFile.set(project.layout.buildDirectory.file("lambdatest/LambdaTestTunnel${fileExtension}"))
        }

        lambdaTestExtension.tunnelOps.executable.set(unzipLambdaTestTunnel.flatMap { it.outputFile })
    }