CLOVIS
07/06/2026, 1:45 PMCLOVIS
07/06/2026, 1:46 PMmain are published to our GitLab registry, with a retention of a few weeks.
• We don't use MavenCentral snapshotsmbonnin
07/06/2026, 1:53 PMjoseph_ivie
07/06/2026, 2:14 PM-SNAPSHOT is madness and I'm so glad we haven't done that for years now.CLOVIS
07/06/2026, 2:46 PMmain deployments use git describe to get a unique version number. We have no real -SNAPSHOT versions.joseph_ivie
07/06/2026, 2:48 PMCLOVIS
07/06/2026, 2:50 PMjoseph_ivie
07/06/2026, 2:50 PMsimon.vergauwen
07/06/2026, 3:44 PM-eap.build-number which is hosted on a Space repository not central.joseph_ivie
07/06/2026, 3:50 PMCLOVIS
07/06/2026, 3:53 PMbase plugin in OpenSavvy's conventions: gitlab.com/opensavvy/…/base?ref_type=heads
The OpenSavvy conventions are not in MavenCentral (chicken-and-egg problem), you can access them by configuring the repository first:
maven {
name = "opensavvy-gradle-conventions"
url = uri("<https://gitlab.com/api/v4/projects/51233470/packages/maven>")
metadataSources {
gradleMetadata()
mavenPom()
}
content {
@Suppress("UnstableApiUsage")
includeGroupAndSubgroups("dev.opensavvy")
}
}
The version is computed using this GitLab CI snippet: gitlab.com/opensavvy/ci-templates/-/blob/…/version.gitlab-ci.yml?ref_type=heads
And then the publishing goes there: https://gitlab.com/opensavvy/playgrounds/gradle/-/blob/main/.gitlab-ci.yml?ref_type=heads#L34joseph_ivie
07/06/2026, 3:55 PMbuild.gradle.kts.
I think I'll do something similar.
Then again, ours worked very conveniently for local buildsCLOVIS
07/06/2026, 3:56 PMDEV so it works fine for local builds toojoseph_ivie
07/06/2026, 3:57 PMDEV? Ours does a version bump from what it would have been and appends a -local to the end of the versionCLOVIS
07/06/2026, 3:57 PMjoseph_ivie
07/06/2026, 3:58 PMCLOVIS
07/06/2026, 3:59 PMDEV but you can pass -PappVersion=whatever to override it, which is good enough for my use-casesjoseph_ivie
07/06/2026, 4:00 PMCLOVIS
07/06/2026, 4:00 PMgit within the build scripts 😅joseph_ivie
07/06/2026, 4:01 PM