-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathversioningHelper.gradle
More file actions
36 lines (32 loc) · 1.36 KB
/
Copy pathversioningHelper.gradle
File metadata and controls
36 lines (32 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.nio.file.Path
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
ext.getCurrentVersion = {
String tagIsh = "dev-unknown"
try {
tagIsh = providers.exec {
commandLine 'git', 'describe', '--tags', '--match=v*'
}.standardOutput.asText.get().trim().toLowerCase()
} catch (Exception ignored) {
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)
}