From 23444bfc683f4f4607f57c404a6dc2e0e28fad68 Mon Sep 17 00:00:00 2001 From: Andrzej Jordanow Date: Wed, 30 Jul 2025 16:58:03 +0200 Subject: [PATCH 1/3] Set version to 0.12.1 --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index eccc0b3..731d871 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -5,7 +5,7 @@ plugins { } rootProject.group = "io.github.gradle" -rootProject.version = "0.12.0" +rootProject.version = "0.12.1" java { toolchain { From 31af3a1426e7a786055e0f0c0ee7d778563c4940 Mon Sep 17 00:00:00 2001 From: Andrzej Jordanow Date: Wed, 30 Jul 2025 16:59:58 +0200 Subject: [PATCH 2/3] Make CIBuildCustomValueProvider work with configuration cache --- .../CIBuildCustomValueProvider.java | 2 +- .../DevelocityConventions.java | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/src/main/java/io/github/gradle/conventions/customvalueprovider/CIBuildCustomValueProvider.java b/src/main/java/io/github/gradle/conventions/customvalueprovider/CIBuildCustomValueProvider.java index 472adeb..6abe55a 100644 --- a/src/main/java/io/github/gradle/conventions/customvalueprovider/CIBuildCustomValueProvider.java +++ b/src/main/java/io/github/gradle/conventions/customvalueprovider/CIBuildCustomValueProvider.java @@ -66,7 +66,7 @@ public TeamCityCustomValueProvider(DevelocityConventions conventions) { public void accept(Settings settings, BuildScanConfiguration buildScan) { buildScan.link("TeamCity Build", getConventions().getEnv("BUILD_URL")); buildScan.value(BUILD_ID, getConventions().getEnv("BUILD_ID")); - Optional gitCommitId = DevelocityConventions.execAndGetStdout(settings.getSettingsDir(), "git", "rev-parse", "--verify", "HEAD"); + Optional gitCommitId = getConventions().getCommitId(settings.getSettingsDir()); gitCommitId.ifPresent(s -> getConventions().setCommitId(settings.getRootDir(), buildScan, s)); } } diff --git a/src/main/java/io/github/gradle/conventions/customvalueprovider/DevelocityConventions.java b/src/main/java/io/github/gradle/conventions/customvalueprovider/DevelocityConventions.java index 109930a..2576f7c 100644 --- a/src/main/java/io/github/gradle/conventions/customvalueprovider/DevelocityConventions.java +++ b/src/main/java/io/github/gradle/conventions/customvalueprovider/DevelocityConventions.java @@ -178,6 +178,16 @@ public void setCommitId(File projectDir, BuildScanConfiguration buildScan, Strin .ifPresent(repoUrl -> buildScan.link("Source", String.format("%s/commit/%s", repoUrl, commitId))); } + public Optional getCommitId(File workDir) { + Provider commitIdProvider = providerFactory.of( + CurrentCommitIdValueSource.class, + it -> it.parameters( + parameters -> parameters.getWorkDir().set(workDir) + ) + ); + return toOptional(commitIdProvider); + } + private static Optional toOptional(Provider remoteGitHubRepositoryProvider) { return Optional.ofNullable(remoteGitHubRepositoryProvider.getOrNull()); } @@ -218,6 +228,22 @@ public static Optional execAndGetStdout(File workingDir, String... args) } } + static Optional getCurrentCommitId(File workDir) { + return execAndGetStdout(workDir, "git", "rev-parse", "--verify", "HEAD"); + } + + public abstract static class CurrentCommitIdValueSource implements ValueSource { + interface Params extends ValueSourceParameters { + DirectoryProperty getWorkDir(); + } + + @Nullable + @Override + public String obtain() { + return getCurrentCommitId(getParameters().getWorkDir().getAsFile().get()).orElse(null); + } + } + static Optional getRemoteGitHubRepository(File projectDir) { return execAndGetStdout(projectDir, "git", "config", "--get", "remote.origin.url").flatMap(DevelocityConventions::parseGitHubRemoteUrl); } From c4a3bc2e4ade2805d4df2280b169e887ea048cc5 Mon Sep 17 00:00:00 2001 From: Andrzej Jordanow Date: Wed, 30 Jul 2025 17:03:57 +0200 Subject: [PATCH 3/3] Use Edges as named build cache nodes --- .../gradle/conventions/DevelocityConventionsPlugin.java | 6 +++--- .../DevelocityConventionsPluginIntegrationTest.java | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/io/github/gradle/conventions/DevelocityConventionsPlugin.java b/src/main/java/io/github/gradle/conventions/DevelocityConventionsPlugin.java index 4775243..042c73a 100644 --- a/src/main/java/io/github/gradle/conventions/DevelocityConventionsPlugin.java +++ b/src/main/java/io/github/gradle/conventions/DevelocityConventionsPlugin.java @@ -119,9 +119,9 @@ private void configurePublishStrategy(DevelocityConventions conventions, BuildSc } private static class BuildCacheConfigureAction implements Action { - private static final String EU_CACHE_NODE = "https://eu-build-cache.gradle.org"; - private static final String US_CACHE_NODE = "https://us-build-cache.gradle.org"; - private static final String AU_CACHE_NODE = "https://au-build-cache.gradle.org"; + private static final String EU_CACHE_NODE = "https://eun-edge.gradle.org"; + private static final String US_CACHE_NODE = "https://usw-edge.gradle.org"; + private static final String AU_CACHE_NODE = "https://au-edge.gradle.org"; private static final String DEVELOCITY_ACCESS_KEY = "DEVELOCITY_ACCESS_KEY"; private static final String GRADLE_CACHE_REMOTE_PUSH_PROPERTY_NAME = "gradle.cache.remote.push"; diff --git a/src/test/java/io/github/gradle/conventions/DevelocityConventionsPluginIntegrationTest.java b/src/test/java/io/github/gradle/conventions/DevelocityConventionsPluginIntegrationTest.java index ac6268c..4a71bed 100644 --- a/src/test/java/io/github/gradle/conventions/DevelocityConventionsPluginIntegrationTest.java +++ b/src/test/java/io/github/gradle/conventions/DevelocityConventionsPluginIntegrationTest.java @@ -15,7 +15,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; public class DevelocityConventionsPluginIntegrationTest extends AbstractDevelocityPluginIntegrationTest { - private static final String EU_CACHE_NODE = "https://eu-build-cache.gradle.org"; + private static final String EU_CACHE_NODE = "https://eun-edge.gradle.org"; private static final String PUBLIC_DEVELOCITY_SERVER = "https://ge.gradle.org"; @Test