You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
348 lines
21 KiB
348 lines
21 KiB
5 years ago
|
class Repository {
|
||
|
Map<String, String> androidLibraries
|
||
|
Map<String, String> kotlinLibraries
|
||
|
Map<String, String> thirdLibraries
|
||
|
Map<String, String> uiLibraries
|
||
|
Map<String, String> debugLibraries
|
||
|
Map<String, String> testLibraries
|
||
|
}
|
||
|
|
||
|
ext {
|
||
|
newRepository = this.&innerNewRepository
|
||
|
}
|
||
|
|
||
|
static Repository innerNewRepository() {
|
||
|
|
||
|
def androidLibrariesVersion = "28.0.0"
|
||
|
def android_plugin_version = '3.1.4'
|
||
|
|
||
|
def androidLibraries = [
|
||
|
//https://developer.android.com/topic/libraries/support-library/features.html
|
||
|
androidCompatV4 : "com.android.support:support-v4:${androidLibrariesVersion}",//v4 all
|
||
|
androidCompatV7 : "com.android.support:appcompat-v7:${androidLibrariesVersion}",
|
||
|
androidCompatV13 : "com.android.support:support-v13:${androidLibrariesVersion}",
|
||
|
androidDesign : "com.android.support:design:${androidLibrariesVersion}",
|
||
|
androidPrecent : "com.android.support:percent:${androidLibrariesVersion}",
|
||
|
androidAnnotations : "com.android.support:support-annotations:${androidLibrariesVersion}",
|
||
|
androidCard : "com.android.support:cardview-v7:${androidLibrariesVersion}",
|
||
|
androidRecyclerView : "com.android.support:recyclerview-v7:${androidLibrariesVersion}",
|
||
|
transition : "com.android.support:transition:${androidLibrariesVersion}",
|
||
|
androidExif : "com.android.support:exifinterface:${androidLibrariesVersion}",
|
||
|
gridlayout : "com.android.support:gridlayout-v7:${androidLibrariesVersion}",
|
||
|
dynamicAnimation : "com.android.support:support-dynamic-animation:${androidLibrariesVersion}",
|
||
|
constraintLayout : 'com.android.support.constraint:constraint-layout:1.1.3',
|
||
|
multiDex : "com.android.support:multidex:1.0.2",
|
||
|
dataBinding : "com.android.databinding:compiler:${android_plugin_version}",
|
||
|
|
||
|
//lifecycle
|
||
|
lifecycle : "android.arch.lifecycle:runtime:1.1.1",//not necessary if you are using lifecycle:extensions or lifecycle:common-java8
|
||
|
lifecycleAPT : "android.arch.lifecycle:compiler:1.1.1",// not needed if you are using the DefaultLifecycleObserver from common-java8 artifact.
|
||
|
lifecycleJava8 : "android.arch.lifecycle:common-java8:1.1.1",
|
||
|
//LiveData, and ViewModel
|
||
|
lifecycleExtensions : "android.arch.lifecycle:extensions:1.1.1",//For LiveData, and ViewModel
|
||
|
liveDataReactiveStreams: "android.arch.lifecycle:reactivestreams:1.1.1",//To use LiveData with ReactiveStreams API
|
||
|
//room
|
||
|
room : "android.arch.persistence.room:runtime:1.0.0",
|
||
|
roomApt : "android.arch.persistence.room:compiler:1.0.0",
|
||
|
roomRxJava2 : "android.arch.persistence.room:rxjava2:1.0.0",
|
||
|
roomGuava : "android.arch.persistence.room:guava:1.1.0-beta3",
|
||
|
//paging
|
||
|
paging : "android.arch.paging:runtime:1.0.0",
|
||
|
|
||
|
//https://github.com/google/flexbox-layout/
|
||
|
flexbox : 'com.google.android:flexbox:1.0.0',
|
||
|
]
|
||
|
|
||
|
def anko_version = '0.10.7'
|
||
|
def kotlin_version = '1.3.11'
|
||
|
|
||
|
def kotlinLibraries = [
|
||
|
//Kotlin
|
||
|
kotlinStdlib : "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version",
|
||
|
kotlinReflect : "org.jetbrains.kotlin:kotlin-reflect:$kotlin_version",
|
||
|
kotlinCoroutines : 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.0',//协程库
|
||
|
kotlinAndroidCoroutines : "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.0",
|
||
|
|
||
|
//https://github.com/JakeWharton/retrofit2-kotlin-coroutines-adapter
|
||
|
retrofitKotlinAdapter : 'com.jakewharton.retrofit:retrofit2-kotlin-coroutines-experimental-adapter:1.0.0',
|
||
|
|
||
|
//https://github.com/android/android-ktx:android_ktx: A set of Kotlin extensions for Android app development
|
||
|
//https://android.github.io/android-ktx/core-ktx/index.html
|
||
|
androidKTX : 'androidx.core:core-ktx:1.0.0',
|
||
|
|
||
|
//https://github.com/ReactiveX/RxKotlin
|
||
|
rxKotlin : 'io.reactivex.rxjava2:rxkotlin:2.2.0',
|
||
|
|
||
|
//https://github.com/enbandari/KotlinTuples
|
||
|
tuples : "com.bennyhuo.kotlin:kotlin-tuples:1.0",
|
||
|
//https://github.com/enbandari/ObjectPropertyDelegate
|
||
|
objectPropertyDelegate : "com.bennyhuo.kotlin:opd:1.0-rc-2",
|
||
|
//https://github.com/enbandari/KotlinDeepCopy
|
||
|
deepCopyReflect : "com.bennyhuo.kotlin:deepcopy-reflect:1.0",
|
||
|
deepCopy : "com.bennyhuo.kotlin:deepcopy-annotations:1.1.0",
|
||
|
deepCopyApt : "com.bennyhuo.kotlin:deepcopy-compiler:1.1.0",
|
||
|
//https://github.com/enbandari/ReleasableVar
|
||
|
releasableVar : "com.bennyhuo.kotlin:releasable-nonnull-vars:1.1.0",
|
||
|
|
||
|
//kotlin functional, https://arrow-kt.io/
|
||
|
arrowCore : "io.arrow-kt:arrow-core:0.8.2",
|
||
|
|
||
|
//============================================================================
|
||
|
//Anko
|
||
|
//============================================================================
|
||
|
// Anko https://github.com/Kotlin/anko
|
||
|
ankoAll : "org.jetbrains.anko:anko:${anko_version}",
|
||
|
|
||
|
ankoCommons : "org.jetbrains.anko:anko-commons:$anko_version",// Anko Commons
|
||
|
ankoCommonsV4 : "org.jetbrains.anko:anko-support-v4-commons:$anko_version",
|
||
|
ankoCommonsV7 : "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version",
|
||
|
|
||
|
ankoSQLite : "org.jetbrains.anko:anko-sqlite:$anko_version", // Anko SQLite
|
||
|
|
||
|
// Anko Layouts , sdk15, sdk19, sdk21, sdk23 are also available, 只需要依赖一个sdk
|
||
|
ankoLayoutSDK : "org.jetbrains.anko:anko-sdk27:$anko_version",
|
||
|
ankoLayoutCompatV7 : "org.jetbrains.anko:anko-appcompat-v7:$anko_version",
|
||
|
ankoLayoutCompatV4 : "org.jetbrains.anko:anko-support-v4:$anko_version",
|
||
|
ankoLayoutDesign : "org.jetbrains.anko:anko-design:$anko_version",
|
||
|
ankoLayoutRecyclerView : "org.jetbrains.anko:anko-recyclerview-v7:$anko_version",
|
||
|
ankoLayoutCardView : "org.jetbrains.anko:anko-cardview-v7:$anko_version",
|
||
|
ankoLayoutGridLayout : "org.jetbrains.anko:anko-gridlayout-v7:$anko_version",
|
||
|
ankoLayoutPercent : "org.jetbrains.anko:anko-percent:$anko_version",
|
||
|
|
||
|
ankoCoroutines : "org.jetbrains.anko:anko-coroutines:$anko_version", //anko Coroutines
|
||
|
ankoLayoutCoroutine : "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version", //Anko Layouts Coroutine listeners
|
||
|
ankoLayoutCompatV7Coroutine: "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version",
|
||
|
ankoDesignCoroutine : "org.jetbrains.anko:anko-design-coroutines:$anko_version",
|
||
|
ankoRecyclerViewCoroutines : "org.jetbrains.anko:anko-recyclerview-v7-coroutines:$anko_version"
|
||
|
]
|
||
|
|
||
|
def rxBindingVersion = '2.1.1'
|
||
|
def autoDisposeVersion = '1.0.0-RC3'
|
||
|
def retrofitVersion = '2.5.0'
|
||
|
def daggerVersion = "2.17"
|
||
|
|
||
|
def thirdLibraries = [
|
||
|
//============================================================================
|
||
|
//RxJava
|
||
|
//============================================================================
|
||
|
//https://github.com/ReactiveX/RxJava
|
||
|
rxJava : "io.reactivex.rxjava2:rxjava:2.2.9",
|
||
|
//https://github.com/ReactiveX/RxAndroid
|
||
|
rxAndroid : 'io.reactivex.rxjava2:rxandroid:2.1.1',
|
||
|
//https://github.com/JakeWharton/RxBinding
|
||
|
rxBinding : "com.jakewharton.rxbinding2:rxbinding:$rxBindingVersion",
|
||
|
rxBindingV4 : "com.jakewharton.rxbinding2:rxbinding-support-v4:$rxBindingVersion",
|
||
|
rxBindingCompat : "com.jakewharton.rxbinding2:rxbinding-appcompat-v7:$rxBindingVersion",
|
||
|
rxBindingDesign : "com.jakewharton.rxbinding2:rxbinding-design:$rxBindingVersion",
|
||
|
rxBindingRecyclerView : "com.jakewharton.rxbinding2:rxbinding-recyclerview-v7:$rxBindingVersion",
|
||
|
//https://github.com/uber/AutoDispose
|
||
|
autoDispose : "com.uber.autodispose:autodispose:$autoDisposeVersion",
|
||
|
autoDisposeLifecycleJDK8 : "com.uber.autodispose:autodispose-lifecycle-jdk8:$autoDisposeVersion",
|
||
|
autoDisposeLifecycleArchcomponents: "com.uber.autodispose:autodispose-android-archcomponents:$autoDisposeVersion",
|
||
|
//https://github.com/uber/RxDogTag
|
||
|
rxDogTag : "com.uber.rxdogtag:rxdogtag:0.1.0",
|
||
|
//RxReplay https://github.com/JakeWharton/RxRelay
|
||
|
rxReplay : 'com.jakewharton.rxrelay2:rxrelay:2.0.0',
|
||
|
|
||
|
//============================================================================
|
||
|
//OkHttp&Retrofit&Gson&Glide
|
||
|
//============================================================================
|
||
|
//https://github.com/square/okhttp & https://github.com/square/retrofit
|
||
|
okHttp : "com.squareup.okhttp3:okhttp:3.12.0",
|
||
|
okHttpLogging : "com.squareup.okhttp3:logging-interceptor:3.12.0",
|
||
|
retrofit : "com.squareup.retrofit2:retrofit:${retrofitVersion}",
|
||
|
retrofitConverterGson : "com.squareup.retrofit2:converter-gson:${retrofitVersion}",
|
||
|
retrofitRxJavaCallAdapter : "com.squareup.retrofit2:adapter-rxjava:${retrofitVersion}",
|
||
|
retrofitRxJava2CallAdapter : "com.squareup.retrofit2:adapter-rxjava2:${retrofitVersion}",
|
||
|
|
||
|
////https://github.com/google/gson/blob/master/UserGuide.md#TOC-Overview
|
||
|
gson : "com.google.code.gson:gson:2.8.5",
|
||
|
|
||
|
//https://github.com/bumptech/glide
|
||
|
glide : "com.github.bumptech.glide:glide:4.8.0",
|
||
|
glideApt : 'com.github.bumptech.glide:compiler:4.8.0',
|
||
|
glideOkHttp : 'com.github.bumptech.glide:okhttp3-integration:4.8.0',
|
||
|
|
||
|
//============================================================================
|
||
|
//DI
|
||
|
//============================================================================
|
||
|
//https://github.com/google/dagger
|
||
|
dagger2 : "com.google.dagger:dagger:$daggerVersion",
|
||
|
dagger2Android : "com.google.dagger:dagger-android:$daggerVersion",
|
||
|
dagger2AndroidSupport : "com.google.dagger:dagger-android-support:$daggerVersion",
|
||
|
dagger2Apt : "com.google.dagger:dagger-compiler:$daggerVersion",
|
||
|
dagger2AndroidApt : "com.google.dagger:dagger-android-processor:$daggerVersion",
|
||
|
jsr305 : 'com.google.code.findbugs:jsr305:2.0.1',
|
||
|
|
||
|
//============================================================================
|
||
|
//ARouter
|
||
|
//============================================================================
|
||
|
//https://github.com/alibaba/ARouter,注意:apt arouter 应该放在 apt dagger 后面
|
||
|
arouter : 'com.alibaba:arouter-api:1.4.1',
|
||
|
arouterAnnotation : 'com.alibaba:arouter-compiler:1.2.2',
|
||
|
|
||
|
//============================================================================
|
||
|
//AOP
|
||
|
//============================================================================
|
||
|
/*aspectJrt*/
|
||
|
aspectj : 'org.aspectj:aspectjrt:1.8.9', //https://eclipse.org/aspectj/
|
||
|
|
||
|
//============================================================================
|
||
|
//Utils
|
||
|
//============================================================================
|
||
|
//kv存储:https://github.com/tencent/mmkv、https://mp.weixin.qq.com/s/kTr1GVDCAhs5K7Hq3322FA
|
||
|
mmkv : 'com.tencent:mmkv:1.0.17',
|
||
|
//https://github.com/dmstocking/support-optional
|
||
|
supportOptional : 'com.github.dmstocking:support-optional:1.2',
|
||
|
//日志:https://github.com/JakeWharton/timber
|
||
|
timber : "com.jakewharton.timber:timber:4.5.1",
|
||
|
//发射工具:https://github.com/jOOQ/jOOR
|
||
|
jOOR : "org.jooq:joor-java-6:0.9.7",
|
||
|
//https://github.com/Blankj/AndroidUtilCode
|
||
|
utilcode : 'com.blankj:utilcode:1.23.7',
|
||
|
//https://github.com/yanzhenjie/AndPermission
|
||
|
andPermission : 'com.yanzhenjie.permission:support:2.0.1',
|
||
|
//image compression:https://github.com/Sunzxyong/Tiny
|
||
|
tiny : 'com.zxy.android:tiny:0.0.5',
|
||
|
//zip4j
|
||
|
zip4j : 'net.lingala.zip4j:zip4j:1.3.2',
|
||
|
//JobScheduler:https://github.com/evernote/android-job
|
||
|
androidJob : 'com.evernote:android-job:1.2.0',
|
||
|
//VideoCache:/https://github.com/danikula/AndroidVideoCache
|
||
|
videoCache : 'com.danikula:videocache:2.7.0',
|
||
|
//https://github.com/promeG/TinyPinyin
|
||
|
tinypinyin : 'com.github.promeg:tinypinyin:2.0.3',
|
||
|
//多渠道:https://github.com/Tencent/VasDolly
|
||
|
vasDolly : 'com.leon.channel:helper:2.0.3',
|
||
|
//Android P 反射限制:https://github.com/tiann/FreeReflection
|
||
|
freeReflection : 'me.weishu:free_reflection:1.2.0'
|
||
|
]
|
||
|
|
||
|
def debugLibraries = [
|
||
|
//https://github.com/square/leakcanary
|
||
|
debugLeakCanary : "com.squareup.leakcanary:leakcanary-android:1.6.3",
|
||
|
debugLeakCanaryFragment: "com.squareup.leakcanary:leakcanary-support-fragment:1.6.3",
|
||
|
releaseLeakCanary : "com.squareup.leakcanary:leakcanary-android-no-op:1.6.3",
|
||
|
|
||
|
//https://github.com/markzhai/AndroidPerformanceMonitor 卡顿监控
|
||
|
//http://blog.zhaiyifan.cn/2016/01/16/BlockCanaryTransparentPerformanceMonitor/
|
||
|
debugBlockCanary : "com.github.markzhai:blockcanary-android:1.4.0",
|
||
|
releaseBlockCanary : "com.github.markzhai:blockcanary-no-op:1.4.0",
|
||
|
|
||
|
//http://facebook.github.io/stetho/ 各种调试工具
|
||
|
stetho : 'com.facebook.stetho:stetho:1.4.2',
|
||
|
stethoOkhttp3 : 'com.facebook.stetho:stetho-okhttp3:1.4.2',
|
||
|
|
||
|
//https://github.com/eleme/UETool ui调试工具
|
||
|
ueTool : 'me.ele:uetool:1.0.15',
|
||
|
|
||
|
//https://github.com/Kyson/AndroidGodEye 全面的调试工具
|
||
|
godeyeCore : 'cn.hikyson.godeye:godeye-core:2.1.1',
|
||
|
godeyeMonitor : 'cn.hikyson.godeye:godeye-monitor:2.1.1',
|
||
|
godeyeToolbox : 'cn.hikyson.godeye:godeye-toolbox:2.1.1',
|
||
|
]
|
||
|
|
||
|
def uiLibraries = [
|
||
|
//qmui:https://qmuiteam.com/
|
||
|
qmui : 'com.qmuiteam:qmui:1.1.3',
|
||
|
//https://github.com/GcsSloop/rclayout
|
||
|
rclayout : 'com.gcssloop.widget:rclayout:1.6.0',
|
||
|
|
||
|
/*adapter*/
|
||
|
//https://github.com/drakeet/MultiType
|
||
|
multiType : 'me.drakeet.multitype:multitype:3.4.4',
|
||
|
multiTypeKotlin : 'me.drakeet.multitype:multitype-kotlin:3.4.4',
|
||
|
// https://github.com/Ztiany/WrapperAdapter
|
||
|
wrapperAdapter : 'com.github.Ztiany:WrapperAdapter:3.0.7',
|
||
|
|
||
|
/*image view about*/
|
||
|
//https://github.com/chrisbanes/PhotoView
|
||
|
photoView : 'com.github.chrisbanes:PhotoView:2.1.3',
|
||
|
//https://github.com/davemorrissey/subsampling-scale-image-view
|
||
|
subsamplingScaleImageView: 'com.davemorrissey.labs:subsampling-scale-image-view:3.10.0',
|
||
|
//https://github.com/vinc3m1/RoundedImageView
|
||
|
circleImageView : 'de.hdodenhof:circleimageview:2.1.0',
|
||
|
//https://github.com/vinc3m1/RoundedImageView
|
||
|
roundedImageView : 'com.makeramen:roundedimageview:2.3.0',
|
||
|
//https://github.com/Piasy/BigImageViewer
|
||
|
bigImageViewer : 'com.github.piasy:BigImageViewer:1.5.0',
|
||
|
//https://github.com/Piasy/BigImageViewer
|
||
|
bigImageViewerGlideLoader: 'com.github.piasy:GlideImageLoader:1.5.0',
|
||
|
//https://github.com/iielse/ImageWatcher,高仿微信可拖拽返回
|
||
|
imageWatcher : 'com.github.iielse:ImageWatcher:1.1.1',
|
||
|
//https://github.com/stfalcon-studio/StfalconImageViewer
|
||
|
stfalconImageviewer : 'com.github.stfalcon:stfalcon-imageviewer:0.1.0',
|
||
|
//https://github.com/gjiazhe/ScrollParallaxImageView
|
||
|
scrollparallaximageview : 'com.gjiazhe:scrollparallaximageview:1.0',
|
||
|
|
||
|
/*view pager about*/
|
||
|
//https://github.com/HuanHaiLiuXin/CoolViewPager
|
||
|
coolviewpager : 'com.huanhailiuxin.view:coolviewpager:1.0.0',
|
||
|
//https://github.com/geftimov/android-viewpager-transformers
|
||
|
viewpagerTransformers : 'com.eftimoff:android-viewpager-transformers:1.0.1@aar',
|
||
|
//https://github.com/ogaclejapan/SmartTabLayout
|
||
|
smartTab : 'com.ogaclejapan.smarttablayout:library:1.6.1@aar',
|
||
|
|
||
|
/*camera*/
|
||
|
//https://github.com/Fotoapparat/Fotoapparat
|
||
|
fotoapparat : 'io.fotoapparat:fotoapparat:2.5.0',
|
||
|
//https://github.com/CameraKit/camerakit-android
|
||
|
cameraKit : 'com.camerakit:camerakit:1.0.0-beta3.10',
|
||
|
//need kotlin and kotlinx-coroutines-android
|
||
|
camerakitJpegkit : 'com.camerakit:jpegkit:0.1.0',
|
||
|
//https://github.com/natario1/CameraView
|
||
|
cameraView : 'com.otaliastudios:cameraview:1.3.1',
|
||
|
|
||
|
//picker about
|
||
|
//https://github.com/wdullaer/MaterialDateTimePicker
|
||
|
materialTimePicker : 'com.wdullaer:materialdatetimepicker:3.6.4',
|
||
|
//https://github.com/gzu-liyujiang/AndroidPicker
|
||
|
androidWheelPicker : "com.github.gzu-liyujiang.AndroidPicker:WheelPicker:1.5.6",
|
||
|
//https://github.com/zyyoona7/WheelPicker, it don't support setting max or min date.
|
||
|
wheelWiewPicker : "com.github.zyyoona7:wheelview:1.0.5",
|
||
|
|
||
|
/*text view*/
|
||
|
//https://github.com/chenBingX/SuperTextView
|
||
|
superTextView : 'com.github.chenBingX:SuperTextView:v3.1.1',
|
||
|
//https://github.com/iwgang/CountdownView
|
||
|
countdownView : 'com.github.iwgang:countdownview:2.1.3',
|
||
|
|
||
|
/*shape, tag*/
|
||
|
//https://github.com/florent37/ShapeOfView, need android x
|
||
|
shapeOfView : 'com.github.florent37:shapeofview:1.4.5',
|
||
|
//https://github.com/whilu/AndroidTagView
|
||
|
androidtagView : 'co.lujun:androidtagview:1.0.6',
|
||
|
//https://github.com/duanhong169/DrawableToolbox
|
||
|
drawableToolbox : "com.github.duanhong169:drawabletoolbox:1.0.5",
|
||
|
|
||
|
/*recycler view about*/
|
||
|
//https://github.com/GcsSloop/pager-layoutmanager
|
||
|
pagerlayoutmanager : 'com.gcssloop.recyclerview:pagerlayoutmanager:2.3.2@aar',
|
||
|
//https://github.com/alibaba/vlayout
|
||
|
vlayout : 'com.alibaba.android:vlayout:1.0.4@aar',
|
||
|
//https://github.com/DingMouRen/LayoutManagerGroup
|
||
|
layoutManagerGroup : 'com.github.DingMouRen:LayoutManagerGroup:f68c9712e5',
|
||
|
//https://github.com/lsjwzh/RecyclerViewPager
|
||
|
recyclerViewPager : 'com.github.lsjwzh.RecyclerViewPager:lib:v1.1.2',
|
||
|
|
||
|
//system ui manager:https://github.com/DreaminginCodeZH/SystemUiHelper
|
||
|
systemUiHelper : 'me.zhanghai.android.systemuihelper:library:1.0.0',
|
||
|
|
||
|
//soft input method:https://github.com/yshrsmz/KeyboardVisibilityEvent
|
||
|
keyboardvisibilityevent : 'net.yslibrary.keyboardvisibilityevent:keyboardvisibilityevent:2.0.0',
|
||
|
]
|
||
|
|
||
|
def testLibraries = [
|
||
|
junit : "junit:junit:4.12",
|
||
|
mockito: "org.mockito:mockito-core:1.10.19"
|
||
|
]
|
||
|
|
||
|
def repository = new Repository()
|
||
|
repository.androidLibraries = androidLibraries
|
||
|
repository.kotlinLibraries = kotlinLibraries
|
||
|
repository.thirdLibraries = thirdLibraries
|
||
|
repository.debugLibraries = debugLibraries
|
||
|
repository.uiLibraries = uiLibraries
|
||
|
repository.testLibraries = testLibraries
|
||
|
return repository
|
||
|
}
|