mirror of
https://gitlab.shinice.net/pixeldroid/PixelDroid
synced 2025-02-08 23:58:42 +01:00
Add Kotlin representations (data classes) of the Types of the Mastodon API. Create helper function to make API from the interface. Test the deserialization.
76 lines
2.6 KiB
Groovy
76 lines
2.6 KiB
Groovy
apply plugin: 'com.android.application'
|
|
apply plugin: 'kotlin-android'
|
|
apply plugin: 'kotlin-android-extensions'
|
|
apply plugin: 'jacoco'
|
|
|
|
android {
|
|
compileSdkVersion 29
|
|
buildToolsVersion "29.0.3"
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
defaultConfig {
|
|
applicationId "com.h.pixeldroid"
|
|
minSdkVersion 23
|
|
targetSdkVersion 29
|
|
versionCode 1
|
|
versionName "1.0"
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
}
|
|
|
|
buildTypes {
|
|
debug {
|
|
testCoverageEnabled true
|
|
}
|
|
release {
|
|
minifyEnabled false
|
|
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
dependencies {
|
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
implementation 'androidx.core:core-ktx:1.2.0'
|
|
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
|
|
implementation "com.squareup.okhttp3:okhttp:4.4.0"
|
|
implementation 'com.squareup.retrofit2:retrofit:2.7.1'
|
|
implementation 'com.squareup.retrofit2:converter-gson:2.7.1'
|
|
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.7.1'
|
|
implementation 'io.reactivex.rxjava2:rxjava:2.2.16'
|
|
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
|
|
|
|
testImplementation "com.github.tomakehurst:wiremock-jre8:2.26.2"
|
|
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
|
|
testImplementation 'junit:junit:4.13'
|
|
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
|
|
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
|
|
}
|
|
|
|
|
|
tasks.withType(Test) {
|
|
jacoco.includeNoLocationClasses = true
|
|
jacoco.excludes = ['jdk.internal.*']
|
|
}
|
|
|
|
task jacocoTestReport(type: JacocoReport, dependsOn: ['testDebugUnitTest', 'createDebugCoverageReport']) {
|
|
|
|
reports {
|
|
xml.enabled = true
|
|
html.enabled = true
|
|
}
|
|
|
|
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
|
|
def kotlinDebugTree = fileTree(dir: "$project.buildDir/tmp/kotlin-classes/debug", excludes: fileFilter)
|
|
def mainSrc = "$project.projectDir/src/main/java"
|
|
sourceDirectories = files([mainSrc])
|
|
classDirectories = files([kotlinDebugTree])
|
|
executionData = fileTree(dir: project.buildDir, includes: [
|
|
'jacoco/testDebugUnitTest.exec', 'outputs/code-coverage/debugAndroidTest/connected/*coverage.ec'
|
|
])
|
|
} |