mavenpush.gradle 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. apply plugin: 'maven'
  2. apply plugin: 'signing'
  3. def sonatypeRepositoryUrl
  4. if (isReleaseBuild()) {
  5. println 'RELEASE BUILD'
  6. sonatypeRepositoryUrl = hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL
  7. : "https://oss.sonatype.org/service/local/staging/deploy/maven2/"
  8. } else {
  9. println 'DEBUG BUILD'
  10. sonatypeRepositoryUrl = hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL
  11. : "https://oss.sonatype.org/content/repositories/snapshots/"
  12. }
  13. def getRepositoryUsername() {
  14. return hasProperty('nexusUsername') ? nexusUsername : ""
  15. }
  16. def getRepositoryPassword() {
  17. return hasProperty('nexusPassword') ? nexusPassword : ""
  18. }
  19. afterEvaluate { project ->
  20. uploadArchives {
  21. repositories {
  22. mavenDeployer {
  23. beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
  24. pom.artifactId = POM_ARTIFACT_ID
  25. repository(url: sonatypeRepositoryUrl) {
  26. authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
  27. }
  28. pom.project {
  29. name POM_NAME
  30. packaging POM_PACKAGING
  31. description POM_DESCRIPTION
  32. url POM_URL
  33. scm {
  34. url POM_SCM_URL
  35. connection POM_SCM_CONNECTION
  36. developerConnection POM_SCM_DEV_CONNECTION
  37. }
  38. licenses {
  39. license {
  40. name POM_LICENCE_NAME
  41. url POM_LICENCE_URL
  42. distribution POM_LICENCE_DIST
  43. }
  44. }
  45. developers {
  46. developer {
  47. id POM_DEVELOPER_ID
  48. name POM_DEVELOPER_NAME
  49. }
  50. }
  51. }
  52. }
  53. }
  54. }
  55. signing {
  56. required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
  57. sign configurations.archives
  58. }
  59. task androidJavadocs(type: Javadoc) {
  60. source = android.sourceSets.main.java.sourceFiles
  61. }
  62. task androidJavadocsJar(type: Jar) {
  63. classifier = 'javadoc'
  64. //basename = artifact_id
  65. from androidJavadocs.destinationDir
  66. }
  67. task androidSourcesJar(type: Jar) {
  68. classifier = 'sources'
  69. //basename = artifact_id
  70. from android.sourceSets.main.java.sourceFiles
  71. }
  72. artifacts {
  73. //archives packageReleaseJar
  74. archives androidSourcesJar
  75. archives androidJavadocsJar
  76. }
  77. }