WIP: feature/abstractions (#45)

* Abstraction layer backup

* Removed DataEntity, was unnecessary for now

* Separated network, persistence, entities and interaction, closes #29

* Renamed binding

* Removed build files, example tests

Removed build files, example tests

* Fixed build files were not being ignored all around app

* Updated CI ymls

* Small changes

* Fixed legacy repository package names

* Fixed CQ findings

* Updated Fastlane

* Packaging changes and version upgrades

* Removed core from interactors

* Version bumps

* Added new module graph
This commit is contained in:
Melih Aksoy
2019-10-30 17:27:53 +01:00
committed by GitHub
parent 83e39400a9
commit 88022629e1
103 changed files with 1098 additions and 921 deletions

53
scripts/cq/jacoco.gradle Normal file
View File

@@ -0,0 +1,53 @@
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.1"
reportsDir = file("$rootProject.projectDir/reports/jacoco/$project.name")
}
task jacocoTestReport(type: JacocoReport, dependsOn: "testDebugUnitTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports for Debug build"
reports {
xml.enabled = true
html.enabled = true
}
// what to exclude from coverage report
// UI, "noise", generated classes, platform classes, etc.
def excludes = [
'**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/*Test*.*',
'android/**/*.*',
'**/*Fragment.*',
'**/*Activity.*'
]
// generated classes
getClassDirectories().setFrom(
fileTree(
dir: "$buildDir/intermediates/classes/debug",
excludes: excludes
) + fileTree(
dir: "$buildDir/tmp/kotlin-classes/debug",
excludes: excludes
)
)
// sources
getSourceDirectories().setFrom(
files([
android.sourceSets.main.java.srcDirs,
"src/main/kotlin"
])
)
getExecutionData().setFrom(
files("$buildDir/jacoco/testDebugUnitTest.exec")
)
}

View File

@@ -1,4 +1,6 @@
apply from: "$rootProject.projectDir/scripts/default_dependencies.gradle"
apply from: "$rootProject.projectDir/scripts/cq/detekt.gradle"
apply from: "$rootProject.projectDir/scripts/cq/dokka.gradle"
apply from: "$rootProject.projectDir/scripts/cq/jacoco.gradle"
android {
compileSdkVersion versions.compileSdkVersion

View File

@@ -1,11 +1,10 @@
apply plugin: "de.mannodermaus.android-junit5"
apply from: "$rootProject.projectDir/scripts/detekt.gradle"
apply from: "$rootProject.projectDir/scripts/dokka.gradle"
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation project(':abstractions')
implementation libraries.kotlin
implementation libraries.dagger
implementation libraries.timber
@@ -18,57 +17,3 @@ dependencies {
testRuntimeOnly testLibraries.jUnitEngine
}
apply plugin: 'jacoco'
jacoco {
toolVersion = "0.8.1"
reportsDir = file("$rootProject.projectDir/reports/jacoco/$project.name")
}
task jacocoTestReport(type: JacocoReport, dependsOn: "testDebugUnitTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports for Debug build"
reports {
xml.enabled = true
html.enabled = true
}
// what to exclude from coverage report
// UI, "noise", generated classes, platform classes, etc.
def excludes = [
'**/R.class',
'**/R$*.class',
'**/*$ViewInjector*.*',
'**/BuildConfig.*',
'**/Manifest*.*',
'**/*Test*.*',
'android/**/*.*',
'**/*Fragment.*',
'**/*Activity.*'
]
// generated classes
getClassDirectories().setFrom(
fileTree(
dir: "$buildDir/intermediates/classes/debug",
excludes: excludes
) + fileTree(
dir: "$buildDir/tmp/kotlin-classes/debug",
excludes: excludes
)
)
// sources
getSourceDirectories().setFrom(
files([
android.sourceSets.main.java.srcDirs,
"src/main/kotlin"
])
)
getExecutionData().setFrom(
files("$buildDir/jacoco/testDebugUnitTest.exec")
)
}

View File

@@ -5,28 +5,28 @@ ext {
compileSdkVersion : 29,
targetSdkVersion : 29,
buildToolsVersion : "29.0.2",
appCompatVersion : "1.1.0-rc01",
lifecycleVersion : "2.2.0-alpha03",
fragmentVersion : "1.2.0-alpha02",
workManagerVersion : "2.3.0-alpha01",
constraintLayoutVesion : "2.0.0-beta2",
appCompatVersion : "1.1.0",
lifecycleVersion : "2.2.0-alpha05",
fragmentVersion : "1.2.0-rc01",
workManagerVersion : "2.3.0-alpha03",
constraintLayoutVesion : "2.0.0-beta3",
cardViewVersion : "1.0.0",
recyclerViewVersion : "1.1.0-beta03",
recyclerViewVersion : "1.1.0-rc01",
pagingVersion : "2.1.0",
viewPagerVersion : "1.0.0-beta03",
viewPagerVersion : "1.0.0-rc01",
materialVersion : "1.1.0-alpha09",
swipeRefreshLayoutVersion: "1.1.0-alpha02",
swipeRefreshLayoutVersion: "1.1.0-alpha03",
collectionVersion : "1.1.0",
roomVersion : "2.2.0-rc01",
daggerVersion : "2.24",
okHttpVersion : "4.0.1",
retrofitVersion : "2.6.1",
roomVersion : "2.2.0",
daggerVersion : "2.25.2",
okHttpVersion : "4.2.1",
retrofitVersion : "2.6.2",
picassoVersion : "2.71828",
moshiVersion : "1.8.0",
coroutinesVersion : "1.3.0-RC2",
leakCanaryVersion : "2.0-beta-2",
coroutinesVersion : "1.3.2",
leakCanaryVersion : "2.0-beta-3",
timberVersion : "4.7.1",
jUnitVersion : "5.5.1",
jUnitVersion : "5.5.2",
espressoVersion : "3.2.0",
mockkVersion : "1.9.3",
kluentVersion : "1.53",

View File

@@ -1,5 +1,7 @@
apply plugin: "androidx.navigation.safeargs"
apply from: "$rootProject.projectDir/scripts/module.gradle"
apply from: "$rootProject.projectDir/scripts/default_dependencies.gradle"
android {
dataBinding {
@@ -9,6 +11,8 @@ android {
dependencies {
implementation project(':core')
implementation project(':data:interactors')
implementation project(':data:definitions')
implementation libraries.fragment
implementation libraries.lifecycle