diff --git a/build.sbt b/build.sbt index 3a1c42a..95d44e8 100644 --- a/build.sbt +++ b/build.sbt @@ -43,10 +43,21 @@ ThisBuild / githubWorkflowPublish := Seq( ) ) ) -ThisBuild / version := { - val orig = (ThisBuild / version).value - if (orig.endsWith("-SNAPSHOT")) orig.split("""\+""").head + "-SNAPSHOT" - else orig + +// So that publishLocal doesn't continuously create new versions +def versionFmt(out: sbtdynver.GitDescribeOutput): String = { + val snapshotSuffix = if + (out.isSnapshot()) "-SNAPSHOT" + else "" + out.ref.dropPrefix + snapshotSuffix +} + +def fallbackVersion(d: java.util.Date): String = s"HEAD-${sbtdynver.DynVer timestamp d}" + +ThisBuild / version := dynverGitDescribeOutput.value.mkVersion(versionFmt, fallbackVersion(dynverCurrentDate.value)) +ThisBuild / dynver := { + val d = new java.util.Date + sbtdynver.DynVer.getGitDescribeOutput(d).mkVersion(versionFmt, fallbackVersion(d)) } sbtPlugin := true