fix(autoversion): try to correct for CI environment
This commit is contained in:
parent
47c14f9c28
commit
b18e8d2a5c
@ -7,17 +7,20 @@ val isRelease = project.hasProperty("release")
|
|||||||
val specialCaseBuilds = setOf("forge", "fabric", "neoforge")
|
val specialCaseBuilds = setOf("forge", "fabric", "neoforge")
|
||||||
fun List<Tag>.filter(): Pair<Tag, Tag?>? {
|
fun List<Tag>.filter(): Pair<Tag, Tag?>? {
|
||||||
if (isEmpty()) return null
|
if (isEmpty()) return null
|
||||||
if (size == 1) return first() to null
|
val envName = System.getenv("CI_COMMIT_TAG")
|
||||||
|
val current = envName?.let { v -> indexOfFirst { it.name == v } } ?: 0
|
||||||
|
if (current == -1) throw IllegalStateException("Current tag ($envName) not found in tag list")
|
||||||
|
if (size == current) return get(current) to null
|
||||||
|
|
||||||
val ver = SemanticVersion.tryParse(first().name)
|
val ver = SemanticVersion.tryParse(get(current).name)
|
||||||
// special case: some mod projects use the format 1.0.0+forge to classify builds for different loaders
|
// special case: some mod projects use the format 1.0.0+forge to classify builds for different loaders
|
||||||
// this ensures changelogs get generated within the same loader branch
|
// this ensures changelogs get generated within the same loader branch
|
||||||
if (ver?.build in specialCaseBuilds) {
|
if (ver?.build in specialCaseBuilds) {
|
||||||
val preceding = drop(1).firstOrNull { SemanticVersion.tryParse(it.name)?.build == ver?.build }
|
val preceding = drop(current + 1).firstOrNull { SemanticVersion.tryParse(it.name)?.build == ver?.build }
|
||||||
if (preceding != null) return first() to preceding
|
if (preceding != null) return get(current) to preceding
|
||||||
}
|
}
|
||||||
|
|
||||||
return first() to get(1)
|
return get(current) to get(current + 1)
|
||||||
}
|
}
|
||||||
|
|
||||||
versionS = "0.0.0+nogit"
|
versionS = "0.0.0+nogit"
|
||||||
|
Loading…
Reference in New Issue
Block a user