From 4d0955932a599cefeb3841aa73607ffe1fe66021 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 30 Sep 2018 10:31:17 +0200 Subject: [PATCH 01/20] Set target api to 28. --- dependencies.gradle | 2 +- .../ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt | 1 + .../ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index d3070c20..b38166a5 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,7 +1,7 @@ ext.versions = [ minSdk : 14, targetSdk : 22, - compileSdk : 27, + compileSdk : 28, gradle : '4.5.1', androidTools : "3.1.3", diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt b/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt index afce254e..f74f0bcf 100644 --- a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt +++ b/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt @@ -23,6 +23,7 @@ class AvatarRequestHandler( override fun load(request: Request, networkPolicy: Int): Result { val username = request.uri.getQueryParameter(QUERY_USERNAME) + ?: throw IllegalArgumentException("Nullable username") val response = apiClient.getAvatar(username) if (response.hasError()) { diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt b/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt index 8c6f4cd3..a12d1700 100644 --- a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt +++ b/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt @@ -20,7 +20,7 @@ class CoverArtRequestHandler(private val apiClient: SubsonicAPIClient) : Request } override fun load(request: Request, networkPolicy: Int): Result { - val id = request.uri.getQueryParameter(QUERY_ID) + val id = request.uri.getQueryParameter(QUERY_ID) ?: throw IllegalArgumentException("Nullable id") val response = apiClient.getCoverArt(id) if (response.hasError()) { From 6376a27b8b9c0b0e31a9262496fc3630049ad25c Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 30 Sep 2018 10:33:56 +0200 Subject: [PATCH 02/20] Update kotlin to 1.2.71 version. --- dependencies.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dependencies.gradle b/dependencies.gradle index b38166a5..c3521055 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -12,7 +12,7 @@ ext.versions = [ androidSupport : "22.2.1", - kotlin : "1.2.51", + kotlin : "1.2.71", retrofit : "2.4.0", jackson : "2.9.5", From 73af16b9c578af719670898402efb84a3c6c5d40 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 30 Sep 2018 10:37:14 +0200 Subject: [PATCH 03/20] Update ktlint to 0.28.0 version. --- dependencies.gradle | 4 ++-- .../subsonic/loader/image/CoverArtRequestHandler.kt | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index c3521055..07c21fad 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -5,8 +5,8 @@ ext.versions = [ gradle : '4.5.1', androidTools : "3.1.3", - ktlint : "0.24.0", - ktlintGradle : "4.1.0", + ktlint : "0.28.0", + ktlintGradle : "5.1.0", detekt : "1.0.0.RC6-4", jacoco : "0.8.2", diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt b/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt index a12d1700..d9c50dc9 100644 --- a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt +++ b/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt @@ -20,7 +20,8 @@ class CoverArtRequestHandler(private val apiClient: SubsonicAPIClient) : Request } override fun load(request: Request, networkPolicy: Int): Result { - val id = request.uri.getQueryParameter(QUERY_ID) ?: throw IllegalArgumentException("Nullable id") + val id = request.uri.getQueryParameter(QUERY_ID) + ?: throw IllegalArgumentException("Nullable id") val response = apiClient.getCoverArt(id) if (response.hasError()) { From 7a693b9705a72e5cbec89450b091a86be1983a39 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 30 Sep 2018 10:41:45 +0200 Subject: [PATCH 04/20] Update Gradle wrapper to 4.6 version. --- dependencies.gradle | 2 +- gradle.properties | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin 54333 -> 54333 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 07c21fad..0e178f20 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ ext.versions = [ minSdk : 14, targetSdk : 22, compileSdk : 28, - gradle : '4.5.1', + gradle : '4.6', androidTools : "3.1.3", ktlint : "0.28.0", diff --git a/gradle.properties b/gradle.properties index c56ddc2f..409cce24 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.parallel=true org.gradle.daemon=true -org.gradle.configureondemand=true +org.gradle.configureondemand=false org.gradle.caching=true kotlin.incremental=true diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 99340b4ad18d3c7e764794d300ffd35017036793..c44b679acd3f794ddbb3aa5e919244914911014a 100644 GIT binary patch delta 67 zcmdnHf_d)><_YF3^<10PCt62xypsG>^s$JMVS?1gZT}APTs3B42=Hd-&|;n)KKZ~Q Tf3UjE!iVn(uz-cWUiJV0iuD?> delta 67 zcmdnHf_d)><_YF3rx}klPPC5Xcp>?z=wlHh!vv{~+x{KoxoFJ75a7+uA)6T)Hu=CI Tf3UjE!iVn(uz-cWUiJV0zM~v6 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8941bfbb..3f0f9be6 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.5.1-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip From 4c0e55ccdd223929d3d31170709f11f7875e3d04 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 30 Sep 2018 10:49:07 +0200 Subject: [PATCH 05/20] Update Android Gradle plugin to 3.2.0 version. --- dependencies.gradle | 2 +- gradle.properties | 2 +- library/src/main/AndroidManifest.xml | 4 +--- menudrawer/src/main/AndroidManifest.xml | 2 -- pulltorefresh/src/main/AndroidManifest.xml | 2 -- 5 files changed, 3 insertions(+), 9 deletions(-) diff --git a/dependencies.gradle b/dependencies.gradle index 0e178f20..71c1ae10 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -4,7 +4,7 @@ ext.versions = [ compileSdk : 28, gradle : '4.6', - androidTools : "3.1.3", + androidTools : "3.2.0", ktlint : "0.28.0", ktlintGradle : "5.1.0", detekt : "1.0.0.RC6-4", diff --git a/gradle.properties b/gradle.properties index 409cce24..c56ddc2f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ org.gradle.parallel=true org.gradle.daemon=true -org.gradle.configureondemand=false +org.gradle.configureondemand=true org.gradle.caching=true kotlin.incremental=true diff --git a/library/src/main/AndroidManifest.xml b/library/src/main/AndroidManifest.xml index f0ef29f3..7a731338 100644 --- a/library/src/main/AndroidManifest.xml +++ b/library/src/main/AndroidManifest.xml @@ -3,6 +3,4 @@ package="com.mobeta.android.dslv" android:versionCode="4" android:versionName="0.6.1"> - - + diff --git a/menudrawer/src/main/AndroidManifest.xml b/menudrawer/src/main/AndroidManifest.xml index 0dc0710c..c80a4f06 100644 --- a/menudrawer/src/main/AndroidManifest.xml +++ b/menudrawer/src/main/AndroidManifest.xml @@ -3,6 +3,4 @@ package="net.simonvt.menudrawer" android:versionCode="6" android:versionName="3.0.2"> - - diff --git a/pulltorefresh/src/main/AndroidManifest.xml b/pulltorefresh/src/main/AndroidManifest.xml index 6382ef54..2dc1eb5f 100644 --- a/pulltorefresh/src/main/AndroidManifest.xml +++ b/pulltorefresh/src/main/AndroidManifest.xml @@ -3,6 +3,4 @@ package="com.handmark.pulltorefresh.library" android:versionCode="2110" android:versionName="2.1.1"> - - \ No newline at end of file From 8f65b376056b1beffa9095036916dcc2d754f0e4 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 13:37:12 +0200 Subject: [PATCH 06/20] Add common configuration for kotlin modules. --- .circleci/config.yml | 2 +- build.gradle | 4 ++ cache/build.gradle | 35 +----------- domain/build.gradle | 35 +----------- gradle_scripts/kotlin-module-bootstrap.gradle | 53 +++++++++++++++++++ subsonic-api/build.gradle | 37 +------------ 6 files changed, 61 insertions(+), 105 deletions(-) create mode 100644 gradle_scripts/kotlin-module-bootstrap.gradle diff --git a/.circleci/config.yml b/.circleci/config.yml index fa7fd824..c9002819 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,7 +25,7 @@ jobs: - run: name: unit-tests command: | - ./gradlew :subsonic-api:test :cache:test :subsonic-api-image-loader:testDebugUnitTest :ultrasonic:testDebugUnitTest + ./gradlew ciTest :ultrasonic:testDebugUnitTest ./gradlew jacocoFullReport bash <(curl -s https://codecov.io/bash) - run: diff --git a/build.gradle b/build.gradle index abcee58c..ac600b4d 100644 --- a/build.gradle +++ b/build.gradle @@ -2,6 +2,10 @@ buildscript { apply from: 'dependencies.gradle' + ext.bootstrap = [ + kotlinModule : "${project.rootDir}/gradle_scripts/kotlin-module-bootstrap.gradle", + ] + repositories { jcenter() google() diff --git a/cache/build.gradle b/cache/build.gradle index 57cecf59..4d5d617a 100644 --- a/cache/build.gradle +++ b/cache/build.gradle @@ -1,11 +1,7 @@ -apply plugin: 'java-library' -apply plugin: 'kotlin' -apply plugin: 'jacoco' -apply from: '../gradle_scripts/code_quality.gradle' +apply from: bootstrap.kotlinModule dependencies { api project(':domain') - api other.kotlinStdlib api other.twitterSerial testImplementation testing.junit @@ -15,32 +11,3 @@ dependencies { testImplementation testing.mockitoKotlin testImplementation testing.kluent } - -jacoco { - toolVersion(versions.jacoco) -} - -ext { - jacocoExclude = [] -} - -jacocoTestReport { - reports { - html.enabled true - csv.enabled false - xml.enabled true - } - - afterEvaluate { - classDirectories = files(classDirectories.files.collect { - fileTree(dir: it, excludes: jacocoExclude) - }) - } -} - -test.finalizedBy jacocoTestReport -test { - jacoco { - excludes += jacocoExclude - } -} diff --git a/domain/build.gradle b/domain/build.gradle index cab611de..eefe64d0 100644 --- a/domain/build.gradle +++ b/domain/build.gradle @@ -1,38 +1,5 @@ -apply plugin: 'java-library' -apply plugin: 'kotlin' -apply plugin: 'jacoco' -apply from: '../gradle_scripts/code_quality.gradle' +apply from: bootstrap.kotlinModule dependencies { - api other.kotlinStdlib api other.semver } - -jacoco { - toolVersion(versions.jacoco) -} - -ext { - jacocoExclude = [] -} - -jacocoTestReport { - reports { - html.enabled true - csv.enabled false - xml.enabled true - } - - afterEvaluate { - classDirectories = files(classDirectories.files.collect { - fileTree(dir: it, excludes: jacocoExclude) - }) - } -} - -test.finalizedBy jacocoTestReport -test { - jacoco { - excludes += jacocoExclude - } -} diff --git a/gradle_scripts/kotlin-module-bootstrap.gradle b/gradle_scripts/kotlin-module-bootstrap.gradle new file mode 100644 index 00000000..31e2154c --- /dev/null +++ b/gradle_scripts/kotlin-module-bootstrap.gradle @@ -0,0 +1,53 @@ +apply plugin: 'java-library' +apply plugin: 'kotlin' +apply plugin: 'jacoco' +apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle" + +sourceCompatibility = JavaVersion.VERSION_1_8 +targetCompatibility = JavaVersion.VERSION_1_8 + +sourceSets { + main.java.srcDirs += "${projectDir}/src/main/kotlin" + test.java.srcDirs += "${projectDir}/src/test/kotlin" + test.java.srcDirs += "${projectDir}/src/integrationTest/kotlin" + test.resources.srcDirs += "${projectDir}/src/integrationTest/resources" +} + +dependencies { + api other.kotlinStdlib +} + +jacoco { + toolVersion(versions.jacoco) +} + +ext { + // override it in the module + jacocoExclude = [] +} + +jacocoTestReport { + reports { + html.enabled true + csv.enabled false + xml.enabled true + } + + afterEvaluate { + classDirectories = files(classDirectories.files.collect { + fileTree(dir: it, excludes: jacocoExclude) + }) + } +} + +test.finalizedBy jacocoTestReport +test { + jacoco { + excludes += jacocoExclude + } +} + +task("ciTest", dependsOn: "test") { + group = "Verification" + description = "Special task for CI that calls all tests in pure kotlin modules" +} diff --git a/subsonic-api/build.gradle b/subsonic-api/build.gradle index 78f37860..45b205a1 100644 --- a/subsonic-api/build.gradle +++ b/subsonic-api/build.gradle @@ -1,16 +1,6 @@ -apply plugin: 'kotlin' -apply plugin: 'java-library' -apply plugin: 'jacoco' -apply from: '../gradle_scripts/code_quality.gradle' - -sourceSets { - main.java.srcDirs += "${projectDir}/src/main/kotlin" - test.java.srcDirs += "${projectDir}/src/integrationTest/kotlin" - test.resources.srcDirs += "${projectDir}/src/integrationTest/resources" -} +apply from: bootstrap.kotlinModule dependencies { - api other.kotlinStdlib api other.retrofit api other.jacksonConverter api other.koinCore @@ -31,10 +21,6 @@ dependencies { testImplementation testing.apacheCodecs } -jacoco { - toolVersion(versions.jacoco) -} - ext { // Excluding data classes jacocoExclude = [ @@ -42,24 +28,3 @@ ext { '**/di/**' ] } - -jacocoTestReport { - reports { - html.enabled true - csv.enabled false - xml.enabled true - } - - afterEvaluate { - classDirectories = files(classDirectories.files.collect { - fileTree(dir: it, excludes: jacocoExclude) - }) - } -} - -test.finalizedBy jacocoTestReport -test { - jacoco { - excludes += jacocoExclude - } -} From eb59e3ccc1c484555dc2d766a4cab390f94b8e75 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 13:52:14 +0200 Subject: [PATCH 07/20] Add common configuration for android modules. --- .circleci/config.yml | 2 +- build.gradle | 1 + .../android-module-bootstrap.gradle | 70 +++++++++++++++++++ gradle_scripts/kotlin-module-bootstrap.gradle | 1 + library/build.gradle | 15 +--- menudrawer/build.gradle | 16 +---- pulltorefresh/build.gradle | 16 +---- subsonic-api-image-loader/build.gradle | 35 +--------- 8 files changed, 79 insertions(+), 77 deletions(-) create mode 100644 gradle_scripts/android-module-bootstrap.gradle diff --git a/.circleci/config.yml b/.circleci/config.yml index c9002819..85851125 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -25,7 +25,7 @@ jobs: - run: name: unit-tests command: | - ./gradlew ciTest :ultrasonic:testDebugUnitTest + ./gradlew ciTest testDebugUnitTest ./gradlew jacocoFullReport bash <(curl -s https://codecov.io/bash) - run: diff --git a/build.gradle b/build.gradle index ac600b4d..d8dd50e5 100644 --- a/build.gradle +++ b/build.gradle @@ -4,6 +4,7 @@ buildscript { ext.bootstrap = [ kotlinModule : "${project.rootDir}/gradle_scripts/kotlin-module-bootstrap.gradle", + androidModule : "${project.rootDir}/gradle_scripts/android-module-bootstrap.gradle" ] repositories { diff --git a/gradle_scripts/android-module-bootstrap.gradle b/gradle_scripts/android-module-bootstrap.gradle new file mode 100644 index 00000000..7e2501b0 --- /dev/null +++ b/gradle_scripts/android-module-bootstrap.gradle @@ -0,0 +1,70 @@ +apply plugin: 'com.android.library' +apply plugin: 'kotlin-android' +apply plugin: 'kotlin-android-extensions' +apply plugin: 'jacoco-android' +apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle" + +androidExtensions { + experimental = true +} + +android { + compileSdkVersion versions.compileSdk + + defaultConfig { + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + minSdkVersion versions.minSdk + targetSdkVersion versions.targetSdk + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + + sourceSets { + main.java.srcDirs += "${projectDir}/src/main/kotlin" + test.java.srcDirs += "${projectDir}/src/test/kotlin" + test.java.srcDirs += "${projectDir}/src/integrationTest/kotlin" + test.resources.srcDirs += "${projectDir}/src/integrationTest/resources" + } + + buildTypes { + debug { + minifyEnabled false + debuggable true + } + release { + minifyEnabled false + } + } + + // Disable generating BuildConfig class by default + // Replace it with https://issuetracker.google.com/issues/72050365 once released. + libraryVariants.all { + generateBuildConfig.enabled = false + } +} + +sourceCompatibility = JavaVersion.VERSION_1_8 +targetCompatibility = JavaVersion.VERSION_1_8 + +dependencies { + api other.kotlinStdlib +} + +jacoco { + toolVersion(versions.jacoco) +} + +ext { + jacocoExclude = [] +} + +jacocoAndroidUnitTestReport { + excludes += jacocoExclude +} + +afterEvaluate { + testDebugUnitTest.finalizedBy jacocoTestDebugUnitTestReport +} diff --git a/gradle_scripts/kotlin-module-bootstrap.gradle b/gradle_scripts/kotlin-module-bootstrap.gradle index 31e2154c..3917db62 100644 --- a/gradle_scripts/kotlin-module-bootstrap.gradle +++ b/gradle_scripts/kotlin-module-bootstrap.gradle @@ -44,6 +44,7 @@ test.finalizedBy jacocoTestReport test { jacoco { excludes += jacocoExclude + includeNoLocationClasses = true } } diff --git a/library/build.gradle b/library/build.gradle index b2e07832..75940e1c 100644 --- a/library/build.gradle +++ b/library/build.gradle @@ -1,20 +1,7 @@ +apply from: bootstrap.androidModule apply plugin: 'com.android.library' android { - compileSdkVersion versions.compileSdk - - defaultConfig { - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - } - lintOptions { baselineFile file("lint-baseline.xml") abortOnError true diff --git a/menudrawer/build.gradle b/menudrawer/build.gradle index 1979d8cd..102c5711 100644 --- a/menudrawer/build.gradle +++ b/menudrawer/build.gradle @@ -1,20 +1,6 @@ -apply plugin: 'com.android.library' +apply from: bootstrap.androidModule android { - compileSdkVersion versions.compileSdk - - defaultConfig { - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - } - lintOptions { baselineFile file("lint-baseline.xml") abortOnError true diff --git a/pulltorefresh/build.gradle b/pulltorefresh/build.gradle index 1979d8cd..102c5711 100644 --- a/pulltorefresh/build.gradle +++ b/pulltorefresh/build.gradle @@ -1,20 +1,6 @@ -apply plugin: 'com.android.library' +apply from: bootstrap.androidModule android { - compileSdkVersion versions.compileSdk - - defaultConfig { - minSdkVersion versions.minSdk - targetSdkVersion versions.targetSdk - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' - } - } - lintOptions { baselineFile file("lint-baseline.xml") abortOnError true diff --git a/subsonic-api-image-loader/build.gradle b/subsonic-api-image-loader/build.gradle index 5baa60ce..a0840d23 100644 --- a/subsonic-api-image-loader/build.gradle +++ b/subsonic-api-image-loader/build.gradle @@ -1,43 +1,14 @@ -apply plugin: 'com.android.library' -apply plugin: 'kotlin-android' -apply from: '../gradle_scripts/code_quality.gradle' -apply plugin: 'jacoco' - - -ext { - jacocoExclude = [] -} - -jacoco { - toolVersion(versions.jacoco) -} - -tasks.withType(Test) { - jacoco.includeNoLocationClasses = true -} +apply from: bootstrap.androidModule android { - compileSdkVersion(versions.compileSdk) - - defaultConfig { - minSdkVersion(versions.minSdk) - targetSdkVersion(versions.targetSdk) - - testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - } - - sourceSets { - main.java.srcDirs += 'src/main/kotlin' - test.java.srcDirs += 'src/test/kotlin' - test.java.srcDirs += "${projectDir}/src/integrationTest/kotlin" - test.resources.srcDirs += "${projectDir}/src/integrationTest/resources" + libraryVariants.all { + generateBuildConfig.enabled = true } } dependencies { api project(':domain') api project(':subsonic-api') - api other.kotlinStdlib api(other.picasso) { exclude group: "com.android.support" } From 4e159eed484b1f106b06b400f42d0cf201141d6b Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 13:59:46 +0200 Subject: [PATCH 08/20] Fix failing tests. --- .../subsonic/loader/image/AvatarRequestHandlerTest.kt | 2 +- .../subsonic/loader/image/CoverArtRequestHandlerTest.kt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt b/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt index 4dbc5f33..df1ae690 100644 --- a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt +++ b/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt @@ -50,7 +50,7 @@ class AvatarRequestHandlerTest { handler.load(requestUri.buildRequest(), 0) } - fail `should throw` IllegalStateException::class + fail `should throw` IllegalArgumentException::class } @Test diff --git a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt b/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt index a4d74733..cfef4c4e 100644 --- a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt +++ b/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt @@ -50,7 +50,7 @@ class CoverArtRequestHandlerTest { handler.load(requestUri.buildRequest(), 0) } - fail `should throw` IllegalStateException::class + fail `should throw` IllegalArgumentException::class } @Test From e1f9764d553907e81a588517c52c781bea7c9d71 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:09:21 +0200 Subject: [PATCH 09/20] Move cache module to core modules. --- {cache => core/cache}/build.gradle | 0 .../src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt | 0 .../kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt | 0 .../org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt | 0 .../org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt | 0 .../moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt | 0 .../test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt | 0 .../org/moire/ultrasonic/cache/PermanentFileStorageTest.kt | 0 .../moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt | 0 .../moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt | 0 .../ultrasonic/cache/serializers/MusicFolderSerializerTest.kt | 0 settings.gradle | 2 +- ultrasonic/build.gradle | 2 +- 13 files changed, 2 insertions(+), 2 deletions(-) rename {cache => core/cache}/build.gradle (100%) rename {cache => core/cache}/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt (100%) rename {cache => core/cache}/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt (100%) rename {cache => core/cache}/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt (100%) rename {cache => core/cache}/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt (100%) rename {cache => core/cache}/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt (100%) rename {cache => core/cache}/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt (100%) rename {cache => core/cache}/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt (100%) rename {cache => core/cache}/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt (100%) rename {cache => core/cache}/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt (100%) rename {cache => core/cache}/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt (100%) diff --git a/cache/build.gradle b/core/cache/build.gradle similarity index 100% rename from cache/build.gradle rename to core/cache/build.gradle diff --git a/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt similarity index 100% rename from cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt rename to core/cache/src/main/kotlin/org/moire/ultrasonic/cache/Directories.kt diff --git a/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt similarity index 100% rename from cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt rename to core/cache/src/main/kotlin/org/moire/ultrasonic/cache/PermanentFileStorage.kt diff --git a/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt similarity index 100% rename from cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt rename to core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializer.kt diff --git a/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt similarity index 100% rename from cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt rename to core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializer.kt diff --git a/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt b/core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt similarity index 100% rename from cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt rename to core/cache/src/main/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializer.kt diff --git a/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt similarity index 100% rename from cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt rename to core/cache/src/test/kotlin/org/moire/ultrasonic/cache/BaseStorageTest.kt diff --git a/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt similarity index 100% rename from cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt rename to core/cache/src/test/kotlin/org/moire/ultrasonic/cache/PermanentFileStorageTest.kt diff --git a/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt similarity index 100% rename from cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt rename to core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/ArtistSerializerTest.kt diff --git a/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt similarity index 100% rename from cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt rename to core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/IndexesSerializerTest.kt diff --git a/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt b/core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt similarity index 100% rename from cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt rename to core/cache/src/test/kotlin/org/moire/ultrasonic/cache/serializers/MusicFolderSerializerTest.kt diff --git a/settings.gradle b/settings.gradle index eb222b3d..086993e5 100644 --- a/settings.gradle +++ b/settings.gradle @@ -2,7 +2,7 @@ include ':library' include ':domain' include ':subsonic-api' include ':subsonic-api-image-loader' -include ':cache' +include ':core:cache' include ':menudrawer' include ':pulltorefresh' include ':ultrasonic' diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index aa7a2ff5..98f916cd 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -56,7 +56,7 @@ dependencies { implementation project(':domain') implementation project(':subsonic-api') implementation project(':subsonic-api-image-loader') - implementation project(':cache') + implementation project(':core:cache') implementation androidSupport.support implementation androidSupport.design From 01bb519762598bbee528320b284e90b44edbc7b0 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:13:57 +0200 Subject: [PATCH 10/20] Move domain module to core modules. --- core/cache/build.gradle | 2 +- {domain => core/domain}/build.gradle | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Bookmark.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/ChatMessage.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Genre.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Indexes.kt | 0 .../main/kotlin/org/moire/ultrasonic/domain/JukeboxStatus.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Lyrics.kt | 0 .../main/kotlin/org/moire/ultrasonic/domain/MusicDirectory.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/MusicFolder.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/PlayerState.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Playlist.kt | 0 .../main/kotlin/org/moire/ultrasonic/domain/PodcastsChannel.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/RepeatMode.kt | 0 .../main/kotlin/org/moire/ultrasonic/domain/SearchCriteria.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/SearchResult.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Share.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/UserInfo.kt | 0 .../src/main/kotlin/org/moire/ultrasonic/domain/Version.kt | 0 settings.gradle | 2 +- subsonic-api-image-loader/build.gradle | 2 +- ultrasonic/build.gradle | 2 +- 23 files changed, 4 insertions(+), 4 deletions(-) rename {domain => core/domain}/build.gradle (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Bookmark.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/ChatMessage.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Genre.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Indexes.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/JukeboxStatus.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Lyrics.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/MusicDirectory.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/MusicFolder.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/PlayerState.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Playlist.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/PodcastsChannel.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/RepeatMode.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/SearchCriteria.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/SearchResult.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Share.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/UserInfo.kt (100%) rename {domain => core/domain}/src/main/kotlin/org/moire/ultrasonic/domain/Version.kt (100%) diff --git a/core/cache/build.gradle b/core/cache/build.gradle index 4d5d617a..5c273b70 100644 --- a/core/cache/build.gradle +++ b/core/cache/build.gradle @@ -1,7 +1,7 @@ apply from: bootstrap.kotlinModule dependencies { - api project(':domain') + api project(':core:domain') api other.twitterSerial testImplementation testing.junit diff --git a/domain/build.gradle b/core/domain/build.gradle similarity index 100% rename from domain/build.gradle rename to core/domain/build.gradle diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Artist.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Bookmark.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Bookmark.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Bookmark.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Bookmark.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/ChatMessage.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/ChatMessage.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/ChatMessage.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/ChatMessage.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Genre.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Genre.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Genre.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Genre.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Indexes.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Indexes.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Indexes.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Indexes.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/JukeboxStatus.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/JukeboxStatus.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/JukeboxStatus.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/JukeboxStatus.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Lyrics.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Lyrics.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Lyrics.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Lyrics.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicDirectory.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicDirectory.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicDirectory.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicDirectory.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicFolder.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicFolder.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicFolder.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/MusicFolder.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/PlayerState.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/PlayerState.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/PlayerState.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/PlayerState.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Playlist.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Playlist.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Playlist.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Playlist.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/PodcastsChannel.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/PodcastsChannel.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/PodcastsChannel.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/PodcastsChannel.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/RepeatMode.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/RepeatMode.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/RepeatMode.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/RepeatMode.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchCriteria.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchCriteria.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchCriteria.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchCriteria.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchResult.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchResult.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchResult.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/SearchResult.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Share.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Share.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Share.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Share.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/UserInfo.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/UserInfo.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/UserInfo.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/UserInfo.kt diff --git a/domain/src/main/kotlin/org/moire/ultrasonic/domain/Version.kt b/core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Version.kt similarity index 100% rename from domain/src/main/kotlin/org/moire/ultrasonic/domain/Version.kt rename to core/domain/src/main/kotlin/org/moire/ultrasonic/domain/Version.kt diff --git a/settings.gradle b/settings.gradle index 086993e5..fe47db76 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,5 +1,5 @@ include ':library' -include ':domain' +include ':core:domain' include ':subsonic-api' include ':subsonic-api-image-loader' include ':core:cache' diff --git a/subsonic-api-image-loader/build.gradle b/subsonic-api-image-loader/build.gradle index a0840d23..3357408d 100644 --- a/subsonic-api-image-loader/build.gradle +++ b/subsonic-api-image-loader/build.gradle @@ -7,7 +7,7 @@ android { } dependencies { - api project(':domain') + api project(':core:domain') api project(':subsonic-api') api(other.picasso) { exclude group: "com.android.support" diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 98f916cd..711bfbd4 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -53,7 +53,7 @@ dependencies { implementation project(':menudrawer') implementation project(':pulltorefresh') implementation project(':library') - implementation project(':domain') + implementation project(':core:domain') implementation project(':subsonic-api') implementation project(':subsonic-api-image-loader') implementation project(':core:cache') From 997accd88a8a1afd4410f2ad58222d7a61c37d58 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:15:27 +0200 Subject: [PATCH 11/20] Move library module to core modules. --- {library => core/library}/build.gradle | 0 {library => core/library}/lint-baseline.xml | 0 {library => core/library}/src/main/AndroidManifest.xml | 0 .../main/java/com/mobeta/android/dslv/DragSortController.java | 0 .../java/com/mobeta/android/dslv/DragSortCursorAdapter.java | 0 .../src/main/java/com/mobeta/android/dslv/DragSortItemView.java | 0 .../java/com/mobeta/android/dslv/DragSortItemViewCheckable.java | 0 .../src/main/java/com/mobeta/android/dslv/DragSortListView.java | 0 .../com/mobeta/android/dslv/ResourceDragSortCursorAdapter.java | 0 .../com/mobeta/android/dslv/SimpleDragSortCursorAdapter.java | 0 .../java/com/mobeta/android/dslv/SimpleFloatViewManager.java | 0 {library => core/library}/src/main/res/values/dslv_attrs.xml | 0 library/.gitignore | 2 -- settings.gradle | 2 +- ultrasonic/build.gradle | 2 +- 15 files changed, 2 insertions(+), 4 deletions(-) rename {library => core/library}/build.gradle (100%) rename {library => core/library}/lint-baseline.xml (100%) rename {library => core/library}/src/main/AndroidManifest.xml (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/DragSortController.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/DragSortCursorAdapter.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/DragSortItemView.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/DragSortListView.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.java (100%) rename {library => core/library}/src/main/java/com/mobeta/android/dslv/SimpleFloatViewManager.java (100%) rename {library => core/library}/src/main/res/values/dslv_attrs.xml (100%) delete mode 100644 library/.gitignore diff --git a/library/build.gradle b/core/library/build.gradle similarity index 100% rename from library/build.gradle rename to core/library/build.gradle diff --git a/library/lint-baseline.xml b/core/library/lint-baseline.xml similarity index 100% rename from library/lint-baseline.xml rename to core/library/lint-baseline.xml diff --git a/library/src/main/AndroidManifest.xml b/core/library/src/main/AndroidManifest.xml similarity index 100% rename from library/src/main/AndroidManifest.xml rename to core/library/src/main/AndroidManifest.xml diff --git a/library/src/main/java/com/mobeta/android/dslv/DragSortController.java b/core/library/src/main/java/com/mobeta/android/dslv/DragSortController.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/DragSortController.java rename to core/library/src/main/java/com/mobeta/android/dslv/DragSortController.java diff --git a/library/src/main/java/com/mobeta/android/dslv/DragSortCursorAdapter.java b/core/library/src/main/java/com/mobeta/android/dslv/DragSortCursorAdapter.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/DragSortCursorAdapter.java rename to core/library/src/main/java/com/mobeta/android/dslv/DragSortCursorAdapter.java diff --git a/library/src/main/java/com/mobeta/android/dslv/DragSortItemView.java b/core/library/src/main/java/com/mobeta/android/dslv/DragSortItemView.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/DragSortItemView.java rename to core/library/src/main/java/com/mobeta/android/dslv/DragSortItemView.java diff --git a/library/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java b/core/library/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java rename to core/library/src/main/java/com/mobeta/android/dslv/DragSortItemViewCheckable.java diff --git a/library/src/main/java/com/mobeta/android/dslv/DragSortListView.java b/core/library/src/main/java/com/mobeta/android/dslv/DragSortListView.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/DragSortListView.java rename to core/library/src/main/java/com/mobeta/android/dslv/DragSortListView.java diff --git a/library/src/main/java/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.java b/core/library/src/main/java/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.java rename to core/library/src/main/java/com/mobeta/android/dslv/ResourceDragSortCursorAdapter.java diff --git a/library/src/main/java/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.java b/core/library/src/main/java/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.java rename to core/library/src/main/java/com/mobeta/android/dslv/SimpleDragSortCursorAdapter.java diff --git a/library/src/main/java/com/mobeta/android/dslv/SimpleFloatViewManager.java b/core/library/src/main/java/com/mobeta/android/dslv/SimpleFloatViewManager.java similarity index 100% rename from library/src/main/java/com/mobeta/android/dslv/SimpleFloatViewManager.java rename to core/library/src/main/java/com/mobeta/android/dslv/SimpleFloatViewManager.java diff --git a/library/src/main/res/values/dslv_attrs.xml b/core/library/src/main/res/values/dslv_attrs.xml similarity index 100% rename from library/src/main/res/values/dslv_attrs.xml rename to core/library/src/main/res/values/dslv_attrs.xml diff --git a/library/.gitignore b/library/.gitignore deleted file mode 100644 index e8fa30f8..00000000 --- a/library/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/build -*.iml diff --git a/settings.gradle b/settings.gradle index fe47db76..2a68d069 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,4 +1,4 @@ -include ':library' +include ':core:library' include ':core:domain' include ':subsonic-api' include ':subsonic-api-image-loader' diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 711bfbd4..8811f245 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -52,7 +52,7 @@ android { dependencies { implementation project(':menudrawer') implementation project(':pulltorefresh') - implementation project(':library') + implementation project(':core:library') implementation project(':core:domain') implementation project(':subsonic-api') implementation project(':subsonic-api-image-loader') From 69b945c23098e424edc3265289c0d5f57b65790a Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:20:33 +0200 Subject: [PATCH 12/20] Move menudrawer module to core modules. --- {menudrawer => core/menudrawer}/build.gradle | 0 {menudrawer => core/menudrawer}/lint-baseline.xml | 0 {menudrawer => core/menudrawer}/src/main/AndroidManifest.xml | 0 .../main/java/net/simonvt/menudrawer/BuildLayerFrameLayout.java | 0 .../src/main/java/net/simonvt/menudrawer/ColorDrawable.java | 0 .../src/main/java/net/simonvt/menudrawer/DraggableDrawer.java | 0 .../src/main/java/net/simonvt/menudrawer/FloatScroller.java | 0 .../src/main/java/net/simonvt/menudrawer/MenuDrawer.java | 0 .../java/net/simonvt/menudrawer/NoClickThroughFrameLayout.java | 0 .../src/main/java/net/simonvt/menudrawer/OverlayDrawer.java | 0 .../src/main/java/net/simonvt/menudrawer/PeekInterpolator.java | 0 .../src/main/java/net/simonvt/menudrawer/Position.java | 0 .../src/main/java/net/simonvt/menudrawer/Scroller.java | 0 .../java/net/simonvt/menudrawer/SinusoidalInterpolator.java | 0 .../src/main/java/net/simonvt/menudrawer/SlideDrawable.java | 0 .../src/main/java/net/simonvt/menudrawer/SlidingDrawer.java | 0 .../main/java/net/simonvt/menudrawer/SmoothInterpolator.java | 0 .../src/main/java/net/simonvt/menudrawer/StaticDrawer.java | 0 .../src/main/java/net/simonvt/menudrawer/ViewHelper.java | 0 .../java/net/simonvt/menudrawer/compat/ActionBarHelper.java | 0 .../net/simonvt/menudrawer/compat/ActionBarHelperCompat.java | 0 .../net/simonvt/menudrawer/compat/ActionBarHelperNative.java | 0 {menudrawer => core/menudrawer}/src/main/res/values/attrs.xml | 0 {menudrawer => core/menudrawer}/src/main/res/values/colors.xml | 0 {menudrawer => core/menudrawer}/src/main/res/values/ids.xml | 0 {menudrawer => core/menudrawer}/src/main/res/values/strings.xml | 0 {menudrawer => core/menudrawer}/src/main/res/values/styles.xml | 0 menudrawer/.gitignore | 2 -- settings.gradle | 2 +- ultrasonic/build.gradle | 2 +- 30 files changed, 2 insertions(+), 4 deletions(-) rename {menudrawer => core/menudrawer}/build.gradle (100%) rename {menudrawer => core/menudrawer}/lint-baseline.xml (100%) rename {menudrawer => core/menudrawer}/src/main/AndroidManifest.xml (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/BuildLayerFrameLayout.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/ColorDrawable.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/DraggableDrawer.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/FloatScroller.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/MenuDrawer.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/NoClickThroughFrameLayout.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/OverlayDrawer.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/PeekInterpolator.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/Position.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/Scroller.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/SinusoidalInterpolator.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/SlideDrawable.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/SlidingDrawer.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/SmoothInterpolator.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/StaticDrawer.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/ViewHelper.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelper.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperCompat.java (100%) rename {menudrawer => core/menudrawer}/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperNative.java (100%) rename {menudrawer => core/menudrawer}/src/main/res/values/attrs.xml (100%) rename {menudrawer => core/menudrawer}/src/main/res/values/colors.xml (100%) rename {menudrawer => core/menudrawer}/src/main/res/values/ids.xml (100%) rename {menudrawer => core/menudrawer}/src/main/res/values/strings.xml (100%) rename {menudrawer => core/menudrawer}/src/main/res/values/styles.xml (100%) delete mode 100644 menudrawer/.gitignore diff --git a/menudrawer/build.gradle b/core/menudrawer/build.gradle similarity index 100% rename from menudrawer/build.gradle rename to core/menudrawer/build.gradle diff --git a/menudrawer/lint-baseline.xml b/core/menudrawer/lint-baseline.xml similarity index 100% rename from menudrawer/lint-baseline.xml rename to core/menudrawer/lint-baseline.xml diff --git a/menudrawer/src/main/AndroidManifest.xml b/core/menudrawer/src/main/AndroidManifest.xml similarity index 100% rename from menudrawer/src/main/AndroidManifest.xml rename to core/menudrawer/src/main/AndroidManifest.xml diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/BuildLayerFrameLayout.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/BuildLayerFrameLayout.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/BuildLayerFrameLayout.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/BuildLayerFrameLayout.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/ColorDrawable.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/ColorDrawable.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/ColorDrawable.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/ColorDrawable.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/DraggableDrawer.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/DraggableDrawer.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/DraggableDrawer.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/DraggableDrawer.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/FloatScroller.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/FloatScroller.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/FloatScroller.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/FloatScroller.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/MenuDrawer.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/MenuDrawer.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/MenuDrawer.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/MenuDrawer.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/NoClickThroughFrameLayout.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/NoClickThroughFrameLayout.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/NoClickThroughFrameLayout.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/NoClickThroughFrameLayout.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/OverlayDrawer.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/OverlayDrawer.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/OverlayDrawer.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/OverlayDrawer.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/PeekInterpolator.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/PeekInterpolator.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/PeekInterpolator.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/PeekInterpolator.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/Position.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/Position.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/Position.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/Position.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/Scroller.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/Scroller.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/Scroller.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/Scroller.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/SinusoidalInterpolator.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/SinusoidalInterpolator.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/SinusoidalInterpolator.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/SinusoidalInterpolator.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/SlideDrawable.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/SlideDrawable.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/SlideDrawable.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/SlideDrawable.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/SlidingDrawer.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/SlidingDrawer.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/SlidingDrawer.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/SlidingDrawer.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/SmoothInterpolator.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/SmoothInterpolator.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/SmoothInterpolator.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/SmoothInterpolator.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/StaticDrawer.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/StaticDrawer.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/StaticDrawer.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/StaticDrawer.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/ViewHelper.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/ViewHelper.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/ViewHelper.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/ViewHelper.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelper.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelper.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelper.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelper.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperCompat.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperCompat.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperCompat.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperCompat.java diff --git a/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperNative.java b/core/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperNative.java similarity index 100% rename from menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperNative.java rename to core/menudrawer/src/main/java/net/simonvt/menudrawer/compat/ActionBarHelperNative.java diff --git a/menudrawer/src/main/res/values/attrs.xml b/core/menudrawer/src/main/res/values/attrs.xml similarity index 100% rename from menudrawer/src/main/res/values/attrs.xml rename to core/menudrawer/src/main/res/values/attrs.xml diff --git a/menudrawer/src/main/res/values/colors.xml b/core/menudrawer/src/main/res/values/colors.xml similarity index 100% rename from menudrawer/src/main/res/values/colors.xml rename to core/menudrawer/src/main/res/values/colors.xml diff --git a/menudrawer/src/main/res/values/ids.xml b/core/menudrawer/src/main/res/values/ids.xml similarity index 100% rename from menudrawer/src/main/res/values/ids.xml rename to core/menudrawer/src/main/res/values/ids.xml diff --git a/menudrawer/src/main/res/values/strings.xml b/core/menudrawer/src/main/res/values/strings.xml similarity index 100% rename from menudrawer/src/main/res/values/strings.xml rename to core/menudrawer/src/main/res/values/strings.xml diff --git a/menudrawer/src/main/res/values/styles.xml b/core/menudrawer/src/main/res/values/styles.xml similarity index 100% rename from menudrawer/src/main/res/values/styles.xml rename to core/menudrawer/src/main/res/values/styles.xml diff --git a/menudrawer/.gitignore b/menudrawer/.gitignore deleted file mode 100644 index e8fa30f8..00000000 --- a/menudrawer/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/build -*.iml diff --git a/settings.gradle b/settings.gradle index 2a68d069..54b750c4 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,6 +3,6 @@ include ':core:domain' include ':subsonic-api' include ':subsonic-api-image-loader' include ':core:cache' -include ':menudrawer' +include ':core:menudrawer' include ':pulltorefresh' include ':ultrasonic' diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 8811f245..76bb61c8 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -50,7 +50,7 @@ android { } dependencies { - implementation project(':menudrawer') + implementation project(':core:menudrawer') implementation project(':pulltorefresh') implementation project(':core:library') implementation project(':core:domain') From d98ff9ffcf6e638a10042258a8bbb91cbbb79d2d Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:29:54 +0200 Subject: [PATCH 13/20] Move pulltorefresh module to core modules. --- {pulltorefresh => core/pulltorefresh}/build.gradle | 0 .../pulltorefresh}/lint-baseline.xml | 0 .../pulltorefresh}/src/main/AndroidManifest.xml | 0 .../pulltorefresh/library/ILoadingLayout.java | 0 .../pulltorefresh/library/IPullToRefresh.java | 0 .../pulltorefresh/library/LoadingLayoutProxy.java | 0 .../pulltorefresh/library/OverscrollHelper.java | 0 .../library/PullToRefreshAdapterViewBase.java | 0 .../pulltorefresh/library/PullToRefreshBase.java | 0 .../library/PullToRefreshExpandableListView.java | 0 .../library/PullToRefreshGridView.java | 0 .../library/PullToRefreshHorizontalScrollView.java | 0 .../library/PullToRefreshListView.java | 0 .../library/PullToRefreshScrollView.java | 0 .../pulltorefresh/library/PullToRefreshWebView.java | 0 .../library/extras/PullToRefreshWebView2.java | 0 .../library/extras/SoundPullEventListener.java | 0 .../library/internal/EmptyViewMethodAccessor.java | 0 .../library/internal/FlipLoadingLayout.java | 0 .../library/internal/IndicatorLayout.java | 0 .../library/internal/LoadingLayout.java | 0 .../library/internal/RotateLoadingLayout.java | 0 .../pulltorefresh/library/internal/Utils.java | 0 .../pulltorefresh/library/internal/ViewCompat.java | 0 .../src/main/res/anim/slide_in_from_bottom.xml | 0 .../src/main/res/anim/slide_in_from_top.xml | 0 .../src/main/res/anim/slide_out_to_bottom.xml | 0 .../src/main/res/anim/slide_out_to_top.xml | 0 .../src/main/res/drawable-hdpi/default_ptr_flip.png | Bin .../main/res/drawable-hdpi/default_ptr_rotate.png | Bin .../src/main/res/drawable-hdpi/indicator_arrow.png | Bin .../src/main/res/drawable-mdpi/default_ptr_flip.png | Bin .../main/res/drawable-mdpi/default_ptr_rotate.png | Bin .../src/main/res/drawable-mdpi/indicator_arrow.png | Bin .../main/res/drawable-xhdpi/default_ptr_flip.png | Bin .../main/res/drawable-xhdpi/default_ptr_rotate.png | Bin .../src/main/res/drawable-xhdpi/indicator_arrow.png | Bin .../src/main/res/drawable/indicator_bg_bottom.xml | 0 .../src/main/res/drawable/indicator_bg_top.xml | 0 .../layout/pull_to_refresh_header_horizontal.xml | 0 .../res/layout/pull_to_refresh_header_vertical.xml | 0 .../src/main/res/values-ar/pull_refresh_strings.xml | 6 ++++++ .../src/main/res/values-cs/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-de/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-es/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-fi/pull_refresh_strings.xml | 0 .../src/main/res/values-fr/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-he/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-it/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-iw/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-ja/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-ko/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-nl/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-pl/pull_refresh_strings.xml | 12 ++++++------ .../main/res/values-pt-rBR/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-pt/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-ro/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-ru/pull_refresh_strings.xml | 12 ++++++------ .../src/main/res/values-zh/pull_refresh_strings.xml | 12 ++++++------ .../pulltorefresh}/src/main/res/values/attrs.xml | 0 .../pulltorefresh}/src/main/res/values/dimens.xml | 0 .../pulltorefresh}/src/main/res/values/ids.xml | 0 .../src/main/res/values/pull_refresh_strings.xml | 0 pulltorefresh/.gitignore | 2 -- .../src/main/res/values-ar/pull_refresh_strings.xml | 6 ------ settings.gradle | 2 +- ultrasonic/build.gradle | 2 +- 67 files changed, 104 insertions(+), 106 deletions(-) rename {pulltorefresh => core/pulltorefresh}/build.gradle (100%) rename {pulltorefresh => core/pulltorefresh}/lint-baseline.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/AndroidManifest.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/ILoadingLayout.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/IPullToRefresh.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/OverscrollHelper.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshBase.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshGridView.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshListView.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshWebView.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/LoadingLayout.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/Utils.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/java/com/handmark/pulltorefresh/library/internal/ViewCompat.java (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/anim/slide_in_from_bottom.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/anim/slide_in_from_top.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/anim/slide_out_to_bottom.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/anim/slide_out_to_top.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-hdpi/default_ptr_flip.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-hdpi/default_ptr_rotate.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-hdpi/indicator_arrow.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-mdpi/default_ptr_flip.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-mdpi/default_ptr_rotate.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-mdpi/indicator_arrow.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-xhdpi/default_ptr_flip.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-xhdpi/default_ptr_rotate.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable-xhdpi/indicator_arrow.png (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable/indicator_bg_bottom.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/drawable/indicator_bg_top.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/layout/pull_to_refresh_header_horizontal.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/layout/pull_to_refresh_header_vertical.xml (100%) create mode 100644 core/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-cs/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-de/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-es/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-fi/pull_refresh_strings.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-fr/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-he/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-it/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-iw/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-ja/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-ko/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-nl/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-pl/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-pt-rBR/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-pt/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-ro/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-ru/pull_refresh_strings.xml (98%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values-zh/pull_refresh_strings.xml (97%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values/attrs.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values/dimens.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values/ids.xml (100%) rename {pulltorefresh => core/pulltorefresh}/src/main/res/values/pull_refresh_strings.xml (100%) delete mode 100644 pulltorefresh/.gitignore delete mode 100644 pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml diff --git a/pulltorefresh/build.gradle b/core/pulltorefresh/build.gradle similarity index 100% rename from pulltorefresh/build.gradle rename to core/pulltorefresh/build.gradle diff --git a/pulltorefresh/lint-baseline.xml b/core/pulltorefresh/lint-baseline.xml similarity index 100% rename from pulltorefresh/lint-baseline.xml rename to core/pulltorefresh/lint-baseline.xml diff --git a/pulltorefresh/src/main/AndroidManifest.xml b/core/pulltorefresh/src/main/AndroidManifest.xml similarity index 100% rename from pulltorefresh/src/main/AndroidManifest.xml rename to core/pulltorefresh/src/main/AndroidManifest.xml diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/ILoadingLayout.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/ILoadingLayout.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/ILoadingLayout.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/ILoadingLayout.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/IPullToRefresh.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/IPullToRefresh.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/IPullToRefresh.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/IPullToRefresh.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/LoadingLayoutProxy.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/OverscrollHelper.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/OverscrollHelper.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/OverscrollHelper.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/OverscrollHelper.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshAdapterViewBase.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshBase.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshBase.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshBase.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshBase.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshExpandableListView.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshGridView.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshGridView.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshGridView.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshGridView.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshHorizontalScrollView.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshListView.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshListView.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshListView.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshListView.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshScrollView.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshWebView.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshWebView.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshWebView.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/PullToRefreshWebView.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/PullToRefreshWebView2.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/extras/SoundPullEventListener.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/EmptyViewMethodAccessor.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/FlipLoadingLayout.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/IndicatorLayout.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/LoadingLayout.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/LoadingLayout.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/LoadingLayout.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/LoadingLayout.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/RotateLoadingLayout.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/Utils.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/Utils.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/Utils.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/Utils.java diff --git a/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/ViewCompat.java b/core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/ViewCompat.java similarity index 100% rename from pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/ViewCompat.java rename to core/pulltorefresh/src/main/java/com/handmark/pulltorefresh/library/internal/ViewCompat.java diff --git a/pulltorefresh/src/main/res/anim/slide_in_from_bottom.xml b/core/pulltorefresh/src/main/res/anim/slide_in_from_bottom.xml similarity index 100% rename from pulltorefresh/src/main/res/anim/slide_in_from_bottom.xml rename to core/pulltorefresh/src/main/res/anim/slide_in_from_bottom.xml diff --git a/pulltorefresh/src/main/res/anim/slide_in_from_top.xml b/core/pulltorefresh/src/main/res/anim/slide_in_from_top.xml similarity index 100% rename from pulltorefresh/src/main/res/anim/slide_in_from_top.xml rename to core/pulltorefresh/src/main/res/anim/slide_in_from_top.xml diff --git a/pulltorefresh/src/main/res/anim/slide_out_to_bottom.xml b/core/pulltorefresh/src/main/res/anim/slide_out_to_bottom.xml similarity index 100% rename from pulltorefresh/src/main/res/anim/slide_out_to_bottom.xml rename to core/pulltorefresh/src/main/res/anim/slide_out_to_bottom.xml diff --git a/pulltorefresh/src/main/res/anim/slide_out_to_top.xml b/core/pulltorefresh/src/main/res/anim/slide_out_to_top.xml similarity index 100% rename from pulltorefresh/src/main/res/anim/slide_out_to_top.xml rename to core/pulltorefresh/src/main/res/anim/slide_out_to_top.xml diff --git a/pulltorefresh/src/main/res/drawable-hdpi/default_ptr_flip.png b/core/pulltorefresh/src/main/res/drawable-hdpi/default_ptr_flip.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-hdpi/default_ptr_flip.png rename to core/pulltorefresh/src/main/res/drawable-hdpi/default_ptr_flip.png diff --git a/pulltorefresh/src/main/res/drawable-hdpi/default_ptr_rotate.png b/core/pulltorefresh/src/main/res/drawable-hdpi/default_ptr_rotate.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-hdpi/default_ptr_rotate.png rename to core/pulltorefresh/src/main/res/drawable-hdpi/default_ptr_rotate.png diff --git a/pulltorefresh/src/main/res/drawable-hdpi/indicator_arrow.png b/core/pulltorefresh/src/main/res/drawable-hdpi/indicator_arrow.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-hdpi/indicator_arrow.png rename to core/pulltorefresh/src/main/res/drawable-hdpi/indicator_arrow.png diff --git a/pulltorefresh/src/main/res/drawable-mdpi/default_ptr_flip.png b/core/pulltorefresh/src/main/res/drawable-mdpi/default_ptr_flip.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-mdpi/default_ptr_flip.png rename to core/pulltorefresh/src/main/res/drawable-mdpi/default_ptr_flip.png diff --git a/pulltorefresh/src/main/res/drawable-mdpi/default_ptr_rotate.png b/core/pulltorefresh/src/main/res/drawable-mdpi/default_ptr_rotate.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-mdpi/default_ptr_rotate.png rename to core/pulltorefresh/src/main/res/drawable-mdpi/default_ptr_rotate.png diff --git a/pulltorefresh/src/main/res/drawable-mdpi/indicator_arrow.png b/core/pulltorefresh/src/main/res/drawable-mdpi/indicator_arrow.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-mdpi/indicator_arrow.png rename to core/pulltorefresh/src/main/res/drawable-mdpi/indicator_arrow.png diff --git a/pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_flip.png b/core/pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_flip.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_flip.png rename to core/pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_flip.png diff --git a/pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_rotate.png b/core/pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_rotate.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_rotate.png rename to core/pulltorefresh/src/main/res/drawable-xhdpi/default_ptr_rotate.png diff --git a/pulltorefresh/src/main/res/drawable-xhdpi/indicator_arrow.png b/core/pulltorefresh/src/main/res/drawable-xhdpi/indicator_arrow.png similarity index 100% rename from pulltorefresh/src/main/res/drawable-xhdpi/indicator_arrow.png rename to core/pulltorefresh/src/main/res/drawable-xhdpi/indicator_arrow.png diff --git a/pulltorefresh/src/main/res/drawable/indicator_bg_bottom.xml b/core/pulltorefresh/src/main/res/drawable/indicator_bg_bottom.xml similarity index 100% rename from pulltorefresh/src/main/res/drawable/indicator_bg_bottom.xml rename to core/pulltorefresh/src/main/res/drawable/indicator_bg_bottom.xml diff --git a/pulltorefresh/src/main/res/drawable/indicator_bg_top.xml b/core/pulltorefresh/src/main/res/drawable/indicator_bg_top.xml similarity index 100% rename from pulltorefresh/src/main/res/drawable/indicator_bg_top.xml rename to core/pulltorefresh/src/main/res/drawable/indicator_bg_top.xml diff --git a/pulltorefresh/src/main/res/layout/pull_to_refresh_header_horizontal.xml b/core/pulltorefresh/src/main/res/layout/pull_to_refresh_header_horizontal.xml similarity index 100% rename from pulltorefresh/src/main/res/layout/pull_to_refresh_header_horizontal.xml rename to core/pulltorefresh/src/main/res/layout/pull_to_refresh_header_horizontal.xml diff --git a/pulltorefresh/src/main/res/layout/pull_to_refresh_header_vertical.xml b/core/pulltorefresh/src/main/res/layout/pull_to_refresh_header_vertical.xml similarity index 100% rename from pulltorefresh/src/main/res/layout/pull_to_refresh_header_vertical.xml rename to core/pulltorefresh/src/main/res/layout/pull_to_refresh_header_vertical.xml diff --git a/core/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml new file mode 100644 index 00000000..25d5392d --- /dev/null +++ b/core/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml @@ -0,0 +1,6 @@ + + + اسحب للتحديث… + اترك للتحديث… + تحميل… + diff --git a/pulltorefresh/src/main/res/values-cs/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-cs/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-cs/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-cs/pull_refresh_strings.xml index a8f0acea..c878da0c 100755 --- a/pulltorefresh/src/main/res/values-cs/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-cs/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Tažením aktualizujete… - Uvolněním aktualizujete… - Načítání… - + + + Tažením aktualizujete… + Uvolněním aktualizujete… + Načítání… + diff --git a/pulltorefresh/src/main/res/values-de/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-de/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-de/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-de/pull_refresh_strings.xml index 3f773deb..901291bf 100755 --- a/pulltorefresh/src/main/res/values-de/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-de/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Ziehen zum Aktualisieren… - Loslassen zum Aktualisieren… - Laden… - + + + Ziehen zum Aktualisieren… + Loslassen zum Aktualisieren… + Laden… + diff --git a/pulltorefresh/src/main/res/values-es/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-es/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-es/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-es/pull_refresh_strings.xml index 6f85c100..5e9d2803 100755 --- a/pulltorefresh/src/main/res/values-es/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-es/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Tirar para actualizar… - Soltar para actualizar… - Cargando… - + + + Tirar para actualizar… + Soltar para actualizar… + Cargando… + diff --git a/pulltorefresh/src/main/res/values-fi/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-fi/pull_refresh_strings.xml similarity index 100% rename from pulltorefresh/src/main/res/values-fi/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-fi/pull_refresh_strings.xml diff --git a/pulltorefresh/src/main/res/values-fr/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-fr/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-fr/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-fr/pull_refresh_strings.xml index e59f07ec..fb53ef8c 100755 --- a/pulltorefresh/src/main/res/values-fr/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-fr/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Tirez pour rafraîchir… - Relâcher pour rafraîchir… - Chargement… - + + + Tirez pour rafraîchir… + Relâcher pour rafraîchir… + Chargement… + diff --git a/pulltorefresh/src/main/res/values-he/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-he/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-he/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-he/pull_refresh_strings.xml index f22f7853..beedc1f6 100644 --- a/pulltorefresh/src/main/res/values-he/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-he/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - משוך לרענון… - שחרר לרענון… - טוען… - + + + משוך לרענון… + שחרר לרענון… + טוען… + diff --git a/pulltorefresh/src/main/res/values-it/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-it/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-it/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-it/pull_refresh_strings.xml index 9eaa7495..415fb9ed 100755 --- a/pulltorefresh/src/main/res/values-it/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-it/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Tira per aggiornare… - Rilascia per aggionare… - Caricamento… - + + + Tira per aggiornare… + Rilascia per aggionare… + Caricamento… + diff --git a/pulltorefresh/src/main/res/values-iw/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-iw/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-iw/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-iw/pull_refresh_strings.xml index f22f7853..beedc1f6 100644 --- a/pulltorefresh/src/main/res/values-iw/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-iw/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - משוך לרענון… - שחרר לרענון… - טוען… - + + + משוך לרענון… + שחרר לרענון… + טוען… + diff --git a/pulltorefresh/src/main/res/values-ja/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-ja/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-ja/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-ja/pull_refresh_strings.xml index 12415443..d24842c9 100644 --- a/pulltorefresh/src/main/res/values-ja/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-ja/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - 画面を引っ張って… - 指を離して更新… - 読み込み中… - + + + 画面を引っ張って… + 指を離して更新… + 読み込み中… + diff --git a/pulltorefresh/src/main/res/values-ko/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-ko/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-ko/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-ko/pull_refresh_strings.xml index 15d86d4d..53edd592 100755 --- a/pulltorefresh/src/main/res/values-ko/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-ko/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - 당겨서 새로 고침… - 놓아서 새로 고침… - 로드 중… - + + + 당겨서 새로 고침… + 놓아서 새로 고침… + 로드 중… + diff --git a/pulltorefresh/src/main/res/values-nl/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-nl/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-nl/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-nl/pull_refresh_strings.xml index 0701c9b4..4c063ed9 100755 --- a/pulltorefresh/src/main/res/values-nl/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-nl/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Sleep om te vernieuwen… - Loslaten om te vernieuwen… - Laden… - + + + Sleep om te vernieuwen… + Loslaten om te vernieuwen… + Laden… + diff --git a/pulltorefresh/src/main/res/values-pl/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-pl/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-pl/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-pl/pull_refresh_strings.xml index 7d474c18..007255a2 100755 --- a/pulltorefresh/src/main/res/values-pl/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-pl/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Pociągnij, aby odświeżyć… - Puść, aby odświeżyć… - Wczytywanie… - + + + Pociągnij, aby odświeżyć… + Puść, aby odświeżyć… + Wczytywanie… + diff --git a/pulltorefresh/src/main/res/values-pt-rBR/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-pt-rBR/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-pt-rBR/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-pt-rBR/pull_refresh_strings.xml index 1a4359a8..0ec1ef7f 100755 --- a/pulltorefresh/src/main/res/values-pt-rBR/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-pt-rBR/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Puxe para atualizar… - Libere para atualizar… - Carregando… - + + + Puxe para atualizar… + Libere para atualizar… + Carregando… + diff --git a/pulltorefresh/src/main/res/values-pt/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-pt/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-pt/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-pt/pull_refresh_strings.xml index 71eea31a..d08bc63b 100755 --- a/pulltorefresh/src/main/res/values-pt/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-pt/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Puxe para atualizar… - Liberação para atualizar… - A carregar… - + + + Puxe para atualizar… + Liberação para atualizar… + A carregar… + diff --git a/pulltorefresh/src/main/res/values-ro/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-ro/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-ro/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-ro/pull_refresh_strings.xml index c89e80a9..87ddc941 100644 --- a/pulltorefresh/src/main/res/values-ro/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-ro/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Trage pentru a reîmprospăta… - Eliberează pentru a reîmprospăta… - Încărcare… - + + + Trage pentru a reîmprospăta… + Eliberează pentru a reîmprospăta… + Încărcare… + diff --git a/pulltorefresh/src/main/res/values-ru/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-ru/pull_refresh_strings.xml similarity index 98% rename from pulltorefresh/src/main/res/values-ru/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-ru/pull_refresh_strings.xml index ca364ff8..71ddcda7 100755 --- a/pulltorefresh/src/main/res/values-ru/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-ru/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - Потяните для обновления… - Отпустите для обновления… - Загрузка… - + + + Потяните для обновления… + Отпустите для обновления… + Загрузка… + diff --git a/pulltorefresh/src/main/res/values-zh/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values-zh/pull_refresh_strings.xml similarity index 97% rename from pulltorefresh/src/main/res/values-zh/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values-zh/pull_refresh_strings.xml index 397376be..08766e0b 100755 --- a/pulltorefresh/src/main/res/values-zh/pull_refresh_strings.xml +++ b/core/pulltorefresh/src/main/res/values-zh/pull_refresh_strings.xml @@ -1,6 +1,6 @@ - - - 下拉刷新… - 放开以刷新… - 正在载入… - + + + 下拉刷新… + 放开以刷新… + 正在载入… + diff --git a/pulltorefresh/src/main/res/values/attrs.xml b/core/pulltorefresh/src/main/res/values/attrs.xml similarity index 100% rename from pulltorefresh/src/main/res/values/attrs.xml rename to core/pulltorefresh/src/main/res/values/attrs.xml diff --git a/pulltorefresh/src/main/res/values/dimens.xml b/core/pulltorefresh/src/main/res/values/dimens.xml similarity index 100% rename from pulltorefresh/src/main/res/values/dimens.xml rename to core/pulltorefresh/src/main/res/values/dimens.xml diff --git a/pulltorefresh/src/main/res/values/ids.xml b/core/pulltorefresh/src/main/res/values/ids.xml similarity index 100% rename from pulltorefresh/src/main/res/values/ids.xml rename to core/pulltorefresh/src/main/res/values/ids.xml diff --git a/pulltorefresh/src/main/res/values/pull_refresh_strings.xml b/core/pulltorefresh/src/main/res/values/pull_refresh_strings.xml similarity index 100% rename from pulltorefresh/src/main/res/values/pull_refresh_strings.xml rename to core/pulltorefresh/src/main/res/values/pull_refresh_strings.xml diff --git a/pulltorefresh/.gitignore b/pulltorefresh/.gitignore deleted file mode 100644 index e8fa30f8..00000000 --- a/pulltorefresh/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/build -*.iml diff --git a/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml b/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml deleted file mode 100644 index 5b0b571c..00000000 --- a/pulltorefresh/src/main/res/values-ar/pull_refresh_strings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - اسحب للتحديث… - اترك للتحديث… - تحميل… - diff --git a/settings.gradle b/settings.gradle index 54b750c4..920ad785 100644 --- a/settings.gradle +++ b/settings.gradle @@ -4,5 +4,5 @@ include ':subsonic-api' include ':subsonic-api-image-loader' include ':core:cache' include ':core:menudrawer' -include ':pulltorefresh' +include ':core:pulltorefresh' include ':ultrasonic' diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 76bb61c8..e9bec200 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -51,7 +51,7 @@ android { dependencies { implementation project(':core:menudrawer') - implementation project(':pulltorefresh') + implementation project(':core:pulltorefresh') implementation project(':core:library') implementation project(':core:domain') implementation project(':subsonic-api') From fb8d5382dc71538ec062a92d341b9f6ca7edd032 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:32:02 +0200 Subject: [PATCH 14/20] Move subsonic-api-image-loader module to core modules. --- .../subsonic-api-image-loader}/build.gradle | 0 .../loader/image/AvatarRequestHandlerTest.kt | 0 .../subsonic/loader/image/CommonFunctions.kt | 0 .../loader/image/CoverArtRequestHandlerTest.kt | 0 .../subsonic/loader/image/RequestCreatorTest.kt | 0 .../integrationTest/resources/Big_Buck_Bunny.jpeg | Bin .../src/main/AndroidManifest.xml | 0 .../subsonic/loader/image/AvatarRequestHandler.kt | 0 .../subsonic/loader/image/CoverArtRequestHandler.kt | 0 .../subsonic/loader/image/RequestCreator.kt | 0 .../subsonic/loader/image/SubsonicImageLoader.kt | 0 settings.gradle | 2 +- ultrasonic/build.gradle | 2 +- 13 files changed, 2 insertions(+), 2 deletions(-) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/build.gradle (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CommonFunctions.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreatorTest.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/integrationTest/resources/Big_Buck_Bunny.jpeg (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/main/AndroidManifest.xml (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreator.kt (100%) rename {subsonic-api-image-loader => core/subsonic-api-image-loader}/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/SubsonicImageLoader.kt (100%) diff --git a/subsonic-api-image-loader/build.gradle b/core/subsonic-api-image-loader/build.gradle similarity index 100% rename from subsonic-api-image-loader/build.gradle rename to core/subsonic-api-image-loader/build.gradle diff --git a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt b/core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt similarity index 100% rename from subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt rename to core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandlerTest.kt diff --git a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CommonFunctions.kt b/core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CommonFunctions.kt similarity index 100% rename from subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CommonFunctions.kt rename to core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CommonFunctions.kt diff --git a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt b/core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt similarity index 100% rename from subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt rename to core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandlerTest.kt diff --git a/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreatorTest.kt b/core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreatorTest.kt similarity index 100% rename from subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreatorTest.kt rename to core/subsonic-api-image-loader/src/integrationTest/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreatorTest.kt diff --git a/subsonic-api-image-loader/src/integrationTest/resources/Big_Buck_Bunny.jpeg b/core/subsonic-api-image-loader/src/integrationTest/resources/Big_Buck_Bunny.jpeg similarity index 100% rename from subsonic-api-image-loader/src/integrationTest/resources/Big_Buck_Bunny.jpeg rename to core/subsonic-api-image-loader/src/integrationTest/resources/Big_Buck_Bunny.jpeg diff --git a/subsonic-api-image-loader/src/main/AndroidManifest.xml b/core/subsonic-api-image-loader/src/main/AndroidManifest.xml similarity index 100% rename from subsonic-api-image-loader/src/main/AndroidManifest.xml rename to core/subsonic-api-image-loader/src/main/AndroidManifest.xml diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt b/core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt similarity index 100% rename from subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt rename to core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/AvatarRequestHandler.kt diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt b/core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt similarity index 100% rename from subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt rename to core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/CoverArtRequestHandler.kt diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreator.kt b/core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreator.kt similarity index 100% rename from subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreator.kt rename to core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/RequestCreator.kt diff --git a/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/SubsonicImageLoader.kt b/core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/SubsonicImageLoader.kt similarity index 100% rename from subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/SubsonicImageLoader.kt rename to core/subsonic-api-image-loader/src/main/kotlin/org/moire/ultrasonic/subsonic/loader/image/SubsonicImageLoader.kt diff --git a/settings.gradle b/settings.gradle index 920ad785..5ddec4e9 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,7 +1,7 @@ include ':core:library' include ':core:domain' include ':subsonic-api' -include ':subsonic-api-image-loader' +include ':core:subsonic-api-image-loader' include ':core:cache' include ':core:menudrawer' include ':core:pulltorefresh' diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index e9bec200..edee1845 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -55,7 +55,7 @@ dependencies { implementation project(':core:library') implementation project(':core:domain') implementation project(':subsonic-api') - implementation project(':subsonic-api-image-loader') + implementation project(':core:subsonic-api-image-loader') implementation project(':core:cache') implementation androidSupport.support From 44fa1b1bcfa8a5e0aefdf243b54913c703088e25 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:33:36 +0200 Subject: [PATCH 15/20] Move subsonic-api module to core modules. --- core/subsonic-api-image-loader/build.gradle | 2 +- {subsonic-api => core/subsonic-api}/build.gradle | 0 .../ultrasonic/api/subsonic/CommonFunctions.kt | 0 .../ultrasonic/api/subsonic/GetStreamUrlTest.kt | 0 .../api/subsonic/SubsonicAPIClientTest.kt | 0 .../api/subsonic/SubsonicApiAddChatMessageTest.kt | 0 .../api/subsonic/SubsonicApiCreateBookmarkTest.kt | 0 .../api/subsonic/SubsonicApiCreatePlaylistTest.kt | 0 .../api/subsonic/SubsonicApiCreateShareTest.kt | 0 .../api/subsonic/SubsonicApiDeleteBookmarkTest.kt | 0 .../api/subsonic/SubsonicApiDeletePlaylistTest.kt | 0 .../api/subsonic/SubsonicApiDeleteShareTest.kt | 0 .../api/subsonic/SubsonicApiErrorsTest.kt | 0 .../api/subsonic/SubsonicApiGetAlbumList2Test.kt | 0 .../subsonic/SubsonicApiGetAlbumListRequestTest.kt | 0 .../api/subsonic/SubsonicApiGetAlbumTest.kt | 0 .../api/subsonic/SubsonicApiGetArtistTest.kt | 0 .../api/subsonic/SubsonicApiGetArtistsTest.kt | 0 .../api/subsonic/SubsonicApiGetAvatarTest.kt | 0 .../api/subsonic/SubsonicApiGetBookmarksTest.kt | 0 .../api/subsonic/SubsonicApiGetChatMessagesTest.kt | 0 .../api/subsonic/SubsonicApiGetCoverArtTest.kt | 0 .../api/subsonic/SubsonicApiGetGenresTest.kt | 0 .../api/subsonic/SubsonicApiGetIndexesTest.kt | 0 .../api/subsonic/SubsonicApiGetLicenseTest.kt | 0 .../api/subsonic/SubsonicApiGetLyricsTest.kt | 0 .../subsonic/SubsonicApiGetMusicDirectoryTest.kt | 0 .../api/subsonic/SubsonicApiGetMusicFoldersTest.kt | 0 .../api/subsonic/SubsonicApiGetPlaylistTest.kt | 0 .../api/subsonic/SubsonicApiGetPlaylistsTest.kt | 0 .../api/subsonic/SubsonicApiGetPodcastsTest.kt | 0 .../api/subsonic/SubsonicApiGetRandomSongsTest.kt | 0 .../api/subsonic/SubsonicApiGetSharesTest.kt | 0 .../api/subsonic/SubsonicApiGetSongsByGenreTest.kt | 0 .../api/subsonic/SubsonicApiGetStarred2Test.kt | 0 .../api/subsonic/SubsonicApiGetStarredTest.kt | 0 .../api/subsonic/SubsonicApiGetUserTest.kt | 0 .../api/subsonic/SubsonicApiGetVideosListTest.kt | 0 .../api/subsonic/SubsonicApiJukeboxControlTest.kt | 0 .../api/subsonic/SubsonicApiPasswordTest.kt | 0 .../api/subsonic/SubsonicApiPingRequestTest.kt | 0 .../ultrasonic/api/subsonic/SubsonicApiSSLTest.kt | 0 .../api/subsonic/SubsonicApiScrobbleTest.kt | 0 .../api/subsonic/SubsonicApiSearchTest.kt | 0 .../api/subsonic/SubsonicApiSearchThreeTest.kt | 0 .../api/subsonic/SubsonicApiSearchTwoTest.kt | 0 .../ultrasonic/api/subsonic/SubsonicApiStarTest.kt | 0 .../api/subsonic/SubsonicApiStreamTest.kt | 0 .../api/subsonic/SubsonicApiUnstarTest.kt | 0 .../api/subsonic/SubsonicApiUpdatePlaylistTest.kt | 0 .../api/subsonic/SubsonicApiUpdateShareTest.kt | 0 .../subsonic/interceptors/BaseInterceptorTest.kt | 0 .../interceptors/PasswordHexInterceptorTest.kt | 0 .../interceptors/PasswordMD5InterceptorTest.kt | 0 .../interceptors/RangeHeaderInterceptorTest.kt | 0 .../subsonic/interceptors/VersionInterceptorTest.kt | 0 .../api/subsonic/rules/MockWebServerRule.kt | 0 .../resources/error_first_generic_error.json | 0 .../integrationTest/resources/generic_error.json | 0 .../resources/get_album_list_2_ok.json | 0 .../resources/get_album_list_ok.json | 0 .../src/integrationTest/resources/get_album_ok.json | 0 .../integrationTest/resources/get_artist_ok.json | 0 .../integrationTest/resources/get_artists_ok.json | 0 .../integrationTest/resources/get_bookmarks_ok.json | 0 .../resources/get_chat_messages_ok.json | 0 .../integrationTest/resources/get_genres_ok.json | 0 .../integrationTest/resources/get_indexes_ok.json | 0 .../integrationTest/resources/get_lyrics_ok.json | 0 .../resources/get_music_directory_ok.json | 0 .../resources/get_music_folders_ok.json | 0 .../integrationTest/resources/get_playlist_ok.json | 0 .../integrationTest/resources/get_playlists_ok.json | 0 .../integrationTest/resources/get_podcasts_ok.json | 0 .../resources/get_random_songs_ok.json | 0 .../integrationTest/resources/get_shares_ok.json | 0 .../resources/get_songs_by_genre_ok.json | 0 .../integrationTest/resources/get_starred_2_ok.json | 0 .../integrationTest/resources/get_starred_ok.json | 0 .../src/integrationTest/resources/get_user_ok.json | 0 .../integrationTest/resources/get_videos_ok.json | 0 .../incompatible_client_protocol_version_error.json | 0 .../incompatible_server_protocol_version_error.json | 0 .../resources/jukebox_control_playlist_ok.json | 0 .../resources/jukebox_control_status_ok.json | 0 .../src/integrationTest/resources/license_ok.json | 0 .../resources/non_subsonic_response.json | 0 .../src/integrationTest/resources/ping_ok.json | 0 .../integrationTest/resources/ping_ok_utf8_bom.json | 0 .../request_data_not_found_error_response.json | 0 .../requested_data_was_not_found_error.json | 0 .../resources/required_param_missing_error.json | 0 .../resources/reversed_tokens_generic_error.json | 0 .../src/integrationTest/resources/search2_ok.json | 0 .../src/integrationTest/resources/search3_ok.json | 0 .../src/integrationTest/resources/search_ok.json | 0 .../src/integrationTest/resources/self-signed.p12 | Bin .../src/integrationTest/resources/self-signed.pem | 0 .../token_auth_not_supported_for_ldap_error.json | 0 .../resources/trial_period_is_over_error.json | 0 .../integrationTest/resources/unexpected_error.json | 0 .../user_not_authorized_for_operation_error.json | 0 .../with_additional_json_object_generic_error.json | 0 .../resources/without_message_generic_error.json | 0 .../resources/wrong_username_or_password_error.json | 0 .../api/subsonic/ApiNotSupportedException.kt | 0 .../api/subsonic/ApiVersionCheckWrapper.kt | 0 .../ultrasonic/api/subsonic/SubsonicAPIClient.kt | 0 .../api/subsonic/SubsonicAPIDefinition.kt | 0 .../ultrasonic/api/subsonic/SubsonicAPIVersions.kt | 0 .../api/subsonic/SubsonicClientConfiguration.kt | 0 .../moire/ultrasonic/api/subsonic/SubsonicError.kt | 0 .../ultrasonic/api/subsonic/di/SubsonicApiModule.kt | 0 .../api/subsonic/interceptors/PasswordExt.kt | 0 .../subsonic/interceptors/PasswordHexInterceptor.kt | 0 .../subsonic/interceptors/PasswordMD5Interceptor.kt | 0 .../interceptors/ProxyPasswordInterceptor.kt | 0 .../subsonic/interceptors/RangeHeaderInterceptor.kt | 0 .../api/subsonic/interceptors/VersionInterceptor.kt | 0 .../moire/ultrasonic/api/subsonic/models/Album.kt | 0 .../ultrasonic/api/subsonic/models/AlbumListType.kt | 0 .../moire/ultrasonic/api/subsonic/models/Artist.kt | 0 .../ultrasonic/api/subsonic/models/Bookmark.kt | 0 .../ultrasonic/api/subsonic/models/ChatMessage.kt | 0 .../moire/ultrasonic/api/subsonic/models/Genre.kt | 0 .../moire/ultrasonic/api/subsonic/models/Index.kt | 0 .../moire/ultrasonic/api/subsonic/models/Indexes.kt | 0 .../ultrasonic/api/subsonic/models/JukeboxAction.kt | 0 .../ultrasonic/api/subsonic/models/JukeboxStatus.kt | 0 .../moire/ultrasonic/api/subsonic/models/License.kt | 0 .../moire/ultrasonic/api/subsonic/models/Lyrics.kt | 0 .../api/subsonic/models/MusicDirectory.kt | 0 .../api/subsonic/models/MusicDirectoryChild.kt | 0 .../ultrasonic/api/subsonic/models/MusicFolder.kt | 0 .../ultrasonic/api/subsonic/models/Playlist.kt | 0 .../api/subsonic/models/PodcastChannel.kt | 0 .../ultrasonic/api/subsonic/models/SearchResult.kt | 0 .../api/subsonic/models/SearchThreeResult.kt | 0 .../api/subsonic/models/SearchTwoResult.kt | 0 .../moire/ultrasonic/api/subsonic/models/Share.kt | 0 .../moire/ultrasonic/api/subsonic/models/User.kt | 0 .../api/subsonic/response/BookmarksResponse.kt | 0 .../api/subsonic/response/ChatMessagesResponse.kt | 0 .../api/subsonic/response/GenresResponse.kt | 0 .../api/subsonic/response/GetAlbumList2Response.kt | 0 .../api/subsonic/response/GetAlbumListResponse.kt | 0 .../api/subsonic/response/GetAlbumResponse.kt | 0 .../api/subsonic/response/GetArtistResponse.kt | 0 .../api/subsonic/response/GetArtistsResponse.kt | 0 .../api/subsonic/response/GetIndexesResponse.kt | 0 .../api/subsonic/response/GetLyricsResponse.kt | 0 .../subsonic/response/GetMusicDirectoryResponse.kt | 0 .../api/subsonic/response/GetPlaylistResponse.kt | 0 .../api/subsonic/response/GetPlaylistsResponse.kt | 0 .../api/subsonic/response/GetPodcastsResponse.kt | 0 .../api/subsonic/response/GetRandomSongsResponse.kt | 0 .../subsonic/response/GetSongsByGenreResponse.kt | 0 .../api/subsonic/response/GetStarredResponse.kt | 0 .../api/subsonic/response/GetStarredTwoResponse.kt | 0 .../api/subsonic/response/GetUserResponse.kt | 0 .../api/subsonic/response/JukeboxResponse.kt | 0 .../api/subsonic/response/LicenseResponse.kt | 0 .../api/subsonic/response/MusicFoldersResponse.kt | 0 .../api/subsonic/response/SearchResponse.kt | 0 .../api/subsonic/response/SearchThreeResponse.kt | 0 .../api/subsonic/response/SearchTwoResponse.kt | 0 .../api/subsonic/response/SharesResponse.kt | 0 .../api/subsonic/response/StreamResponse.kt | 0 .../api/subsonic/response/SubsonicResponse.kt | 0 .../api/subsonic/response/VideosResponse.kt | 0 .../api/subsonic/ApiVersionCheckWrapperTest.kt | 0 .../subsonic/SubsonicAPIVersionsDeserializerTest.kt | 0 .../api/subsonic/SubsonicAPIVersionsTest.kt | 0 .../interceptors/ProxyPasswordInterceptorTest.kt | 0 .../api/subsonic/models/AlbumListTypeTest.kt | 0 .../ultrasonic/api/subsonic/models/StatusTest.kt | 0 .../api/subsonic/response/StreamResponseTest.kt | 0 settings.gradle | 2 +- subsonic-api/.gitignore | 2 -- ultrasonic/build.gradle | 2 +- 180 files changed, 3 insertions(+), 5 deletions(-) rename {subsonic-api => core/subsonic-api}/build.gradle (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/GetStreamUrlTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiAddChatMessageTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateBookmarkTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreatePlaylistTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteBookmarkTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeletePlaylistTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteShareTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAvatarTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetCoverArtTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPasswordTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSSLTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiScrobbleTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStreamTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdatePlaylistTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdateShareTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/BaseInterceptorTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptorTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5InterceptorTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptorTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptorTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/rules/MockWebServerRule.kt (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/error_first_generic_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/generic_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_album_list_2_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_album_list_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_album_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_artist_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_artists_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_bookmarks_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_chat_messages_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_genres_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_indexes_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_lyrics_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_music_directory_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_music_folders_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_playlist_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_playlists_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_podcasts_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_random_songs_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_shares_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_songs_by_genre_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_starred_2_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_starred_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_user_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/get_videos_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/incompatible_client_protocol_version_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/incompatible_server_protocol_version_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/jukebox_control_playlist_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/jukebox_control_status_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/license_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/non_subsonic_response.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/ping_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/ping_ok_utf8_bom.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/request_data_not_found_error_response.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/requested_data_was_not_found_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/required_param_missing_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/reversed_tokens_generic_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/search2_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/search3_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/search_ok.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/self-signed.p12 (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/self-signed.pem (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/token_auth_not_supported_for_ldap_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/trial_period_is_over_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/unexpected_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/user_not_authorized_for_operation_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/with_additional_json_object_generic_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/without_message_generic_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/integrationTest/resources/wrong_username_or_password_error.json (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiNotSupportedException.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapper.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIDefinition.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersions.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicClientConfiguration.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicError.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/di/SubsonicApiModule.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordExt.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5Interceptor.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptor.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptor.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Album.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListType.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Bookmark.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/ChatMessage.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Genre.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxAction.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxStatus.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/License.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Lyrics.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectory.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectoryChild.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicFolder.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Playlist.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/PodcastChannel.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchResult.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchThreeResult.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchTwoResult.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Share.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/User.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/BookmarksResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/ChatMessagesResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GenresResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumList2Response.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumListResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistsResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetLyricsResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetMusicDirectoryResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistsResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPodcastsResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetRandomSongsResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetSongsByGenreResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredTwoResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetUserResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/JukeboxResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/LicenseResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/MusicFoldersResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchThreeResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchTwoResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SharesResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SubsonicResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/VideosResponse.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapperTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsDeserializerTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptorTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListTypeTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/StatusTest.kt (100%) rename {subsonic-api => core/subsonic-api}/src/test/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponseTest.kt (100%) delete mode 100644 subsonic-api/.gitignore diff --git a/core/subsonic-api-image-loader/build.gradle b/core/subsonic-api-image-loader/build.gradle index 3357408d..20063309 100644 --- a/core/subsonic-api-image-loader/build.gradle +++ b/core/subsonic-api-image-loader/build.gradle @@ -8,7 +8,7 @@ android { dependencies { api project(':core:domain') - api project(':subsonic-api') + api project(':core:subsonic-api') api(other.picasso) { exclude group: "com.android.support" } diff --git a/subsonic-api/build.gradle b/core/subsonic-api/build.gradle similarity index 100% rename from subsonic-api/build.gradle rename to core/subsonic-api/build.gradle diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/CommonFunctions.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/GetStreamUrlTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/GetStreamUrlTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/GetStreamUrlTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/GetStreamUrlTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClientTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiAddChatMessageTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiAddChatMessageTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiAddChatMessageTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiAddChatMessageTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateBookmarkTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateBookmarkTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateBookmarkTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateBookmarkTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreatePlaylistTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreatePlaylistTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreatePlaylistTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreatePlaylistTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiCreateShareTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteBookmarkTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteBookmarkTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteBookmarkTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteBookmarkTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeletePlaylistTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeletePlaylistTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeletePlaylistTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeletePlaylistTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteShareTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteShareTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteShareTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiDeleteShareTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiErrorsTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumList2Test.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumListRequestTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAlbumTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetArtistsTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAvatarTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAvatarTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAvatarTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetAvatarTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetBookmarksTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetChatMessagesTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetCoverArtTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetCoverArtTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetCoverArtTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetCoverArtTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetGenresTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetIndexesTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLicenseTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetLyricsTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicDirectoryTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetMusicFoldersTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPlaylistsTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetPodcastsTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetRandomSongsTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSharesTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetSongsByGenreTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarred2Test.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetStarredTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetUserTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiGetVideosListTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiJukeboxControlTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPasswordTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPasswordTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPasswordTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPasswordTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiPingRequestTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSSLTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSSLTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSSLTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSSLTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiScrobbleTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiScrobbleTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiScrobbleTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiScrobbleTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchThreeTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiSearchTwoTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStarTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStreamTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStreamTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStreamTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiStreamTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUnstarTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdatePlaylistTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdatePlaylistTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdatePlaylistTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdatePlaylistTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdateShareTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdateShareTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdateShareTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicApiUpdateShareTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/BaseInterceptorTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/BaseInterceptorTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/BaseInterceptorTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/BaseInterceptorTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptorTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptorTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptorTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptorTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5InterceptorTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5InterceptorTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5InterceptorTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5InterceptorTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptorTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptorTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptorTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptorTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptorTest.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptorTest.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptorTest.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptorTest.kt diff --git a/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/rules/MockWebServerRule.kt b/core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/rules/MockWebServerRule.kt similarity index 100% rename from subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/rules/MockWebServerRule.kt rename to core/subsonic-api/src/integrationTest/kotlin/org/moire/ultrasonic/api/subsonic/rules/MockWebServerRule.kt diff --git a/subsonic-api/src/integrationTest/resources/error_first_generic_error.json b/core/subsonic-api/src/integrationTest/resources/error_first_generic_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/error_first_generic_error.json rename to core/subsonic-api/src/integrationTest/resources/error_first_generic_error.json diff --git a/subsonic-api/src/integrationTest/resources/generic_error.json b/core/subsonic-api/src/integrationTest/resources/generic_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/generic_error.json rename to core/subsonic-api/src/integrationTest/resources/generic_error.json diff --git a/subsonic-api/src/integrationTest/resources/get_album_list_2_ok.json b/core/subsonic-api/src/integrationTest/resources/get_album_list_2_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_album_list_2_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_album_list_2_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_album_list_ok.json b/core/subsonic-api/src/integrationTest/resources/get_album_list_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_album_list_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_album_list_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_album_ok.json b/core/subsonic-api/src/integrationTest/resources/get_album_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_album_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_album_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_artist_ok.json b/core/subsonic-api/src/integrationTest/resources/get_artist_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_artist_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_artist_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_artists_ok.json b/core/subsonic-api/src/integrationTest/resources/get_artists_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_artists_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_artists_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_bookmarks_ok.json b/core/subsonic-api/src/integrationTest/resources/get_bookmarks_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_bookmarks_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_bookmarks_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_chat_messages_ok.json b/core/subsonic-api/src/integrationTest/resources/get_chat_messages_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_chat_messages_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_chat_messages_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_genres_ok.json b/core/subsonic-api/src/integrationTest/resources/get_genres_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_genres_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_genres_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_indexes_ok.json b/core/subsonic-api/src/integrationTest/resources/get_indexes_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_indexes_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_indexes_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_lyrics_ok.json b/core/subsonic-api/src/integrationTest/resources/get_lyrics_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_lyrics_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_lyrics_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_music_directory_ok.json b/core/subsonic-api/src/integrationTest/resources/get_music_directory_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_music_directory_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_music_directory_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_music_folders_ok.json b/core/subsonic-api/src/integrationTest/resources/get_music_folders_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_music_folders_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_music_folders_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_playlist_ok.json b/core/subsonic-api/src/integrationTest/resources/get_playlist_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_playlist_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_playlist_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_playlists_ok.json b/core/subsonic-api/src/integrationTest/resources/get_playlists_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_playlists_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_playlists_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_podcasts_ok.json b/core/subsonic-api/src/integrationTest/resources/get_podcasts_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_podcasts_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_podcasts_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_random_songs_ok.json b/core/subsonic-api/src/integrationTest/resources/get_random_songs_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_random_songs_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_random_songs_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_shares_ok.json b/core/subsonic-api/src/integrationTest/resources/get_shares_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_shares_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_shares_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_songs_by_genre_ok.json b/core/subsonic-api/src/integrationTest/resources/get_songs_by_genre_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_songs_by_genre_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_songs_by_genre_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_starred_2_ok.json b/core/subsonic-api/src/integrationTest/resources/get_starred_2_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_starred_2_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_starred_2_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_starred_ok.json b/core/subsonic-api/src/integrationTest/resources/get_starred_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_starred_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_starred_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_user_ok.json b/core/subsonic-api/src/integrationTest/resources/get_user_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_user_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_user_ok.json diff --git a/subsonic-api/src/integrationTest/resources/get_videos_ok.json b/core/subsonic-api/src/integrationTest/resources/get_videos_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/get_videos_ok.json rename to core/subsonic-api/src/integrationTest/resources/get_videos_ok.json diff --git a/subsonic-api/src/integrationTest/resources/incompatible_client_protocol_version_error.json b/core/subsonic-api/src/integrationTest/resources/incompatible_client_protocol_version_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/incompatible_client_protocol_version_error.json rename to core/subsonic-api/src/integrationTest/resources/incompatible_client_protocol_version_error.json diff --git a/subsonic-api/src/integrationTest/resources/incompatible_server_protocol_version_error.json b/core/subsonic-api/src/integrationTest/resources/incompatible_server_protocol_version_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/incompatible_server_protocol_version_error.json rename to core/subsonic-api/src/integrationTest/resources/incompatible_server_protocol_version_error.json diff --git a/subsonic-api/src/integrationTest/resources/jukebox_control_playlist_ok.json b/core/subsonic-api/src/integrationTest/resources/jukebox_control_playlist_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/jukebox_control_playlist_ok.json rename to core/subsonic-api/src/integrationTest/resources/jukebox_control_playlist_ok.json diff --git a/subsonic-api/src/integrationTest/resources/jukebox_control_status_ok.json b/core/subsonic-api/src/integrationTest/resources/jukebox_control_status_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/jukebox_control_status_ok.json rename to core/subsonic-api/src/integrationTest/resources/jukebox_control_status_ok.json diff --git a/subsonic-api/src/integrationTest/resources/license_ok.json b/core/subsonic-api/src/integrationTest/resources/license_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/license_ok.json rename to core/subsonic-api/src/integrationTest/resources/license_ok.json diff --git a/subsonic-api/src/integrationTest/resources/non_subsonic_response.json b/core/subsonic-api/src/integrationTest/resources/non_subsonic_response.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/non_subsonic_response.json rename to core/subsonic-api/src/integrationTest/resources/non_subsonic_response.json diff --git a/subsonic-api/src/integrationTest/resources/ping_ok.json b/core/subsonic-api/src/integrationTest/resources/ping_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/ping_ok.json rename to core/subsonic-api/src/integrationTest/resources/ping_ok.json diff --git a/subsonic-api/src/integrationTest/resources/ping_ok_utf8_bom.json b/core/subsonic-api/src/integrationTest/resources/ping_ok_utf8_bom.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/ping_ok_utf8_bom.json rename to core/subsonic-api/src/integrationTest/resources/ping_ok_utf8_bom.json diff --git a/subsonic-api/src/integrationTest/resources/request_data_not_found_error_response.json b/core/subsonic-api/src/integrationTest/resources/request_data_not_found_error_response.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/request_data_not_found_error_response.json rename to core/subsonic-api/src/integrationTest/resources/request_data_not_found_error_response.json diff --git a/subsonic-api/src/integrationTest/resources/requested_data_was_not_found_error.json b/core/subsonic-api/src/integrationTest/resources/requested_data_was_not_found_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/requested_data_was_not_found_error.json rename to core/subsonic-api/src/integrationTest/resources/requested_data_was_not_found_error.json diff --git a/subsonic-api/src/integrationTest/resources/required_param_missing_error.json b/core/subsonic-api/src/integrationTest/resources/required_param_missing_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/required_param_missing_error.json rename to core/subsonic-api/src/integrationTest/resources/required_param_missing_error.json diff --git a/subsonic-api/src/integrationTest/resources/reversed_tokens_generic_error.json b/core/subsonic-api/src/integrationTest/resources/reversed_tokens_generic_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/reversed_tokens_generic_error.json rename to core/subsonic-api/src/integrationTest/resources/reversed_tokens_generic_error.json diff --git a/subsonic-api/src/integrationTest/resources/search2_ok.json b/core/subsonic-api/src/integrationTest/resources/search2_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/search2_ok.json rename to core/subsonic-api/src/integrationTest/resources/search2_ok.json diff --git a/subsonic-api/src/integrationTest/resources/search3_ok.json b/core/subsonic-api/src/integrationTest/resources/search3_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/search3_ok.json rename to core/subsonic-api/src/integrationTest/resources/search3_ok.json diff --git a/subsonic-api/src/integrationTest/resources/search_ok.json b/core/subsonic-api/src/integrationTest/resources/search_ok.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/search_ok.json rename to core/subsonic-api/src/integrationTest/resources/search_ok.json diff --git a/subsonic-api/src/integrationTest/resources/self-signed.p12 b/core/subsonic-api/src/integrationTest/resources/self-signed.p12 similarity index 100% rename from subsonic-api/src/integrationTest/resources/self-signed.p12 rename to core/subsonic-api/src/integrationTest/resources/self-signed.p12 diff --git a/subsonic-api/src/integrationTest/resources/self-signed.pem b/core/subsonic-api/src/integrationTest/resources/self-signed.pem similarity index 100% rename from subsonic-api/src/integrationTest/resources/self-signed.pem rename to core/subsonic-api/src/integrationTest/resources/self-signed.pem diff --git a/subsonic-api/src/integrationTest/resources/token_auth_not_supported_for_ldap_error.json b/core/subsonic-api/src/integrationTest/resources/token_auth_not_supported_for_ldap_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/token_auth_not_supported_for_ldap_error.json rename to core/subsonic-api/src/integrationTest/resources/token_auth_not_supported_for_ldap_error.json diff --git a/subsonic-api/src/integrationTest/resources/trial_period_is_over_error.json b/core/subsonic-api/src/integrationTest/resources/trial_period_is_over_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/trial_period_is_over_error.json rename to core/subsonic-api/src/integrationTest/resources/trial_period_is_over_error.json diff --git a/subsonic-api/src/integrationTest/resources/unexpected_error.json b/core/subsonic-api/src/integrationTest/resources/unexpected_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/unexpected_error.json rename to core/subsonic-api/src/integrationTest/resources/unexpected_error.json diff --git a/subsonic-api/src/integrationTest/resources/user_not_authorized_for_operation_error.json b/core/subsonic-api/src/integrationTest/resources/user_not_authorized_for_operation_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/user_not_authorized_for_operation_error.json rename to core/subsonic-api/src/integrationTest/resources/user_not_authorized_for_operation_error.json diff --git a/subsonic-api/src/integrationTest/resources/with_additional_json_object_generic_error.json b/core/subsonic-api/src/integrationTest/resources/with_additional_json_object_generic_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/with_additional_json_object_generic_error.json rename to core/subsonic-api/src/integrationTest/resources/with_additional_json_object_generic_error.json diff --git a/subsonic-api/src/integrationTest/resources/without_message_generic_error.json b/core/subsonic-api/src/integrationTest/resources/without_message_generic_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/without_message_generic_error.json rename to core/subsonic-api/src/integrationTest/resources/without_message_generic_error.json diff --git a/subsonic-api/src/integrationTest/resources/wrong_username_or_password_error.json b/core/subsonic-api/src/integrationTest/resources/wrong_username_or_password_error.json similarity index 100% rename from subsonic-api/src/integrationTest/resources/wrong_username_or_password_error.json rename to core/subsonic-api/src/integrationTest/resources/wrong_username_or_password_error.json diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiNotSupportedException.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiNotSupportedException.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiNotSupportedException.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiNotSupportedException.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapper.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapper.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapper.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapper.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIClient.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIDefinition.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIDefinition.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIDefinition.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIDefinition.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersions.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersions.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersions.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersions.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicClientConfiguration.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicClientConfiguration.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicClientConfiguration.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicClientConfiguration.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicError.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicError.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicError.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicError.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/di/SubsonicApiModule.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/di/SubsonicApiModule.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/di/SubsonicApiModule.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/di/SubsonicApiModule.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordExt.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordExt.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordExt.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordExt.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordHexInterceptor.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5Interceptor.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5Interceptor.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5Interceptor.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/PasswordMD5Interceptor.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptor.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptor.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptor.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptor.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptor.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptor.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptor.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/RangeHeaderInterceptor.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/VersionInterceptor.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Album.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Album.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Album.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Album.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListType.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListType.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListType.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListType.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Artist.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Bookmark.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Bookmark.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Bookmark.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Bookmark.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/ChatMessage.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/ChatMessage.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/ChatMessage.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/ChatMessage.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Genre.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Genre.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Genre.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Genre.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Index.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Indexes.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxAction.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxAction.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxAction.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxAction.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxStatus.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxStatus.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxStatus.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/JukeboxStatus.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/License.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/License.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/License.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/License.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Lyrics.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Lyrics.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Lyrics.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Lyrics.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectory.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectory.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectory.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectory.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectoryChild.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectoryChild.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectoryChild.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicDirectoryChild.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicFolder.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicFolder.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicFolder.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/MusicFolder.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Playlist.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Playlist.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Playlist.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Playlist.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/PodcastChannel.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/PodcastChannel.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/PodcastChannel.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/PodcastChannel.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchResult.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchResult.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchResult.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchResult.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchThreeResult.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchThreeResult.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchThreeResult.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchThreeResult.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchTwoResult.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchTwoResult.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchTwoResult.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/SearchTwoResult.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Share.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Share.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Share.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/Share.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/User.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/User.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/User.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/models/User.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/BookmarksResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/BookmarksResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/BookmarksResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/BookmarksResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/ChatMessagesResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/ChatMessagesResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/ChatMessagesResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/ChatMessagesResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GenresResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GenresResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GenresResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GenresResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumList2Response.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumList2Response.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumList2Response.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumList2Response.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumListResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumListResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumListResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumListResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetAlbumResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistsResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistsResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistsResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetArtistsResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetIndexesResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetLyricsResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetLyricsResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetLyricsResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetLyricsResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetMusicDirectoryResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetMusicDirectoryResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetMusicDirectoryResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetMusicDirectoryResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistsResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistsResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistsResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPlaylistsResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPodcastsResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPodcastsResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPodcastsResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetPodcastsResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetRandomSongsResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetRandomSongsResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetRandomSongsResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetRandomSongsResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetSongsByGenreResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetSongsByGenreResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetSongsByGenreResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetSongsByGenreResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredTwoResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredTwoResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredTwoResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetStarredTwoResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetUserResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetUserResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetUserResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/GetUserResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/JukeboxResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/JukeboxResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/JukeboxResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/JukeboxResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/LicenseResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/LicenseResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/LicenseResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/LicenseResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/MusicFoldersResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/MusicFoldersResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/MusicFoldersResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/MusicFoldersResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchThreeResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchThreeResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchThreeResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchThreeResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchTwoResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchTwoResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchTwoResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SearchTwoResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SharesResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SharesResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SharesResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SharesResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SubsonicResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SubsonicResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SubsonicResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/SubsonicResponse.kt diff --git a/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/VideosResponse.kt b/core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/VideosResponse.kt similarity index 100% rename from subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/VideosResponse.kt rename to core/subsonic-api/src/main/kotlin/org/moire/ultrasonic/api/subsonic/response/VideosResponse.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapperTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapperTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapperTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/ApiVersionCheckWrapperTest.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsDeserializerTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsDeserializerTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsDeserializerTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsDeserializerTest.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/SubsonicAPIVersionsTest.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptorTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptorTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptorTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/interceptors/ProxyPasswordInterceptorTest.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListTypeTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListTypeTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListTypeTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/AlbumListTypeTest.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/StatusTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/StatusTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/StatusTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/models/StatusTest.kt diff --git a/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponseTest.kt b/core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponseTest.kt similarity index 100% rename from subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponseTest.kt rename to core/subsonic-api/src/test/kotlin/org/moire/ultrasonic/api/subsonic/response/StreamResponseTest.kt diff --git a/settings.gradle b/settings.gradle index 5ddec4e9..b5554310 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,6 +1,6 @@ include ':core:library' include ':core:domain' -include ':subsonic-api' +include ':core:subsonic-api' include ':core:subsonic-api-image-loader' include ':core:cache' include ':core:menudrawer' diff --git a/subsonic-api/.gitignore b/subsonic-api/.gitignore deleted file mode 100644 index e8fa30f8..00000000 --- a/subsonic-api/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/build -*.iml diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index edee1845..98a4ed96 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -54,7 +54,7 @@ dependencies { implementation project(':core:pulltorefresh') implementation project(':core:library') implementation project(':core:domain') - implementation project(':subsonic-api') + implementation project(':core:subsonic-api') implementation project(':core:subsonic-api-image-loader') implementation project(':core:cache') From f422ba30b9ce54964ebb608c636f3c8b31342355 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:49:06 +0200 Subject: [PATCH 16/20] Use JUnit5 engine to run unit tests in kotlin modules. --- core/cache/build.gradle | 1 - core/subsonic-api/build.gradle | 1 - dependencies.gradle | 6 ++++-- gradle_scripts/kotlin-module-bootstrap.gradle | 7 +++++++ 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/core/cache/build.gradle b/core/cache/build.gradle index 5c273b70..4f9d6446 100644 --- a/core/cache/build.gradle +++ b/core/cache/build.gradle @@ -4,7 +4,6 @@ dependencies { api project(':core:domain') api other.twitterSerial - testImplementation testing.junit testImplementation testing.kotlinJunit testImplementation testing.mockito testImplementation testing.mockitoInline diff --git a/core/subsonic-api/build.gradle b/core/subsonic-api/build.gradle index 45b205a1..2e4582fe 100644 --- a/core/subsonic-api/build.gradle +++ b/core/subsonic-api/build.gradle @@ -11,7 +11,6 @@ dependencies { implementation other.kotlinReflect // for jackson kotlin, but to use the same version implementation other.okhttpLogging - testImplementation testing.junit testImplementation testing.kotlinJunit testImplementation testing.mockito testImplementation testing.mockitoInline diff --git a/dependencies.gradle b/dependencies.gradle index 71c1ae10..576c0019 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -22,7 +22,8 @@ ext.versions = [ koin : "1.0.0-beta-3", picasso : "2.71828", - junit : "4.12", + junit4 : "4.12", + junit5 : "5.3.1", mockito : "2.16.0", mockitoKotlin : "1.5.0", kluent : "1.35", @@ -62,7 +63,8 @@ ext.other = [ ] ext.testing = [ - junit : "junit:junit:$versions.junit", + junit : "junit:junit:$versions.junit4", + junitVintage : "org.junit.vintage:junit-vintage-engine:$versions.junit5", kotlinJunit : "org.jetbrains.kotlin:kotlin-test-junit:$versions.kotlin", mockitoKotlin : "com.nhaarman:mockito-kotlin:$versions.mockitoKotlin", mockito : "org.mockito:mockito-core:$versions.mockito", diff --git a/gradle_scripts/kotlin-module-bootstrap.gradle b/gradle_scripts/kotlin-module-bootstrap.gradle index 3917db62..f95fbc80 100644 --- a/gradle_scripts/kotlin-module-bootstrap.gradle +++ b/gradle_scripts/kotlin-module-bootstrap.gradle @@ -13,8 +13,15 @@ sourceSets { test.resources.srcDirs += "${projectDir}/src/integrationTest/resources" } +test { + useJUnitPlatform() +} + dependencies { api other.kotlinStdlib + + testImplementation testing.junit + testRuntimeOnly testing.junitVintage } jacoco { From 21bcb5429a02a6a656502250ced3e5b8c40d21dc Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sat, 6 Oct 2018 14:54:28 +0200 Subject: [PATCH 17/20] Use JUnit5 engine to run unit tests in android modules. --- core/subsonic-api-image-loader/build.gradle | 1 - gradle_scripts/android-module-bootstrap.gradle | 7 +++++++ ultrasonic/build.gradle | 5 +++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/core/subsonic-api-image-loader/build.gradle b/core/subsonic-api-image-loader/build.gradle index 20063309..40c63863 100644 --- a/core/subsonic-api-image-loader/build.gradle +++ b/core/subsonic-api-image-loader/build.gradle @@ -13,7 +13,6 @@ dependencies { exclude group: "com.android.support" } - testImplementation testing.junit testImplementation testing.kotlinJunit testImplementation testing.mockito testImplementation testing.mockitoInline diff --git a/gradle_scripts/android-module-bootstrap.gradle b/gradle_scripts/android-module-bootstrap.gradle index 7e2501b0..0b10209a 100644 --- a/gradle_scripts/android-module-bootstrap.gradle +++ b/gradle_scripts/android-module-bootstrap.gradle @@ -49,8 +49,15 @@ android { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 +tasks.withType(Test) { + useJUnitPlatform() +} + dependencies { api other.kotlinStdlib + + testImplementation testing.junit + testRuntimeOnly testing.junitVintage } jacoco { diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index 98a4ed96..f5125ac1 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -49,6 +49,10 @@ android { } } +tasks.withType(Test) { + useJUnitPlatform() +} + dependencies { implementation project(':core:menudrawer') implementation project(':core:pulltorefresh') @@ -67,6 +71,7 @@ dependencies { testImplementation other.kotlinReflect testImplementation testing.junit + testRuntimeOnly testing.junitVintage testImplementation testing.kotlinJunit testImplementation testing.mockitoKotlin testImplementation testing.kluent From 3371b4025d8ad1a1476c74cf18836c36241e5441 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 7 Oct 2018 20:45:20 +0200 Subject: [PATCH 18/20] Improve Jacoco setup. --- core/domain/build.gradle | 5 + gradle_scripts/jacoco.gradle | 129 ++++++++++-------- gradle_scripts/kotlin-module-bootstrap.gradle | 2 +- ultrasonic/build.gradle | 4 + 4 files changed, 83 insertions(+), 57 deletions(-) diff --git a/core/domain/build.gradle b/core/domain/build.gradle index eefe64d0..b6d0f5d0 100644 --- a/core/domain/build.gradle +++ b/core/domain/build.gradle @@ -1,5 +1,10 @@ apply from: bootstrap.kotlinModule +ext { + jacocoExclude = [ + '**/domain/**' + ] +} dependencies { api other.semver } diff --git a/gradle_scripts/jacoco.gradle b/gradle_scripts/jacoco.gradle index eef97b49..237c6f78 100644 --- a/gradle_scripts/jacoco.gradle +++ b/gradle_scripts/jacoco.gradle @@ -4,72 +4,89 @@ jacoco { toolVersion(versions.jacoco) } -task jacocoMergeReports(type: JacocoMerge) { +def mergedJacocoExec = file("${project.buildDir}/jacoco/jacocoMerged.exec") + +tasks.create(name: 'jacocoMergeReports', type: JacocoMerge) { group = "Reporting" description = "Merge all jacoco reports from projects into one." - List jacocoFiles = new ArrayList<>() + ListProperty jacocoFiles = project.objects.listProperty(File.class) project.subprojects { subproject -> - File commonModuleReport = new File(subproject.buildDir, "/jacoco/test.exec") - if (commonModuleReport.exists()) jacocoFiles.add(commonModuleReport) - File androidModuleReport = new File(subproject.buildDir, "/jacoco/testDebugUnitTest.exec") - if (androidModuleReport.exists()) jacocoFiles.add(androidModuleReport) + subproject.plugins.withId("jacoco") { + project.logger.info("${subproject.name} has Jacoco plugin applied") + subproject.tasks.withType(Test) { task -> + File destFile = task.extensions.getByType(JacocoTaskExtension.class).destinationFile + if (destFile.exists() && !task.name.contains("Release")) { + jacocoFiles.add(destFile) + } + } + } } - executionData(jacocoFiles.toArray()) - destinationFile(file("${project.buildDir}/jacoco/jacoco.exec")) + + executionData(jacocoFiles) + destinationFile(mergedJacocoExec) } -def createJacocoFullReportTask() { - tasks.create(name: 'jacocoFullReport', type: JacocoReport, dependsOn: 'jacocoMergeReports') { - group = "Reporting" - description = "Generate full Jacoco coverage report including all modules." +tasks.create(name: 'jacocoFullReport', type: JacocoReport, dependsOn: 'jacocoMergeReports') { + group = "Reporting" + description = "Generate full Jacoco coverage report including all modules." - List classFileTreeList = new ArrayList<>() - List sourceFileTreeList = new ArrayList<>() + classDirectories = files() + sourceDirectories = files() + executionData = files() + + reports { + xml.enabled = true + html.enabled = true + csv.enabled = false + } + + // Always run merging, as all input calculation is done in doFirst {} + outputs.upToDateWhen { false } + // Task will run anyway even if initial inputs are empty + onlyIf = { true } + + doFirst { project.subprojects { subproject -> - if (subproject.plugins.hasPlugin("kotlin-android") && - subproject.hasProperty("jacocoExclude")) { - classFileTreeList.add( - fileTree( - dir: "${subproject.buildDir}/tmp/kotlin-classes/debug", - excludes: subproject.jacocoExclude - ) - ) - sourceFileTreeList.add( - subproject.extensions.getByName('android').sourceSets.main.java.sourceFiles - ) - } else if (subproject.hasProperty("jacocoExclude")) { - classFileTreeList.add( - fileTree( - dir: "${subproject.buildDir}/classes/kotlin/main", - excludes: subproject.jacocoExclude - ) - ) - sourceFileTreeList.add(subproject.sourceSets.main.getAllSource()) + subproject.plugins.withId("jacoco") { + project.logger.info("${subproject.name} has Jacoco plugin applied") + subproject.plugins.withId("kotlin-android") { + project.logger.warn("${subproject.name} is android project") + def mainSources = subproject.extensions.findByName("android").sourceSets['main'] + project.logger.warn("Android sources: ${mainSources.java.srcDirs}") + mainSources.java.srcDirs.forEach { + additionalSourceDirs(it) + } + project.logger.warn("Subproject exclude: ${subproject.jacocoExclude}") + additionalClassDirs(fileTree( + dir: "${subproject.buildDir}/tmp/kotlin-classes/debug", + excludes: subproject.jacocoExclude + )) + } + subproject.plugins.withId("kotlin") { plugin -> + project.logger.warn("${subproject.name} is common kotlin project") + SourceDirectorySet mainSources = subproject.extensions.getByName("kotlin") + .sourceSets[SourceSet.MAIN_SOURCE_SET_NAME] + .kotlin + mainSources.srcDirs.forEach { + project.logger.debug("Adding sources: $it") + additionalSourceDirs(it) + } + project.logger.warn("Subproject exclude: ${subproject.jacocoExclude}") + additionalClassDirs(fileTree( + dir: "${subproject.buildDir}/classes/kotlin/main", + excludes: subproject.jacocoExclude + )) + } + + subproject.tasks.withType(Test) { task -> + File destFile = task.extensions.getByType(JacocoTaskExtension.class).destinationFile + if (destFile.exists() && !task.name.contains("Release")) { + project.logger.info("Adding execution data: $destFile") + executionData(destFile) + } + } } } - - classDirectories = files(classFileTreeList.toArray()) - sourceDirectories = files(sourceFileTreeList.toArray()) - executionData = files("${buildDir}/jacoco/jacoco.exec") - - reports { - xml.enabled = true - html.enabled = true - csv.enabled = false - } } } - -// We need to wait to all subprojects configuration finish or we don't get sources and exclusions -def subprojectsCount = allprojects.size() -allprojects { - afterEvaluate { subproject -> - subprojectsCount-- - if (subprojectsCount == 0) { - apply { - createJacocoFullReportTask() - } - } - } -} \ No newline at end of file diff --git a/gradle_scripts/kotlin-module-bootstrap.gradle b/gradle_scripts/kotlin-module-bootstrap.gradle index f95fbc80..f5972e63 100644 --- a/gradle_scripts/kotlin-module-bootstrap.gradle +++ b/gradle_scripts/kotlin-module-bootstrap.gradle @@ -55,7 +55,7 @@ test { } } -task("ciTest", dependsOn: "test") { +tasks.create(name: "ciTest", dependsOn: "test") { group = "Verification" description = "Special task for CI that calls all tests in pure kotlin modules" } diff --git a/ultrasonic/build.gradle b/ultrasonic/build.gradle index f5125ac1..56f858d0 100644 --- a/ultrasonic/build.gradle +++ b/ultrasonic/build.gradle @@ -77,6 +77,10 @@ dependencies { testImplementation testing.kluent } +jacoco { + toolVersion(versions.jacoco) +} + // Excluding all java classes and stuff that should not be covered ext { jacocoExclude = [ From 2e008c7ed653f6ae2fb2043f2118b4c57026da58 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 7 Oct 2018 21:21:49 +0200 Subject: [PATCH 19/20] Fix slightly wrong jacoco setup. --- gradle_scripts/android-module-bootstrap.gradle | 13 +++++-------- gradle_scripts/jacoco.gradle | 10 +++++----- 2 files changed, 10 insertions(+), 13 deletions(-) diff --git a/gradle_scripts/android-module-bootstrap.gradle b/gradle_scripts/android-module-bootstrap.gradle index 0b10209a..98fb9516 100644 --- a/gradle_scripts/android-module-bootstrap.gradle +++ b/gradle_scripts/android-module-bootstrap.gradle @@ -1,7 +1,7 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' -apply plugin: 'jacoco-android' +apply plugin: 'jacoco' apply from: "${project.rootDir}/gradle_scripts/code_quality.gradle" androidExtensions { @@ -51,6 +51,10 @@ targetCompatibility = JavaVersion.VERSION_1_8 tasks.withType(Test) { useJUnitPlatform() + jacoco { + includeNoLocationClasses = true + excludes += jacocoExclude + } } dependencies { @@ -68,10 +72,3 @@ ext { jacocoExclude = [] } -jacocoAndroidUnitTestReport { - excludes += jacocoExclude -} - -afterEvaluate { - testDebugUnitTest.finalizedBy jacocoTestDebugUnitTestReport -} diff --git a/gradle_scripts/jacoco.gradle b/gradle_scripts/jacoco.gradle index 237c6f78..f7b30b11 100644 --- a/gradle_scripts/jacoco.gradle +++ b/gradle_scripts/jacoco.gradle @@ -51,20 +51,20 @@ tasks.create(name: 'jacocoFullReport', type: JacocoReport, dependsOn: 'jacocoMer subproject.plugins.withId("jacoco") { project.logger.info("${subproject.name} has Jacoco plugin applied") subproject.plugins.withId("kotlin-android") { - project.logger.warn("${subproject.name} is android project") + project.logger.info("${subproject.name} is android project") def mainSources = subproject.extensions.findByName("android").sourceSets['main'] - project.logger.warn("Android sources: ${mainSources.java.srcDirs}") + project.logger.info("Android sources: ${mainSources.java.srcDirs}") mainSources.java.srcDirs.forEach { additionalSourceDirs(it) } - project.logger.warn("Subproject exclude: ${subproject.jacocoExclude}") + project.logger.info("Subproject exclude: ${subproject.jacocoExclude}") additionalClassDirs(fileTree( dir: "${subproject.buildDir}/tmp/kotlin-classes/debug", excludes: subproject.jacocoExclude )) } subproject.plugins.withId("kotlin") { plugin -> - project.logger.warn("${subproject.name} is common kotlin project") + project.logger.info("${subproject.name} is common kotlin project") SourceDirectorySet mainSources = subproject.extensions.getByName("kotlin") .sourceSets[SourceSet.MAIN_SOURCE_SET_NAME] .kotlin @@ -72,7 +72,7 @@ tasks.create(name: 'jacocoFullReport', type: JacocoReport, dependsOn: 'jacocoMer project.logger.debug("Adding sources: $it") additionalSourceDirs(it) } - project.logger.warn("Subproject exclude: ${subproject.jacocoExclude}") + project.logger.info("Subproject exclude: ${subproject.jacocoExclude}") additionalClassDirs(fileTree( dir: "${subproject.buildDir}/classes/kotlin/main", excludes: subproject.jacocoExclude From 74c992d0350395718770f7ad21628fa13407f8b4 Mon Sep 17 00:00:00 2001 From: Yahor Berdnikau Date: Sun, 7 Oct 2018 21:36:47 +0200 Subject: [PATCH 20/20] Run lint only on app release variant. Also regenerate new baseline. --- .circleci/config.yml | 2 +- ultrasonic/lint-baseline.xml | 782 ++++++++++++++++------------------- 2 files changed, 363 insertions(+), 421 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 85851125..001ebc62 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -30,7 +30,7 @@ jobs: bash <(curl -s https://codecov.io/bash) - run: name: lint - command: ./gradlew lint + command: ./gradlew :ultrasonic:lintRelease - run: name: assemble release build command: ./gradlew assembleRelease diff --git a/ultrasonic/lint-baseline.xml b/ultrasonic/lint-baseline.xml index 916b6f0c..fc439fa2 100644 --- a/ultrasonic/lint-baseline.xml +++ b/ultrasonic/lint-baseline.xml @@ -1,5 +1,5 @@ - + @@ -30,7 +30,7 @@ errorLine2=" ~~~~~~~~~~~~~~~"> @@ -41,7 +41,7 @@ errorLine2=" ~~~~~~~~~~~~~~~"> @@ -52,18 +52,7 @@ errorLine2=" ~~~~~~~~~~~~~~~"> - - - - @@ -74,10 +63,32 @@ errorLine2=" ~~~~~~~~~~~~~~~"> + + + + + + + + - - - - - - - - @@ -166,30 +155,30 @@ errorLine2=" ~~~~~~~~~~~"> + errorLine1=" Thread thread = new Thread(this, String.format("ImageLoader_%d", i));" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/moire/ultrasonic/util/LegacyImageLoader.java" + line="104" + column="46"/> + errorLine1=" return String.format("%s:%d", coverArtId, size);" + errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + file="src/main/java/org/moire/ultrasonic/util/LegacyImageLoader.java" + line="209" + column="16"/> - - - - + + + + @@ -232,7 +221,7 @@ errorLine2=" ~~~~~~~~~~~"> @@ -243,7 +232,7 @@ errorLine2=" ~~~~~~~~~~~"> @@ -254,7 +243,7 @@ errorLine2=" ~~~~~~~~~~~"> @@ -265,7 +254,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -276,7 +265,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -298,7 +287,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -309,7 +298,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -320,7 +309,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -331,10 +320,43 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> + + + + + + + + + + + + @@ -397,7 +419,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -430,7 +452,7 @@ errorLine2=" ~~~~"> @@ -441,7 +463,7 @@ errorLine2=" ~~~~"> @@ -559,7 +581,7 @@ errorLine2=" ^"> @@ -570,7 +592,7 @@ errorLine2=" ^"> @@ -581,7 +603,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -592,7 +614,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -603,7 +625,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -614,7 +636,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -625,7 +647,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -636,7 +658,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -647,7 +669,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -658,7 +680,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -669,7 +691,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -680,7 +702,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -691,7 +713,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -702,7 +724,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -713,7 +735,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -724,7 +746,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -735,7 +757,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -746,7 +768,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -757,7 +779,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -768,51 +790,7 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> - - - - - - - - - - - - - - - - @@ -823,7 +801,7 @@ errorLine2=" ~~~~~~~~~~~~"> @@ -853,11 +831,11 @@ id="ExportedContentProvider" message="Exported content providers can provide access to potentially sensitive data" errorLine1=" <provider" - errorLine2=" ^"> + errorLine2=" ~~~~~~~~"> + column="10"/> @@ -987,7 +965,7 @@ errorLine2=" ~~~~~~~~~~~~~"> @@ -998,7 +976,7 @@ errorLine2=" ~~~~~~~~~~~~~~~"> @@ -1009,7 +987,7 @@ errorLine2=" ~~~~~~~~~~~"> @@ -1057,17 +1035,6 @@ column="16"/> - - - - @@ -1359,27 +1326,27 @@ errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> @@ -1388,83 +1355,21 @@ message="The resource `R.string.parser_artist_count` appears to be unused" errorLine1=" <string name="parser.artist_count">Got %d Artists.</string>" errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + errorLine2=" ~~~~~~~~~~~~"> + column="6"/> + + + + @@ -1642,7 +1496,18 @@ errorLine2=" ^"> + + + + @@ -1667,7 +1532,40 @@ file="src/main/res/drawable-hdpi/ic_stat_ultrasonic.png"/> + + + + + + + + + + + + + + + @@ -1726,7 +1624,7 @@ errorLine2=" ^"> @@ -1737,7 +1635,7 @@ errorLine2=" ~~~~~~~~~"> @@ -1803,7 +1701,7 @@ errorLine2=" ~~~~~~~"> @@ -1811,605 +1709,649 @@ id="ContentDescription" message="Missing `contentDescription` attribute on image" errorLine1=" <ImageView" - errorLine2=" ^"> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~"> + column="4"/> + errorLine2=" ~~~~~~~~~"> + column="2"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~~~"> + column="10"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~~~"> + column="14"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + errorLine2=" ~~~~~~~~~"> + column="6"/> + + + + + + + + + + + + + + + +