-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcommon_config.gradle
177 lines (162 loc) · 5.76 KB
/
common_config.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
project.ext {
//项目版本信息
applicationId = "com.snail.mbcomponent"
compileSdkVersion = 29
minSdkVersion = 21
targetSdkVersion = 29
versionCode = 1
versionName = "1.0"
//是否允许module单独调试
isModuleDebug = false
//项目依赖
libs = [
room_version : "2.2.5",
lifecycleVersion: "2.2.0"
]
//接口地址
url = [
//开发环境地址
debug_url : "",
//测试环境地址
test_url : "",
//生产环境地址
release_url: ""
]
//app默认配置
appDefaultConfig = {
extension ->
extension.apply plugin: 'com.android.application'
extension.apply plugin: 'kotlin-android'
extension.apply plugin: 'kotlin-android-extensions'
extension.apply plugin: 'kotlin-kapt'
extension.description "app"
//app android 配置
appAndroidConfig extension.android
//kapt 配置
kaptConfig extension.kapt
//app dependencies 配置
defaultDependencies extension.dependencies
}
//lib默认配置
libDefaultConfig = {
extension ->
extension.apply plugin: 'com.android.library'
extension.apply plugin: 'kotlin-android'
extension.apply plugin: 'kotlin-android-extensions'
extension.apply plugin: 'kotlin-kapt'
extension.description "lib"
//lib android 配置
libAndroidConfig extension.android
//apt 配置
kaptConfig extension.kapt
//app dependencies 配置
defaultDependencies extension.dependencies
}
//lib无依赖配置
libWithoutDependenciesConfig = {
extension ->
extension.apply plugin: 'com.android.library'
extension.apply plugin: 'kotlin-android'
extension.apply plugin: 'kotlin-android-extensions'
extension.apply plugin: 'kotlin-kapt'
extension.description "lib"
//lib android 配置
libAndroidConfig extension.android
//apt 配置
kaptConfig extension.kapt
}
//设置lib配置(可作为project单独调试)
appOrLibDefaultConfig = {
extension ->
if (project.ext.isModuleDebug) {
extension.apply plugin: 'com.android.application'
extension.description "app"
} else {
extension.apply plugin: 'com.android.library'
extension.description "lib"
}
//设置通用Android配置
appOrLibAndroidConfig extension.android
//apt 配置
kaptConfig extension.kapt
//设置通用依赖配置
defaultDependencies extension.dependencies
}
//app android 配置
appAndroidConfig = {
extension ->
extension.compileSdkVersion project.ext.compileSdkVersion
extension.defaultConfig {
applicationId project.ext.applicationId
minSdkVersion project.ext.minSdkVersion
targetSdkVersion project.ext.targetSdkVersion
versionCode project.ext.versionCode
versionName project.ext.versionName
}
extension.dataBinding {
enabled = true
}
extension.compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
libAndroidConfig = {
extension ->
extension.compileSdkVersion project.ext.compileSdkVersion
extension.defaultConfig {
minSdkVersion project.ext.minSdkVersion
targetSdkVersion project.ext.targetSdkVersion
versionCode project.ext.versionCode
versionName project.ext.versionName
}
extension.dataBinding {
enabled = true
}
extension.compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
//设置lib android配置(可作为project单独调试)
appOrLibAndroidConfig = {
extension -> //extension 相当于 android 对象
extension.compileSdkVersion project.ext.compileSdkVersion
extension.defaultConfig {
minSdkVersion project.ext.minSdkVersion
targetSdkVersion project.ext.targetSdkVersion
versionCode project.ext.versionCode
versionName project.ext.versionName
}
extension.dataBinding {
enabled = true
}
extension.compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
extension.sourceSets {
main {
if (project.ext.isModuleDebug) {
manifest.srcFile 'src/main/manifest/AndroidManifest.xml'
} else {
manifest.srcFile 'src/main/AndroidManifest.xml'
}
}
}
}
//ARouter默认配置
kaptConfig = {
extension ->
extension.arguments {
arg("AROUTER_MODULE_NAME", project.getName())
}
}
//默认依赖
defaultDependencies = {
extension ->
extension.implementation fileTree(dir: 'libs', include: ['*.jar'])
//ARouter 路由apt插件,用于生成相应代码,每个module都需要
extension.kapt 'com.alibaba:arouter-compiler:1.2.2'
}
}