import javax.inject.Inject pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } } plugins { id("com.gradle.common-custom-user-data-gradle-plugin") version "1.8.1" id("com.gradle.enterprise") version "3.12.4" } gradleEnterprise { server = "https://INCORRECT-URL.com" allowUntrustedServer = true buildScan { def curlRequest = providers.of(CurlRequestValueSource) { it.parameters { it.url.set(server) } } def serverActive = curlRequest.get() == "0" if (!serverActive) { buildFinished { println("\n$server not reachable") } } publishAlwaysIf(serverActive) capture { taskInputFiles = true } uploadInBackground = System.getenv("CI") == null } } dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "My Application" include ':app' include ':mylibrary' abstract class CurlRequestValueSource implements ValueSource<String, Parameters> { final ExecOperations execOperations interface Parameters extends ValueSourceParameters { Property<String> getUrl() } @Inject CurlRequestValueSource(ExecOperations execOperations) { this.execOperations = execOperations } @Override String obtain() { return execOperations.exec{ it.commandLine("curl", "-s", "--max-time", "2", parameters.url.get()) it.ignoreExitValue = true }.exitValue.toString() } }