Files
PhotonVision/photon-server/versioningHelper.gradle
2020-07-24 16:36:54 -04:00

39 lines
1.5 KiB
Groovy

import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.nio.file.Path
gradle.allprojects {
ext.getCurrentVersion = { ->
def stdout = new ByteArrayOutputStream()
exec {
commandLine 'git', 'describe', '--tags'
standardOutput = stdout
}
String tagIsh = stdout.toString().trim().toLowerCase()
println("Picked up version: " + tagIsh)
return tagIsh
}
ext.versionString = getCurrentVersion()
}
task writeCurrentVersionJava {
String date = DateTimeFormatter.ofPattern("yyyy-M-d hh:mm:ss").format(LocalDateTime.now())
File versionFile = new File(Path.of("$projectDir/src/main/java/org/photonvision/PhotonVersion.java").toAbsolutePath().toString())
versionFile.delete()
boolean success = versionFile.createNewFile()
versionFile << "package org.photonvision;\n" +
"\n" +
"/*\n" +
" * Autogenerated file! Do not manually edit this file. This version is regenerated\n" +
" * any time the publish task is run, or when this file is deleted.\n" +
" */\n" +
"\n" +
"@SuppressWarnings(\"ALL\")\n" +
"public final class PhotonVersion {\n" +
" public static final String versionString = \"${versionString}\";\n" +
" public static final String buildDate = \"${date}\";\n" +
" public static final boolean isRelease = versionString.startsWith(\"dev\");\n" +
"}"
}
build.dependsOn writeCurrentVersionJava