publishing.gradle.kts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import org.gradle.api.publish.PublishingExtension
  2. import org.gradle.api.publish.maven.MavenPublication
  3. import org.gradle.kotlin.dsl.configure
  4. apply(plugin = "maven-publish")
  5. val publishGroup = providers.gradleProperty("PUBLISH_GROUP").getOrElse("com.xuqm")
  6. val publishVersion = providers.gradleProperty("PUBLISH_VERSION").getOrElse("0.1.0-SNAPSHOT")
  7. group = publishGroup
  8. version = publishVersion
  9. configure<PublishingExtension> {
  10. publications {
  11. register<MavenPublication>("release") {
  12. groupId = publishGroup
  13. artifactId = project.name
  14. version = publishVersion
  15. afterEvaluate {
  16. from(components.findByName("release"))
  17. }
  18. }
  19. }
  20. repositories {
  21. maven {
  22. val isSnapshot = publishVersion.endsWith("SNAPSHOT")
  23. name = if (isSnapshot) "xuqmSnapshot" else "xuqmRelease"
  24. url = uri(
  25. if (isSnapshot) {
  26. "https://nexus.xuqinmin.com/repository/android-snapshot/"
  27. } else {
  28. "https://nexus.xuqinmin.com/repository/android-hosted/"
  29. },
  30. )
  31. credentials {
  32. username = providers.gradleProperty("nexus.username")
  33. .orElse(providers.environmentVariable("NEXUS_USERNAME"))
  34. .orNull
  35. password = providers.gradleProperty("nexus.password")
  36. .orElse(providers.environmentVariable("NEXUS_PASSWORD"))
  37. .orNull
  38. }
  39. }
  40. }
  41. }