Skip to content

Commit 37fb7fb

Browse files
committed
Update 'module.properties' / remove "duplicates" (only keep latest)
1 parent 869b584 commit 37fb7fb

File tree

3 files changed

+168
-72
lines changed

3 files changed

+168
-72
lines changed

gradle/plugins/src/main/kotlin/gradlexbuild/UniqueModulesPropertiesUpdate.kt

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import org.gradle.api.tasks.Input
99
import org.gradle.api.tasks.InputFiles
1010
import org.gradle.api.tasks.OutputFile
1111
import org.gradle.api.tasks.TaskAction
12+
import org.gradle.util.internal.VersionNumber
1213
import java.util.Properties
1314
import javax.inject.Inject
1415

@@ -34,12 +35,19 @@ abstract class UniqueModulesPropertiesUpdate : DefaultTask() {
3435

3536
val modulesToRepoLocation = Properties()
3637
modulesToRepoLocation.load(modulesProperties.singleFile.inputStream())
37-
val modulesToCoordinates = modulesToRepoLocation.toSortedMap { e1, e2 -> e1.toString().compareTo(e2.toString()) }.map { entry ->
38+
val modules = modulesToRepoLocation.toSortedMap { e1, e2 -> e1.toString().compareTo(e2.toString()) }.map { entry ->
3839
val split = entry.value.toString().split("/")
3940
val group = split.subList(4, split.size - 3).joinToString(".")
4041
val name = split[split.size - 3]
41-
"${entry.key}=$group:$name\n"
42-
}.joinToString("")
43-
uniqueModulesProperties.get().asFile.writeText(modulesToCoordinates.trim())
42+
val version = split[split.size - 2]
43+
Module(entry.key.toString(), "$group:$name", version)
44+
}.groupBy { it.ga }.values.map { moduleList ->
45+
moduleList.maxBy { VersionNumber.parse(it.version) }
46+
}.sortedBy { it.name }
47+
48+
val modulesToCoordinates = modules.map { "${it.name}=${it.ga}\n" }
49+
uniqueModulesProperties.get().asFile.writeText(modulesToCoordinates.joinToString("").trim())
4450
}
51+
52+
data class Module(val name: String, val ga: String, val version: String)
4553
}

src/main/resources/org/gradlex/javamodule/dependencies/modules.properties

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
com.amihaiemil.eoyaml=com.amihaiemil.web:eo-yaml
22
com.github.spotbugs.annotations=com.github.spotbugs:spotbugs-annotations
33
com.github.virtuald.curvesapi=com.github.virtuald:curvesapi
4+
com.google.common.util.concurrent.internal=com.google.guava:failureaccess
45
com.google.common=com.google.guava:guava
5-
com.google.errorprone.annotations=com.google.errorprone:error_prone_annotations
66
com.google.gson=com.google.code.gson:gson
77
com.google.guice.extensions.servlet=com.google.inject.extensions:guice-servlet
88
com.google.guice=com.google.inject:guice
@@ -45,7 +45,6 @@ liquibase.core=org.liquibase:liquibase-core
4545
org.antlr.antlr4.runtime=org.antlr:antlr4-runtime
4646
org.apache.commons.codec=commons-codec:commons-codec
4747
org.apache.commons.collections4=org.apache.commons:commons-collections4
48-
org.apache.commons.configuration2=org.apache.commons:commons-configuration2
4948
org.apache.commons.io=commons-io:commons-io
5049
org.apache.commons.logging=org.slf4j:jcl-over-slf4j
5150
org.apache.httpcomponents.httpclient.fluent=org.apache.httpcomponents:fluent-hc

0 commit comments

Comments
 (0)