You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

159 lines
6.7 KiB
Groovy

project.ext {
sign = [
keystore_path : "../innovationapp.jks",
keystore_pwd : "123456",
keystore_alias: "yinuo"
]
compileOptions = [
sourceCompatibility: JavaVersion.VERSION_1_8,
targetCompatibility: JavaVersion.VERSION_1_8,
]
versions = [
compileSdkVersion : 30,
buildToolsVersion : "30.0.3",
minSdkVersion : 23,
targetSdkVersion : 28,
versionCode : 1,
versionName : "1.0",
jvmTarget : "1.8",
appcompat : "1.2.0",
material : "1.2.1",
okhttp : "4.9.1",
retrofit : "2.9.0",
rxjava : "3.0.13",
rxandroid : "3.0.0",
kotlin : "1.5.10",
converter_gson : '2.9.0',
retrofit_rxjava : "2.9.0",
room : "2.3.0",
jxl : "2.6.12",
navigation_fragment_ktx: "2.3.0",
navigation_ui_ktx : "2.3.0",
glide : "4.12.0",
photo_view : "2.3.0",
luban : "1.1.8",
kotlin_android : "1.4.1",
gson : "2.8.6",
arouter : "1.5.2",
mmkv : "1.2.10",
okhttp_logger : "3.12.7",
lifecycle_process : "2.3.1",
]
dependencies = [
okhttp : "com.squareup.okhttp3:okhttp:${versions.okhttp}",
retrofit : "com.squareup.retrofit2:retrofit:${versions.retrofit}",
rxjava : "io.reactivex.rxjava3:rxjava:${versions.rxjava}",
rxandroid : "io.reactivex.rxjava3:rxandroid:${versions.rxandroid}",
okhttp_logger : "com.squareup.okhttp3:logging-interceptor:${versions.okhttp_logger}",
kotlin : "org.jetbrains.kotlin:kotlin-stdlib-jdk8:${versions.kotlin}",
kotlin_android : "org.jetbrains.kotlinx:kotlinx-coroutines-android:${versions.kotlin_android}",
converter_gson : "com.squareup.retrofit2:converter-gson:${versions.converter_gson}",
retrofit_rxjava : "com.squareup.retrofit2:adapter-rxjava3:${versions.retrofit_rxjava}",
room : "androidx.room:room-runtime:${versions.room}",
room_compiler : "androidx.room:room-compiler:${versions.room}",
room_ktx : "androidx.room:room-ktx:${versions.room}",
room_rxjava : "androidx.room:room-rxjava3:${versions.room}",
jxl : "net.sourceforge.jexcelapi:jxl:${versions.jxl}",
navigation_fragment_ktx: "androidx.navigation:navigation-fragment-ktx:${versions.navigation_fragment_ktx}",
navigation_ui_ktx : "androidx.navigation:navigation-ui-ktx:${versions.navigation_ui_ktx}",
navigation_arg : "androidx.navigation:navigation-safe-args-gradle-plugin:${versions.navigation_ui_ktx}",
glide : "com.github.bumptech.glide:glide:${versions.glide}",
gilde_integration : "com.github.bumptech.glide:okhttp3-integration:${versions.glide}",
annotationProcessor : "com.github.bumptech.glide:compiler:${versions.glide}",
photo_view : "com.github.chrisbanes:PhotoView:${versions.photo_view}",
luban : "top.zibin:Luban:${versions.luban}",
gson : "com.google.code.gson:gson:${versions.gson}",
arouter : "com.alibaba:arouter-api:${versions.arouter}",
arouter_compiler : "com.alibaba:arouter-compiler:${versions.arouter}",
mmkv : "com.tencent:mmkv-static:${versions.mmkv}",
lifecycle_process : "androidx.lifecycle:lifecycle-process:${versions.lifecycle_process}",
]
/**
* android project android {} default config
*/
setAndroidConfig = {
extension ->
extension.compileSdkVersion versions.compileSdkVersion
extension.defaultConfig {
minSdkVersion versions.minSdkVersion
targetSdkVersion versions.targetSdkVersion
versionCode versions.versionCode
versionName versions.vserionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
extension.compileOptions {
targetCompatibility = compileOptions.targetCompatibility
sourceCompatibility = compileOptions.sourceCompatibility
}
extension.kotlinOptions {
jvmTarget = versions.jvmTarget
}
}
/**
* android project dependencies {} default config
*/
setDependencies = {
extension ->
extension.implementation fileTree(include: ['*.jar'], dir: 'libs')
}
/**
* android library config
*/
setLibDefaultConfig = {
extension ->
extension.apply plugin: 'com.android.library'
extension.apply plugin: 'kotlin-android'
extension.apply plugin: 'kotlin-parcelize'
extension.apply plugin: 'kotlin-kapt'
extension.description "lib"
setAndroidConfig extension.android
setDependencies extension.dependencies
}
/**
* android application config
*/
setAppDefaultConfig = {
extension ->
extension.apply plugin: 'com.android.application'
extension.apply plugin: 'kotlin-android'
extension.apply plugin: 'kotlin-parcelize'
extension.apply plugin: 'kotlin-kapt'
extension.description "lib"
setAndroidConfig extension.android
setDependencies extension.dependencies
}
/**
* android library common config
*/
setArouterConfig = {
extension ->
extension.android.defaultConfig {
javaCompileOptions {
annotationProcessorOptions {
arguments = [AROUTER_MODULE_NAME: project.getName()]
}
}
}
// 添加ARouter依赖
extension.dependencies.implementation(rootProject.ext.dependencies.arouter) {
exclude group: 'com.android.support'
}
extension.dependencies.annotationProcessor rootProject.ext.dependencies.arouter_compiler
}
}