Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.55 KB | None | 0 0
  1. apply plugin: 'com.android.library'
  2. apply plugin: 'kotlin-android'
  3. apply plugin: 'maven-publish'
  4. apply plugin: 'com.jfrog.artifactory'
  5.  
  6. def packageName = 'bluesquare-core'
  7.  
  8. android {
  9. compileSdkVersion 28
  10.  
  11.  
  12. defaultConfig {
  13. minSdkVersion 21
  14. targetSdkVersion 28
  15. versionCode getDate()
  16. versionName "$bluesquareVersion"
  17.  
  18. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  19.  
  20. }
  21.  
  22. buildTypes {
  23. release {
  24. minifyEnabled false
  25. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  26. }
  27. }
  28.  
  29. packagingOptions {
  30. exclude 'META-INF/LICENSE.txt'
  31. exclude 'META-INF/NOTICE.txt'
  32. exclude "META-INF/*kotlin*"
  33.  
  34. }
  35.  
  36. }
  37.  
  38.  
  39. dependencies {
  40. implementation fileTree(dir: 'libs', include: ['*.jar'])
  41.  
  42. /* test */
  43. testImplementation 'junit:junit:4.12'
  44. androidTestImplementation 'com.android.support.test:runner:1.0.2'
  45. androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
  46. androidTestImplementation 'com.android.support.test:rules:1.0.2'
  47.  
  48.  
  49. /*
  50. kotlin
  51. */
  52. implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
  53. implementation "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version"
  54. api "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines_version"
  55. api "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines_version"
  56.  
  57.  
  58. /*
  59. support
  60. */
  61. implementation 'com.android.support:appcompat-v7:28.0.0'
  62. implementation 'com.android.support:paperview-v7:28.0.0'
  63. implementation 'com.android.support.constraint:constraint-layout:1.1.3'
  64.  
  65. /*
  66. bluesquare
  67. */
  68. implementation project(':processor')
  69. implementation project(':camera')
  70. implementation project(':utils')
  71. implementation project(':color')
  72. implementation project(':shapes')
  73. implementation project(':processor_preview')
  74. implementation project(':tilt')
  75.  
  76. /*
  77. OS
  78. */
  79. api 'org.kodein.di:kodein-di-generic-jvm:5.2.0'
  80.  
  81. }
  82.  
  83. task sourceJar(type: Jar) {
  84. from android.sourceSets.main.java.srcDirs
  85. archiveClassifier.set('sources')
  86. }
  87.  
  88. publishing {
  89. publications {
  90. aar(MavenPublication) {
  91.  
  92. pom.withXml {
  93. def dependenciesNode = asNode().appendNode('dependencies')
  94.  
  95. /* APPEND ALL API DEPENDENCIES */
  96. configurations.api.allDependencies.each {
  97. if (!it.group.startsWith("bluesquare")) {
  98. def dependencyNode = dependenciesNode.appendNode('dependency')
  99. dependencyNode.appendNode('groupId', it.group)
  100. dependencyNode.appendNode('artifactId', it.name)
  101. dependencyNode.appendNode('version', it.version)
  102. }
  103. }
  104.  
  105. /* APPEND processor AS DEPENDENCY */
  106. def processorNode = dependenciesNode.appendNode('dependency')
  107. processorNode.appendNode('groupId', "com.quickbirdstudios")
  108. processorNode.appendNode('artifactId', "bluesquare-processor")
  109. processorNode.appendNode('version', bluesquareVersion)
  110.  
  111. /* APPEND CAMERA AS DEPENDENCY */
  112. def cameraNode = dependenciesNode.appendNode('dependency')
  113. cameraNode.appendNode('groupId', "com.quickbirdstudios")
  114. cameraNode.appendNode('artifactId', "bluesquare-camera")
  115. cameraNode.appendNode('version', bluesquareVersion)
  116.  
  117. /* APPEND UTILS AS DEPENDENCY */
  118. def utilsNode = dependenciesNode.appendNode('dependency')
  119. utilsNode.appendNode('groupId', "com.quickbirdstudios")
  120. utilsNode.appendNode('artifactId', "bluesquare-utils")
  121. utilsNode.appendNode('version', bluesquareVersion)
  122.  
  123. /* APPEND COLOR AS DEPENDENCY */
  124. def colorNode = dependenciesNode.appendNode('dependency')
  125. colorNode.appendNode('groupId', "com.quickbirdstudios")
  126. colorNode.appendNode('artifactId', "bluesquare-color")
  127. colorNode.appendNode('version', bluesquareVersion)
  128.  
  129. /* APPEND PAPER AS DEPENDENCY */
  130. def paperNode = dependenciesNode.appendNode('dependency')
  131. paperNode.appendNode('groupId', "com.quickbirdstudios")
  132. paperNode.appendNode('artifactId', "bluesquare-paper")
  133. paperNode.appendNode('version', bluesquareVersion)
  134.  
  135. /* APPEND SHAPES AS DEPENDENCY */
  136. def shapesNode = dependenciesNode.appendNode('dependency')
  137. shapesNode.appendNode('groupId', "com.quickbirdstudios")
  138. shapesNode.appendNode('artifactId', "bluesquare-shapes")
  139. shapesNode.appendNode('version', bluesquareVersion)
  140.  
  141. /* APPEND processor PREVIEW AS DEPENDENCY */
  142. def processorPreviewNode = dependenciesNode.appendNode('dependency')
  143. processorPreviewNode.appendNode('groupId', "com.quickbirdstudios")
  144. processorPreviewNode.appendNode('artifactId', "bluesquare-processor-preview")
  145. processorPreviewNode.appendNode('version', bluesquareVersion)
  146.  
  147. /* APPEND ORIENTATION AS DEPENDENCY */
  148. def orientationNode = dependenciesNode.appendNode('dependency')
  149. orientationNode.appendNode('groupId', "com.quickbirdstudios")
  150. orientationNode.appendNode('artifactId', "bluesquare-tilt")
  151. orientationNode.appendNode('version', bluesquareVersion)
  152. }
  153.  
  154. // ##############################################################
  155.  
  156. groupId "com.quickbirdstudios"
  157. version = "$bluesquareVersion"
  158. artifactId packageName
  159.  
  160. artifact("$buildDir/outputs/aar/core-release.aar")
  161. artifact sourceJar
  162. }
  163. }
  164. }
  165.  
  166.  
  167. if (!project.hasProperty("artifactory_username")) {
  168. ext.artifactory_username = ""
  169. }
  170.  
  171. if (!project.hasProperty("artifactory_password")) {
  172. ext.artifactory_password = ""
  173. }
  174.  
  175. artifactory {
  176. contextUrl = '***'
  177. publish {
  178.  
  179. repository {
  180. repoKey = 'quickbirdstudios'
  181. username = artifactory_username
  182. password = artifactory_password
  183. }
  184.  
  185. defaults {
  186. publications('aar')
  187. publishArtifacts = true
  188.  
  189. // Properties to be attached to the published artifacts.
  190. properties = ['qa.level': 'basic', 'dev.team': 'core']
  191. publishPom = true
  192. }
  193. }
  194. }
  195.  
  196. repositories {
  197. mavenCentral()
  198. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement