From f2e31d0f4eb57d14618cd53e5d01fb8879bb1255 Mon Sep 17 00:00:00 2001 From: BoD Date: Fri, 13 Jun 2025 17:30:51 +0200 Subject: [PATCH] Setup Develocity --- build-logic/build.gradle.kts | 1 + build-logic/settings.gradle.kts | 6 ++++++ gradle/ge.gradle | 30 ++++++++++++++++++++++++++++++ gradle/libs.versions.toml | 1 + settings.gradle.kts | 6 ++++++ tests/settings.gradle.kts | 6 ++++++ 6 files changed, 50 insertions(+) create mode 100644 gradle/ge.gradle diff --git a/build-logic/build.gradle.kts b/build-logic/build.gradle.kts index 414fee76..71e98ebe 100644 --- a/build-logic/build.gradle.kts +++ b/build-logic/build.gradle.kts @@ -17,6 +17,7 @@ group = "com.apollographql.cache.build" dependencies { compileOnly(gradleApi()) + compileOnly(libs.dgp) implementation(libs.kotlin.plugin) implementation(libs.librarian) implementation(libs.atomicfu.plugin) diff --git a/build-logic/settings.gradle.kts b/build-logic/settings.gradle.kts index 09f9b70e..ca7360b0 100644 --- a/build-logic/settings.gradle.kts +++ b/build-logic/settings.gradle.kts @@ -1,3 +1,8 @@ +plugins { + id("com.gradle.develocity") version "4.0.2" // sync with libraries.toml + id("com.gradle.common-custom-user-data-gradle-plugin") version "2.3" +} + rootProject.name = "build-logic" dependencyResolutionManagement { @@ -9,3 +14,4 @@ dependencyResolutionManagement { } apply(from = "../gradle/repositories.gradle.kts") +apply(from = "../gradle/ge.gradle") diff --git a/gradle/ge.gradle b/gradle/ge.gradle new file mode 100644 index 00000000..8a5f6cc6 --- /dev/null +++ b/gradle/ge.gradle @@ -0,0 +1,30 @@ +def isCI = System.getenv("CI") != null + +develocity { + server = "https://ge.apollographql.com" + allowUntrustedServer = false + + buildScan { + publishing.onlyIf { it.authenticated } + + uploadInBackground = !isCI + + capture { + fileFingerprints = true + } + } +} + + +buildCache { + local { + enabled = true + push = true + } + remote(develocity.buildCache) { + enabled = true + // Check access key presence to avoid build cache errors on PR builds when access key is not present + def accessKey = System.getenv("DEVELOCITY_ACCESS_KEY") + push = isCI && accessKey + } +} diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index c1eb2e31..539cd035 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -22,6 +22,7 @@ apollo-cache-sqlite = { group = "com.apollographql.apollo", name = "apollo-norma apollo-plugin = { group = "com.apollographql.apollo", name = "apollo-gradle-plugin", version.ref = "apollo" } atomicfu-library = { group = "org.jetbrains.kotlinx", name = "atomicfu", version.ref = "atomicfu" } atomicfu-plugin = { group = "org.jetbrains.kotlinx", name = "atomicfu-gradle-plugin", version.ref = "atomicfu" } +dgp = "com.gradle:develocity-gradle-plugin:4.0.2" # // sync with settings.gradle.kts kotlin-test = { group = "org.jetbrains.kotlin", name = "kotlin-test" } # the Kotlin plugin resolves the version kotlin-test-junit = { group = "org.jetbrains.kotlin", name = "kotlin-test-junit" } # the Kotlin plugin resolves the version okio = { group = "com.squareup.okio", name = "okio", version.ref = "okio" } diff --git a/settings.gradle.kts b/settings.gradle.kts index 8fff4fe2..83f3104f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -2,7 +2,13 @@ pluginManagement { includeBuild("build-logic") } +plugins { + id("com.gradle.develocity") version "4.0.2" // sync with libraries.toml + id("com.gradle.common-custom-user-data-gradle-plugin") version "2.3" +} + apply(from = "gradle/repositories.gradle.kts") +apply(from = "gradle/ge.gradle") include( "normalized-cache", diff --git a/tests/settings.gradle.kts b/tests/settings.gradle.kts index fc6793d7..c1d5601c 100644 --- a/tests/settings.gradle.kts +++ b/tests/settings.gradle.kts @@ -4,9 +4,15 @@ pluginManagement { includeBuild("../build-logic") } +plugins { + id("com.gradle.develocity") version "4.0.2" // sync with libraries.toml + id("com.gradle.common-custom-user-data-gradle-plugin") version "2.3" +} + rootProject.name = "apollo-kotlin-normalized-cache-tests" apply(from = "../gradle/repositories.gradle.kts") +apply(from = "../gradle/ge.gradle") // Include all tests rootProject.projectDir