Guest User

Untitled

a guest
Apr 3rd, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.38 KB | None | 0 0
  1. apply plugin: 'maven'
  2. apply plugin: 'signing'
  3.  
  4. version = VERSION_NAME
  5. group = GROUP
  6.  
  7. def isReleaseBuild() {
  8. return VERSION_NAME.contains("SNAPSHOT") == false
  9. }
  10.  
  11. def getReleaseRepositoryUrl() {
  12. if (hasProperty('PUBLISH_TO_MAVEN_LOCAL') && Boolean.valueOf(PUBLISH_TO_MAVEN_LOCAL)) {
  13. return repositories.mavenLocal().url
  14. }
  15. return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL : ""
  16. }
  17.  
  18. def getSnapshotRepositoryUrl() {
  19. if (hasProperty('PUBLISH_TO_MAVEN_LOCAL') && Boolean.valueOf(PUBLISH_TO_MAVEN_LOCAL)) {
  20. return repositories.mavenLocal().url
  21. }
  22. return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL : ""
  23. }
  24.  
  25. def getRepositoryUsername() {
  26. return hasProperty('NEXUS_USERNAME') ? NEXUS_USERNAME : ""
  27. }
  28.  
  29. def getRepositoryPassword() {
  30. return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : ""
  31. }
  32.  
  33. afterEvaluate { project ->
  34. uploadArchives {
  35. repositories {
  36. mavenDeployer {
  37. beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
  38.  
  39. pom.groupId = GROUP
  40. pom.artifactId = POM_ARTIFACT_ID
  41. pom.version = VERSION_NAME
  42.  
  43. repository(url: getReleaseRepositoryUrl()) {
  44. authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
  45. }
  46. snapshotRepository(url: getSnapshotRepositoryUrl()) {
  47. authentication(userName: getRepositoryUsername(), password: getRepositoryPassword())
  48. }
  49.  
  50. pom.project {
  51. name POM_NAME
  52. packaging POM_PACKAGING
  53. description POM_DESCRIPTION
  54. url POM_URL
  55.  
  56. scm {
  57. url POM_SCM_URL
  58. connection POM_SCM_CONNECTION
  59. developerConnection POM_SCM_DEV_CONNECTION
  60. }
  61.  
  62. licenses {
  63. license {
  64. name POM_LICENCE_NAME
  65. url POM_LICENCE_URL
  66. distribution POM_LICENCE_DIST
  67. }
  68. }
  69.  
  70. developers {
  71. developer {
  72. id POM_DEVELOPER_ID
  73. name POM_DEVELOPER_NAME
  74. }
  75. }
  76. }
  77. }
  78. }
  79. }
  80.  
  81. signing {
  82. required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
  83. sign configurations.archives
  84. }
  85.  
  86. if (project.getPlugins().hasPlugin('com.android.application') ||
  87. project.getPlugins().hasPlugin('com.android.library')) {
  88. task install(type: Upload, dependsOn: assemble) {
  89. repositories.mavenInstaller {
  90. configuration = configurations.archives
  91.  
  92. pom.groupId = GROUP
  93. pom.artifactId = POM_ARTIFACT_ID
  94. pom.version = VERSION_NAME
  95.  
  96. pom.project {
  97. name POM_NAME
  98. packaging POM_PACKAGING
  99. description POM_DESCRIPTION
  100. url POM_URL
  101.  
  102. scm {
  103. url POM_SCM_URL
  104. connection POM_SCM_CONNECTION
  105. developerConnection POM_SCM_DEV_CONNECTION
  106. }
  107.  
  108. licenses {
  109. license {
  110. name POM_LICENCE_NAME
  111. url POM_LICENCE_URL
  112. distribution POM_LICENCE_DIST
  113. }
  114. }
  115.  
  116. developers {
  117. developer {
  118. id POM_DEVELOPER_ID
  119. name POM_DEVELOPER_NAME
  120. }
  121. }
  122. }
  123. }
  124. }
  125.  
  126. task androidJavadocs(type: Javadoc) {
  127. failOnError false
  128. source = android.sourceSets.main.java.source
  129. classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
  130. }
  131.  
  132. task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) {
  133. classifier = 'javadoc'
  134. from androidJavadocs.destinationDir
  135. }
  136.  
  137. task androidSourcesJar(type: Jar) {
  138. classifier = 'sources'
  139. from android.sourceSets.main.java.source
  140. }
  141.  
  142. } else {
  143. install {
  144. repositories.mavenInstaller {
  145. pom.groupId = GROUP
  146. pom.artifactId = POM_ARTIFACT_ID
  147. pom.version = VERSION_NAME
  148.  
  149. pom.project {
  150. name POM_NAME
  151. packaging POM_PACKAGING
  152. description POM_DESCRIPTION
  153. url POM_URL
  154.  
  155. scm {
  156. url POM_SCM_URL
  157. connection POM_SCM_CONNECTION
  158. developerConnection POM_SCM_DEV_CONNECTION
  159. }
  160.  
  161. licenses {
  162. license {
  163. name POM_LICENCE_NAME
  164. url POM_LICENCE_URL
  165. distribution POM_LICENCE_DIST
  166. }
  167. }
  168.  
  169. developers {
  170. developer {
  171. id POM_DEVELOPER_ID
  172. name POM_DEVELOPER_NAME
  173. }
  174. }
  175. }
  176. }
  177. }
  178.  
  179. task sourcesJar(type: Jar, dependsOn: classes) {
  180. classifier = 'sources'
  181. from sourceSets.main.allSource
  182. }
  183.  
  184. task javadocJar(type: Jar, dependsOn: javadoc) {
  185. classifier = 'javadoc'
  186. from javadoc.destinationDir
  187. }
  188. }
  189.  
  190. if (JavaVersion.current().isJava8Compatible()) {
  191. allprojects {
  192. tasks.withType(Javadoc) {
  193. options.addStringOption('Xdoclint:none', '-quiet')
  194. }
  195. }
  196. }
  197.  
  198. artifacts {
  199. if (project.getPlugins().hasPlugin('com.android.application') ||
  200. project.getPlugins().hasPlugin('com.android.library')) {
  201. archives androidSourcesJar
  202. archives androidJavadocsJar
  203. } else {
  204. archives sourcesJar
  205. archives javadocJar
  206. }
  207. }
  208. }
Add Comment
Please, Sign In to add comment