Fix VersionMatcher not parsing version string correctly
This commit is contained in:
parent
0b753d6a4e
commit
425599ff62
5 changed files with 78 additions and 54 deletions
|
|
@ -90,12 +90,40 @@ tasks.register("buildAll") {
|
|||
dependsOn(tasks.withType<Jar>())
|
||||
}
|
||||
|
||||
// Task to merge service files
|
||||
val prepareServiceFiles = tasks.register("prepareServiceFiles") {
|
||||
val outputDir = layout.buildDirectory.dir("generated/service-files")
|
||||
val serviceFile = "META-INF/services/org.adrianvictor.lib.versioning.VersionedServiceRegistrar"
|
||||
|
||||
// Define inputs
|
||||
val inputFiles = mcVersions.map { ver -> file("src/$ver/resources/$serviceFile") }.filter { it.exists() }
|
||||
inputs.files(inputFiles)
|
||||
outputs.dir(outputDir)
|
||||
|
||||
doLast {
|
||||
val registrars = mutableSetOf<String>()
|
||||
inputFiles.forEach { file ->
|
||||
registrars.addAll(file.readLines().filter { it.isNotBlank() })
|
||||
}
|
||||
|
||||
val mergedFile = outputDir.get().file(serviceFile).asFile
|
||||
mergedFile.parentFile.mkdirs()
|
||||
mergedFile.writeText(registrars.joinToString("\n"))
|
||||
}
|
||||
}
|
||||
|
||||
tasks.register<Jar>("bundleAll") {
|
||||
from(sourceSets["main"].output)
|
||||
mcVersions.forEach { ver ->
|
||||
from(sourceSets[ver].output)
|
||||
}
|
||||
|
||||
// Include the merged service file
|
||||
from(prepareServiceFiles) {
|
||||
into("META-INF/services")
|
||||
include("org.adrianvictor.lib.versioning.VersionedServiceRegistrar")
|
||||
}
|
||||
|
||||
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
||||
|
||||
archiveClassifier.set("all-implementations")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue