build.gradle.kts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import com.github.benmanes.gradle.versions.updates.DependencyUpdatesTask
  2. // Top-level build file where you can add configuration options common to all sub-projects/modules.
  3. allprojects {
  4. apply(from = "${rootProject.projectDir}/repositories.gradle.kts")
  5. apply(plugin = "com.github.ben-manes.versions")
  6. tasks.named<DependencyUpdatesTask>("dependencyUpdates") {
  7. val regex = listOf(
  8. "alpha", "beta", "rc", "cr", "m", "preview","a", "b", "ea", "jre"
  9. ).map { qualifier -> Regex("(?i).*[.-]$qualifier[.\\d-+]*") }
  10. resolutionStrategy {
  11. componentSelection {
  12. all {
  13. val rejected = regex.any {
  14. it.matches(candidate.version)
  15. } && regex.all {
  16. !it.matches(
  17. currentVersion
  18. )
  19. }
  20. if (rejected) {
  21. reject("Release candidate")
  22. }
  23. }
  24. }
  25. }
  26. // optional parameters
  27. checkForGradleUpdate = false
  28. outputFormatter = "json"
  29. outputDir = "build/dependencyUpdates"
  30. reportfileName = "report"
  31. }
  32. }
  33. tasks.register<Delete>("clean") {
  34. delete(rootProject.buildDir)
  35. }
  36. subprojects {
  37. // skip uploading the mapping to Crashlytics
  38. tasks.whenTaskAdded {
  39. if (name.contains("uploadCrashlyticsMappingFile")) enabled = false
  40. }
  41. }
  42. tasks.named<Wrapper>("wrapper") {
  43. doLast {
  44. val sha256 = java.net.URL("$distributionUrl.sha256")
  45. .openStream()
  46. .use { it.reader().readText().trim() }
  47. file("gradle/wrapper/gradle-wrapper.properties").appendText("distributionSha256Sum=$sha256")
  48. }
  49. }