mirror of
https://github.com/melihaksoy/Android-Kotlin-Modulerized-CleanArchitecture.git
synced 2026-04-30 20:54:24 +02:00
Initial commit
This commit is contained in:
13
scripts/default_android_config.gradle
Normal file
13
scripts/default_android_config.gradle
Normal file
@@ -0,0 +1,13 @@
|
||||
apply from: "$rootProject.projectDir/scripts/default_dependencies.gradle"
|
||||
|
||||
android {
|
||||
compileSdkVersion versions.compileSdkVersion
|
||||
|
||||
defaultConfig {
|
||||
minSdkVersion versions.minSdkVersion
|
||||
targetSdkVersion versions.targetSdkVersion
|
||||
versionCode 1
|
||||
versionName "1.0"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
}
|
||||
16
scripts/default_dependencies.gradle
Normal file
16
scripts/default_dependencies.gradle
Normal file
@@ -0,0 +1,16 @@
|
||||
apply from: "$rootProject.projectDir/scripts/detekt.gradle"
|
||||
apply from: "$rootProject.projectDir/scripts/dokka.gradle"
|
||||
|
||||
dependencies {
|
||||
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
||||
|
||||
implementation libraries.kotlin
|
||||
implementation libraries.dagger
|
||||
implementation libraries.timber
|
||||
|
||||
kapt annotationProcessors.daggerCompiler
|
||||
|
||||
testImplementation testLibraries.jUnitApi
|
||||
testImplementation testLibraries.mockk
|
||||
testImplementation testLibraries.kluent
|
||||
}
|
||||
146
scripts/dependencies.gradle
Normal file
146
scripts/dependencies.gradle
Normal file
@@ -0,0 +1,146 @@
|
||||
ext {
|
||||
|
||||
versions = [
|
||||
minSdkVersion : 16,
|
||||
minSdkVersionDev : 21,
|
||||
compileSdkVersion : 28,
|
||||
targetSdkVersion : 28,
|
||||
buildToolsVersion : "28.0.3",
|
||||
supportLibraryVersion : "28.0.0",
|
||||
appCompatVersion : "1.1.0-alpha04",
|
||||
lifecycleVersion : "2.2.0-alpha01",
|
||||
fragmentVersion : "1.1.0-beta01",
|
||||
workManagerVersion : "2.1.0-alpha03",
|
||||
constraintLayoutVesion: "2.0.0-beta1",
|
||||
cardViewVersion : "1.0.0",
|
||||
recyclerViewVersion : "1.1.0-alpha06",
|
||||
pagingVersion : "2.1.0",
|
||||
viewPagerVersion : "1.0.0-alpha05",
|
||||
collectionVersion : "1.1.0",
|
||||
roomVersion : "2.1.0",
|
||||
daggerVersion : "2.22.1",
|
||||
okHttpVersion : "3.12.0",
|
||||
retrofitVersion : "2.6.0",
|
||||
picassoVersion : "2.71828",
|
||||
moshiVersion : "1.8.0",
|
||||
coroutinesVersion : "1.3.0-M1",
|
||||
leakCanaryVersion : "2.0-alpha-2",
|
||||
timberVersion : "4.7.1",
|
||||
jUnitVersion : "5.4.2",
|
||||
espressoVersion : "3.2.0",
|
||||
mockkVersion : "1.9.3",
|
||||
kluentVersion : "1.49",
|
||||
]
|
||||
|
||||
libraries = [
|
||||
/**
|
||||
* Android libraries
|
||||
*/
|
||||
appCompat : "androidx.appcompat:appcompat:${versions.appCompatVersion}",
|
||||
recyclerView : "androidx.recyclerview:recyclerview:${versions.recyclerViewVersion}",
|
||||
cardView : "androidx.cardview:cardview:${versions.cardViewVersion}",
|
||||
constraintLayout: "androidx.constraintlayout:constraintlayout:${versions.constraintLayoutVesion}",
|
||||
multixDex : "androidx.multidex:multidex:2.0.1",
|
||||
fragment : "androidx.fragment:fragment-ktx:${versions.fragmentVersion}",
|
||||
|
||||
/**
|
||||
* Jetpack
|
||||
*/
|
||||
navigation : [
|
||||
"androidx.navigation:navigation-fragment-ktx:$nav_version",
|
||||
"androidx.navigation:navigation-ui-ktx:$nav_version"
|
||||
],
|
||||
|
||||
room : [
|
||||
"androidx.room:room-runtime:${versions.roomVersion}",
|
||||
"androidx.room:room-ktx:${versions.roomVersion}"
|
||||
],
|
||||
|
||||
lifecycle : "androidx.lifecycle:lifecycle-extensions:${versions.lifecycleVersion}",
|
||||
liveData : "androidx.lifecycle:lifecycle-livedata-ktx:${versions.lifecycleVersion}",
|
||||
workManager : "androidx.work:work-runtime-ktx:${versions.workManagerVersion}",
|
||||
paging : "androidx.paging:paging-runtime-ktx:${versions.pagingVersion}",
|
||||
viewPager : "androidx.viewpager2:viewpager2:${versions.viewPagerVersion}",
|
||||
collection : "androidx.collection:collection:${versions.collectionVersion}",
|
||||
|
||||
/**
|
||||
* Kotlin
|
||||
*/
|
||||
kotlin : "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version",
|
||||
coroutines : "org.jetbrains.kotlinx:kotlinx-coroutines-android:${versions.coroutinesVersion}",
|
||||
|
||||
/**
|
||||
* Dagger
|
||||
*/
|
||||
dagger : [
|
||||
"com.google.dagger:dagger:${versions.daggerVersion}",
|
||||
"com.google.dagger:dagger-android:${versions.daggerVersion}",
|
||||
"com.google.dagger:dagger-android-support:${versions.daggerVersion}"
|
||||
],
|
||||
|
||||
/**
|
||||
* OkHttp
|
||||
*/
|
||||
okHttp : [
|
||||
"com.squareup.okhttp3:okhttp:${versions.okHttpVersion}",
|
||||
"com.squareup.okhttp3:logging-interceptor:${versions.okHttpVersion}"
|
||||
],
|
||||
|
||||
okHttpLogger : "com.squareup.okhttp3:logging-interceptor:${versions.okHttpVersion}",
|
||||
|
||||
/**
|
||||
* Retrofit
|
||||
*/
|
||||
retrofit : [
|
||||
"com.squareup.retrofit2:retrofit:${versions.retrofitVersion}",
|
||||
"com.squareup.retrofit2:converter-moshi:${versions.retrofitVersion}"
|
||||
],
|
||||
|
||||
/**
|
||||
* Moshi
|
||||
*/
|
||||
moshi : [
|
||||
"com.squareup.moshi:moshi:${versions.moshiVersion}",
|
||||
"com.squareup.moshi:moshi-kotlin:${versions.moshiVersion}"
|
||||
],
|
||||
|
||||
moshiKotlin : "com.squareup.moshi:moshi-kotlin:${versions.moshiVersion}",
|
||||
|
||||
/**
|
||||
* Picasso for image loading
|
||||
*/
|
||||
picasso : "com.squareup.picasso:picasso:${versions.picassoVersion}",
|
||||
|
||||
/**
|
||||
* LeakCanary
|
||||
*/
|
||||
leakCanary : "com.squareup.leakcanary:leakcanary-android:${versions.leakCanaryVersion}",
|
||||
|
||||
/**
|
||||
* Timber
|
||||
*/
|
||||
timber : "com.jakewharton.timber:timber:${versions.timberVersion}"
|
||||
]
|
||||
|
||||
annotationProcessors = [
|
||||
roomCompiler : "androidx.room:room-compiler:${versions.roomVersion}",
|
||||
daggerCompiler: [
|
||||
"com.google.dagger:dagger-compiler:${versions.daggerVersion}",
|
||||
"com.google.dagger:dagger-android-processor:${versions.daggerVersion}"
|
||||
],
|
||||
]
|
||||
|
||||
testLibraries = [
|
||||
jUnitApi : "org.junit.jupiter:junit-jupiter-api:${versions.jUnitVersion}",
|
||||
jUnitEngine : "org.junit.jupiter:junit-jupiter-engine:${versions.jUnitVersion}",
|
||||
jUnitVintage : "org.junit.vintage:junit-vintage-engine:${versions.jUnitVersion}",
|
||||
jUnitAndroid : "androidx.test.ext:junit:1.1.0",
|
||||
fragmentTest : "androidx.fragment:fragment-testing:${versions.fragmentVersion}",
|
||||
multidexInstrumentation: "androidx.multidex:multidex-instrumentation:2.0.0",
|
||||
coroutinesCore : "org.jetbrains.kotlinx:kotlinx-coroutines-core:${versions.coroutinesVersion}",
|
||||
coroutinesTest : "org.jetbrains.kotlinx:kotlinx-coroutines-test:${versions.coroutinesVersion}",
|
||||
espresso : "androidx.test.espresso:espresso-core:${versions.espressoVersion}",
|
||||
mockk : "io.mockk:mockk:${versions.mockkVersion}",
|
||||
kluent : "org.amshove.kluent:kluent-android:${versions.kluentVersion}"
|
||||
]
|
||||
}
|
||||
14
scripts/detekt.gradle
Normal file
14
scripts/detekt.gradle
Normal file
@@ -0,0 +1,14 @@
|
||||
apply plugin: 'io.gitlab.arturbosch.detekt'
|
||||
|
||||
detekt {
|
||||
toolVersion = "1.0.0-RC14"
|
||||
config = files("$rootProject.projectDir/default-detekt-config.yml")
|
||||
filters = ".*/resources/.*,.*/build/.*"
|
||||
|
||||
reports {
|
||||
html {
|
||||
enabled = true
|
||||
destination = file("$rootProject.projectDir/reports/detekt/$projectDir.name-report.html")
|
||||
}
|
||||
}
|
||||
}
|
||||
10
scripts/dokka.gradle
Normal file
10
scripts/dokka.gradle
Normal file
@@ -0,0 +1,10 @@
|
||||
apply plugin: 'org.jetbrains.dokka-android'
|
||||
|
||||
dokka {
|
||||
outputFormat = "html"
|
||||
outputDirectory = "$rootProject.projectDir/reports/javadoc"
|
||||
jdkVersion = 8
|
||||
|
||||
reportUndocumented = true
|
||||
skipEmptyPackages = true
|
||||
}
|
||||
16
scripts/feature_module.gradle
Normal file
16
scripts/feature_module.gradle
Normal file
@@ -0,0 +1,16 @@
|
||||
apply from: "$rootProject.projectDir/scripts/module.gradle"
|
||||
|
||||
android {
|
||||
dataBinding {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
implementation project(':core')
|
||||
|
||||
implementation libraries.fragment
|
||||
implementation libraries.lifecycle
|
||||
implementation libraries.navigation
|
||||
implementation libraries.constraintLayout
|
||||
}
|
||||
17
scripts/flavors.gradle
Normal file
17
scripts/flavors.gradle
Normal file
@@ -0,0 +1,17 @@
|
||||
android {
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled true
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
|
||||
debug {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
|
||||
dev {
|
||||
initWith debug
|
||||
}
|
||||
}
|
||||
}
|
||||
3
scripts/module.gradle
Normal file
3
scripts/module.gradle
Normal file
@@ -0,0 +1,3 @@
|
||||
apply from: "$rootProject.projectDir/scripts/default_android_config.gradle"
|
||||
apply from: "$rootProject.projectDir/scripts/sources.gradle"
|
||||
apply from: "$rootProject.projectDir/scripts/flavors.gradle"
|
||||
12
scripts/sources.gradle
Normal file
12
scripts/sources.gradle
Normal file
@@ -0,0 +1,12 @@
|
||||
android {
|
||||
sourceSets {
|
||||
main.java.srcDirs += "src/main/kotlin"
|
||||
test.java.srcDirs += "src/test/kotlin"
|
||||
androidTest.java.srcDirs += "src/androidTest/kotlin"
|
||||
}
|
||||
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_1_8
|
||||
targetCompatibility JavaVersion.VERSION_1_8
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user