build.gradle 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. /*
  2. * ********************************************************************************************************************
  3. *
  4. * iFHS7.
  5. * ;BBMBMBMc rZMBMBR BMB
  6. * MBEr:;PBM, 7MBMMEOBB: BBB RBW
  7. * XK: BO SB. :SZ MBM. c;; ir BBM :FFr :SSF: ;xBMB:r iuGXv. i:. iF2;
  8. * DBBM0r. :D S7 ;XMBMB GMBMu. MBM: BMB MBMBBBMBMS WMBMBMBBK MBMBMBM BMBRBMBW .MBMBMBMBB
  9. * :JMRMMD .. , 1MMRM1; ;MBMBBR: MBM ;MB: BMB: MBM. RMBr sBMH BM0 UMB, BMB. KMBv
  10. * ;. XOW B1; :uM: 1RE, i .2BMBs rMB. MBO MBO JMB; MBB MBM BBS 7MBMBOBM: MBW :BMc
  11. * OBRJ.SEE MRDOWOR, 3DE:7OBM . ;BMB RMR7BM BMB MBB. BMB ,BMR .BBZ MMB rMB, BMM rMB7
  12. * :FBRO0D0 RKXSXPR. JOKOOMPi BMBSSWBMB; BMBB: MBMB0ZMBMS .BMBOXRBMB MBMDE RBM2;SMBM; MBB xBM2
  13. * iZGE O0SHSPO. uGZ7. sBMBMBDL :BMO OZu:BMBK, rRBMB0; ,EBMB xBMBr:ER. RDU :OO;
  14. * ,BZ, 1D0 RPSFHXR. xWZ .SMr . .BBB
  15. * :0BMRDG RESSSKR. 2WOMBW; BMBMR
  16. * i0BM: SWKHKGO MBDv
  17. * .UB OOGDM. MK, Copyright (c) 2015-2019. 斯伯坦机器人
  18. * , XMW ..
  19. * r All rights reserved.
  20. *
  21. * ********************************************************************************************************************
  22. */
  23. group rootProject.group
  24. version rootProject.version
  25. apply plugin: 'com.android.library'
  26. apply plugin: 'kotlin-android'
  27. apply plugin: 'kotlin-android-extensions'
  28. apply plugin: 'org.jetbrains.dokka-android'
  29. apply plugin: 'maven'
  30. android {
  31. compileSdkVersion ANDROID_SDK_VERSION.toInteger()
  32. buildToolsVersion ANDROID_BUILD_TOOLS_VERSION
  33. defaultConfig {
  34. minSdkVersion ANDROID_MIN_SDK_VERSION.toInteger()
  35. targetSdkVersion ANDROID_SDK_VERSION.toInteger()
  36. versionCode SAGA_CODE.toInteger()
  37. versionName SAGA_ANDROID_VERSION
  38. testInstrumentationRunner 'android.support.test.runner.AndroidJUnitRunner'
  39. }
  40. buildTypes {
  41. release {
  42. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  43. }
  44. }
  45. // 解决lint语法检查错误(kotlin语法无法通过lint)
  46. lintOptions {
  47. abortOnError false
  48. }
  49. // kotlinOptions {
  50. // jvmTarget = JVM_TARGET
  51. // }
  52. }
  53. dependencies {
  54. implementation fileTree(dir: 'libs', include: ['*.jar'])
  55. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  56. // kotlin 依赖
  57. implementation group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8', version: KOTLIN_VERSION
  58. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  59. // android支持
  60. implementation group: 'com.android.support', name: 'appcompat-v7', version: ANDROID_SUPPORT_VERSION
  61. androidTestImplementation(group: 'com.android.support', name: 'appcompat-v7', version: ANDROID_SUPPORT_VERSION) {
  62. force = true
  63. }
  64. implementation group: 'com.android.support', name: 'design', version: ANDROID_SUPPORT_VERSION
  65. // implementation group: 'com.android.support', name: 'support-v4', version: ANDROID_SUPPORT_VERSION
  66. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  67. // anko依赖
  68. // https://mvnrepository.com/artifact/org.jetbrains.anko/anko-common
  69. implementation group: 'org.jetbrains.anko', name: 'anko-commons', version: ANKO_VERSION
  70. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  71. // 测试依赖
  72. implementation 'com.android.support.constraint:constraint-layout:1.1.2'
  73. testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: JUNIT_VERSION
  74. androidTestImplementation('com.android.support.test.espresso:espresso-core:3.0.2', {
  75. exclude group: 'com.android.support', module: 'support-annotations'
  76. })
  77. }
  78. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  79. // 文档生成
  80. // 源码
  81. task sourcesJar(type: Jar) {
  82. group = 'jar'
  83. from "${android.sourceSets.main.java.srcDirs}"
  84. classifier = 'sources'
  85. }
  86. // 文档
  87. task dokkaJavadoc(type: org.jetbrains.dokka.gradle.DokkaTask) {
  88. jdkVersion = JDK_VERSION.toInteger()
  89. noStdlibLink = true
  90. outputFormat = 'javadoc'
  91. outputDirectory = "$buildDir/javadoc"
  92. // sourceDirs = files('src/main/java')
  93. }
  94. // 上成上传的文档jar包
  95. task javadocJar(type: Jar, dependsOn: dokkaJavadoc) {
  96. group = 'jar'
  97. classifier = 'javadoc'
  98. from "${dokka.outputDirectory}"
  99. }
  100. ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  101. // maven 仓库管理
  102. // 设置上传的包,默认上传aar与pom
  103. artifacts {
  104. // 上传源码包
  105. // archives sourcesJar
  106. // 上传文档包
  107. // archives javadocJar
  108. }
  109. uploadArchives {
  110. repositories {
  111. mavenDeployer {
  112. pom.groupId = project.group
  113. pom.version = project.version
  114. pom.artifactId = project.name
  115. pom.project {
  116. name project.name
  117. packaging 'jar'
  118. url SAGA_URL
  119. description '斯伯坦机器人世界 android 设备支持库。'
  120. licenses {
  121. license {
  122. name 'The Apache Software License, Version 2.0'
  123. url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
  124. }
  125. }
  126. developers {
  127. developer {
  128. id DEVELOPER_ID
  129. name DEVELOPER_NAME
  130. }
  131. }
  132. }
  133. snapshotRepository(url: MAVEN_REPO_SNAPSHOT_URL) {
  134. authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
  135. }
  136. repository(url: MAVEN_REPO_RELEASE_URL) {
  137. authentication(userName: NEXUS_USERNAME, password: NEXUS_PASSWORD)
  138. }
  139. }
  140. }
  141. }