VersionCheckerExtension.kt 649 B

1234567891011121314151617181920212223
  1. package org.sirekanyan.versionchecker
  2. import org.gradle.api.artifacts.Dependency
  3. import org.sirekanyan.versionchecker.model.Version
  4. import org.sirekanyan.versionchecker.model.toVersion
  5. open class VersionCheckerExtension {
  6. private val maxMap = mutableMapOf<String, Version>()
  7. fun findMax(dependency: Dependency): Version? {
  8. val group = dependency.group
  9. val name = dependency.name
  10. return maxMap["$group:$name"] ?: maxMap["$group"]
  11. }
  12. infix fun String.lessThan(version: String) {
  13. maxMap[this] = checkNotNull(version.toVersion()) {
  14. "Unsupported version format: $version"
  15. }
  16. }
  17. }