build.gradle 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. if (componentTag){
  2. apply plugin: 'com.android.application'
  3. apply plugin: 'com.enation.javashop.aspectjrt'
  4. }else{
  5. apply plugin: 'com.android.library'
  6. }
  7. apply plugin: 'kotlin-android'
  8. apply plugin: 'kotlin-android-extensions'
  9. apply plugin: 'kotlin-kapt'
  10. kapt {
  11. arguments {
  12. arg("moduleName", project.getName())
  13. }
  14. }
  15. android {
  16. compileSdkVersion target_sdk_version
  17. buildToolsVersion build_tools_version
  18. defaultConfig {
  19. if (componentTag){
  20. applicationId "com.wdkl.ncs.android.component.hello"
  21. multiDexEnabled true
  22. }
  23. minSdkVersion min_sdk_version
  24. targetSdkVersion target_sdk_version
  25. versionCode app_version_code
  26. versionName app_version
  27. dataBinding {
  28. enabled = true
  29. }
  30. testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
  31. }
  32. lintOptions {
  33. abortOnError false
  34. }
  35. buildTypes {
  36. release {
  37. minifyEnabled false
  38. proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
  39. }
  40. }
  41. sourceSets {
  42. main.java.srcDirs += 'src/main/java'
  43. if(componentTag){
  44. main.manifest.srcFile 'src/main/ApkBuildDir/AndroidManifest.xml'
  45. }else{
  46. main.manifest.srcFile 'src/main/AndroidManifest.xml'
  47. main.java {
  48. exclude 'apkbuild/**'
  49. }
  50. }
  51. }
  52. compileOptions {
  53. sourceCompatibility JavaVersion.VERSION_1_8
  54. targetCompatibility JavaVersion.VERSION_1_8
  55. }
  56. }
  57. dependencies {
  58. compile fileTree(dir: 'libs', include: ['*.jar'])
  59. androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
  60. exclude group: 'com.android.support', module: 'support-annotations'
  61. })
  62. /**
  63. * 单元测试
  64. */
  65. testCompile 'junit:junit:4.12'
  66. /**
  67. * Android基础依赖库
  68. */
  69. compile "com.android.support:design:$support_library_version"
  70. compile "com.android.support:support-v4:$support_library_version"
  71. compile "com.android.support:cardview-v7:$support_library_version"
  72. compile "com.android.support:appcompat-v7:$support_library_version"
  73. /**
  74. * 公共库依赖
  75. */
  76. compile project(':middleware')
  77. if(componentTag){
  78. debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5.1'
  79. releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
  80. testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.1'
  81. }
  82. /**
  83. * Dagger编译依赖
  84. */
  85. kapt 'com.google.dagger:dagger-compiler:2.7'
  86. /**
  87. * Kotlin依赖
  88. */
  89. kapt 'com.android.databinding:compiler:2.3.3'
  90. /**
  91. * 路由注解处理器
  92. */
  93. kapt "com.enation.geamtear:jrouter-compiler:$router_version"
  94. /**
  95. * constraint-layout布局依赖
  96. */
  97. compile 'com.android.support.constraint:constraint-layout:1.1.0-beta5'
  98. }
  99. /**
  100. * kawo组件化框架配置
  101. */
  102. if(componentTag){
  103. kawo {
  104. /**
  105. * Aop注解排除Jar
  106. */
  107. aspectExcludeJarFilter 'com.enation.geamtear.pay','AlipaySdk'
  108. }
  109. }