Files
photonvision-2025.0.0-beta-6/versioningHelper.gradle
T

43 lines
1.6 KiB
Groovy
Raw Normal View History

2024-12-09 08:01:09 -07:00
import java.nio.file.Path
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
gradle.allprojects {
ext.getCurrentVersion = {
->
def stdout = new ByteArrayOutputStream()
String tagIsh
try {
exec {
commandLine 'git', 'describe', '--tags', "--match=v*"
standardOutput = stdout
}
tagIsh = stdout.toString().trim().toLowerCase()
} catch (Exception e) {
tagIsh = "dev-Unknown"
}
// Dev tags: v2021.1.6-3-gf922466d
// We're specifically looking to capture the middle -3-
boolean isDev = tagIsh.matches(".*-[0-9]*-g[0-9a-f]*")
if (isDev && !tagIsh.startsWith("dev-")) tagIsh = "dev-" + tagIsh
println("Picked up version: " + tagIsh)
return tagIsh
}
if (!ext.has("versionString")) {
ext.versionString = getCurrentVersion()
}
ext.writePhotonVersionFile = {File versionFileIn, Path path, String version ->
println("Writing " + version + " to " + path.toAbsolutePath().toString())
String date = DateTimeFormatter.ofPattern("yyyy-M-d hh:mm:ss").format(LocalDateTime.now())
File versionFileOut = new File(path.toAbsolutePath().toString())
versionFileOut.delete()
def read = versionFileIn.text.replace('${version}', version).replace('${date}', date)
if (!versionFileOut.parentFile.exists()) versionFileOut.parentFile.mkdirs()
if (!versionFileOut.exists()) versionFileOut.createNewFile()
versionFileOut.write(read)
}
}