-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathversioning.gradle
More file actions
68 lines (51 loc) · 1.7 KB
/
versioning.gradle
File metadata and controls
68 lines (51 loc) · 1.7 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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import java.util.Optional
class CI {
static final String REFS_PREFIX = "refs/heads/"
static Optional<String> branch() {
// groovy is very bad at globals, apparently.
return Optional.ofNullable(System.getenv("GITHUB_REF"))
.filter { it.startsWith(REFS_PREFIX) }
.map { it.substring(REFS_PREFIX.length()).replaceAll("/", "-") }
}
static Optional<String> buildNum() {
return Optional.ofNullable(System.getenv("GITHUB_RUN_NUMBER"))
}
}
class Versioning {
static final String BRANCH_MAIN = "main"
static final String BRANCH_RELEASE = "release"
static final String BUILD_RELEASE = "release"
static final String BUILD_LOCAL = "local"
static final String BUILD = "dev"
static Optional<String> getBranch() {
return CI.branch()
.filter { it != BRANCH_MAIN && it != BRANCH_RELEASE }
}
static Optional<String> getBuild() {
return CI.branch()
.filter { it != BRANCH_RELEASE }
.flatMap { CI.buildNum() }
}
static String getQualifier() {
return CI.branch()
.map { it == BRANCH_RELEASE ? BUILD_RELEASE : BUILD }
.orElse(BUILD_LOCAL)
}
}
String createVer(boolean includeBuild) {
String qualifier = ""
Versioning.branch.ifPresent { branch ->
qualifier += "$branch-"
}
qualifier += Versioning.qualifier
Versioning.build.filter { includeBuild }.ifPresent {build ->
qualifier += ".$build"
}
return "$project.mod_version-$qualifier+mc.$project.minecraft_version"
}
ext.getPublicVersion = {
return createVer(true)
}
ext.getArtifactVersion = {
return createVer(false)
}