Skip to content

Commit 17215e4

Browse files
committed
Made prefixes nullable to allow versions to not have a prefix
1 parent 1086944 commit 17215e4

3 files changed

Lines changed: 5 additions & 6 deletions

File tree

src/main/kotlin/io/github/vxrpenter/updater/schema/DefaultUpdateSchema.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ package io.github.vxrpenter.updater.schema
2020
* The default update schema
2121
*/
2222
data class DefaultUpdateSchema(
23-
override val prefixes: Collection<String>,
23+
override val prefixes: Collection<String>? = null,
2424
override val divider: String = ".",
2525
override val classifiers: Collection<SchemaClassifier>
2626
) : UpdateSchema

src/main/kotlin/io/github/vxrpenter/updater/schema/SchemaBuilder.kt

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,8 @@ class SchemaBuilder {
128128
)
129129

130130
fun build(): DefaultUpdateSchema {
131-
requireNotNull(this.prefixes)
132-
require(this.prefixes!!.isNotEmpty()) { "'prefix' cannot be empty" }
133131
require(!this.classifiers.isEmpty()) { "'classifiers' cannot be empty" }
134132

135-
return DefaultUpdateSchema(prefixes = prefixes!!, divider = divider, classifiers = classifiers.toList())
133+
return DefaultUpdateSchema(prefixes = prefixes, divider = divider, classifiers = classifiers.toList())
136134
}
137135
}

src/main/kotlin/io/github/vxrpenter/updater/schema/UpdateSchema.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ interface UpdateSchema {
2424
/**
2525
* Defines the beginning of a version, e.g. `v` or `v.`
2626
*/
27-
val prefixes: Collection<String>
27+
val prefixes: Collection<String>?
2828
/**
2929
* The symbol that is used to divide the version components, e.g. `.` or `-`
3030
*/
@@ -46,7 +46,8 @@ interface UpdateSchema {
4646
* @return the version value, with removed prefixes
4747
*/
4848
fun removePrefix(value: String): String {
49-
val maxLength = prefixes.maxBy { it.toCharArray().size }.toCharArray().size
49+
if (prefixes == null) return value
50+
val maxLength = prefixes!!.maxBy { it.toCharArray().size }.toCharArray().size
5051

5152
for (prefix in prefixes) {
5253
if (!value.contains(prefix) || prefix.toCharArray().size > maxLength) continue

0 commit comments

Comments
 (0)