Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 2 additions & 9 deletions auth/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ dependencies {
implementation(libs.dagger)
implementation(libs.kotlinxCoroutinesAndroid)
implementation(libs.kotlinxCoroutinesCore)
implementation(libs.kotlinx.coroutines.test)
implementation(libs.kotlinx.datetime)
implementation(libs.kotlinx.serialization.json)
implementation(libs.kotlinx.serialization.retrofit.converter)
Expand All @@ -23,21 +22,15 @@ dependencies {

ksp(libs.dagger.compiler)

testImplementation(libs.test.junit5Api)
testImplementation(libs.test.androidx.junit)
testImplementation(libs.test.mockk)
testImplementation(libs.test.kotlin.test)
testImplementation(libs.kotlinx.coroutines.test)
testImplementation(libs.test.fluidtime)

testRuntimeOnly(libs.test.junit5Engine)
testImplementation(libs.test.turbine)

kspTest(libs.dagger.compiler)

testApi(libs.test.androidx.junit)
testApi(libs.test.junit5Api)
testApi(libs.test.junit5Engine)
testApi(libs.test.turbine)

androidTestImplementation(libs.test.androidx.junit)
androidTestImplementation(libs.test.androidx.espresso.core)
}
1 change: 0 additions & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ plugins {
alias(libs.plugins.tidal.android.application) apply false
alias(libs.plugins.tidal.android.library) apply false
alias(libs.plugins.tidal.kotlin.jvm) apply false
alias(libs.plugins.kotlin.kapt) apply false
alias(libs.plugins.tidal.jvm.platform) apply false
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,25 @@
package com.tidal.sdk.plugins

import org.gradle.api.Project
import org.gradle.api.artifacts.VersionCatalogsExtension
import org.gradle.api.tasks.testing.Test
import org.gradle.kotlin.dsl.dependencies
import org.gradle.kotlin.dsl.getByType
import org.gradle.kotlin.dsl.withType

internal class ConfiguresJUnit5 : (Project) -> Unit {

override fun invoke(target: Project) {
target.tasks.withType<Test> { useJUnitPlatform() }
with(target) {
tasks.withType<Test> { useJUnitPlatform() }

// Add common JUnit 5 dependencies
val libs = extensions.getByType<VersionCatalogsExtension>().named("libs")
dependencies {
add("testImplementation", libs.findLibrary("test-junit5Api").get())
add("testRuntimeOnly", libs.findLibrary("test-junit5Engine").get())
add("testRuntimeOnly", "org.junit.platform:junit-platform-launcher")
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@ internal class ConfiguresKotlinCompiler : (Project) -> Unit {
override fun invoke(target: Project) =
with(target) {
tasks.withType<KotlinCompile>().configureEach {
kotlinOptions { freeCompilerArgs = freeCompilerArgs + listOf("-Xjvm-default=all") }
kotlinOptions {
jvmTarget = "17"
freeCompilerArgs = freeCompilerArgs + listOf("-Xjvm-default=all")
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,14 +1,24 @@
package com.tidal.sdk.plugins

import com.tidal.sdk.plugins.constant.PluginId
import org.gradle.api.JavaVersion
import org.gradle.api.Plugin
import org.gradle.api.Project
import org.gradle.api.plugins.JavaPluginExtension
import org.gradle.kotlin.dsl.configure

internal class KotlinJvmLibraryConventionPlugin : Plugin<Project> {

override fun apply(target: Project) =
target.run {
pluginManager.apply(PluginId.KOTLIN_JVM_PLUGIN_ID)

// Configure Java compatibility
extensions.configure<JavaPluginExtension> {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}

ConfiguresDokka()(this)
ConfiguresKotlinCompiler()(this)
ConfiguresMavenPublish()(this)
Expand Down
16 changes: 7 additions & 9 deletions eventproducer/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
alias(libs.plugins.tidal.android.library)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.google.devtools.ksp)
alias(libs.plugins.android.junit5)
}
Expand All @@ -22,22 +21,21 @@ dependencies {
implementation(libs.room.runtime)
implementation(libs.moshi)
implementation(libs.okhttp.loggingInterceptor)
implementation(libs.tickaroo.annotation)
implementation(libs.tickaroo.core)
implementation(libs.tickaroo.retrofitConverter)
implementation(libs.truetime)

// Simple XML for XML parsing (no annotation processing needed)
implementation(libs.retrofit.converter.simplexml)

ksp(libs.dagger.compiler)
kapt(libs.room.compiler)
kapt(libs.tickaroo.processor)
kapt(libs.moshi.codegen)
ksp(libs.room.compiler)
ksp(libs.moshi.codegen)

testImplementation(libs.test.assertk)
testImplementation(libs.test.mockk)
testImplementation(libs.okhttp.mockwebserver)
testImplementation(libs.kotlinx.coroutines.test)

testRuntimeOnly("org.junit.platform:junit-platform-launcher")

testApi(libs.test.androidx.junit)
testApi(libs.test.junit5Api)
testApi(libs.test.junit5Engine)
}
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package com.tidal.sdk.eventproducer.di

import com.squareup.moshi.Moshi
import com.tickaroo.tikxml.TikXml
import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory
import dagger.Module
import dagger.Provides
import javax.inject.Singleton
import retrofit2.Converter
import retrofit2.converter.simplexml.SimpleXmlConverterFactory

@Module
internal class ConvertersModule {

@Provides
@Singleton
fun provideXmlConverter(): TikXmlConverterFactory {
return TikXmlConverterFactory.create(TikXml.Builder().exceptionOnUnreadXml(false).build())
fun provideXmlConverter(): Converter.Factory {
return SimpleXmlConverterFactory.createNonStrict()
}

@Provides @Singleton fun provideMoshi(): Moshi = Moshi.Builder().build()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package com.tidal.sdk.eventproducer.di

import com.tickaroo.tikxml.retrofit.TikXmlConverterFactory
import com.tidal.sdk.eventproducer.network.service.SqsService
import dagger.Module
import dagger.Provides
import java.net.URI
import javax.inject.Singleton
import okhttp3.OkHttpClient
import retrofit2.Converter
import retrofit2.Retrofit

@Module
Expand All @@ -17,7 +17,7 @@ internal class NetworkModule {
fun provideSqsService(
tlConsumerUri: URI,
okhttpClient: OkHttpClient,
xmlConverter: TikXmlConverterFactory,
xmlConverter: Converter.Factory,
): SqsService {
val retrofit =
Retrofit.Builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package com.tidal.sdk.eventproducer.network.service

import com.tickaroo.tikxml.annotation.Element
import com.tickaroo.tikxml.annotation.PropertyElement
import com.tickaroo.tikxml.annotation.Xml
import org.simpleframework.xml.Element
import org.simpleframework.xml.ElementList
import org.simpleframework.xml.Root

@Xml(name = "SendMessageBatchResponse")
internal data class SendMessageBatchResponse(@Element val result: SendMessageBatchResult)
@Root(name = "SendMessageBatchResponse", strict = false)
internal data class SendMessageBatchResponse(
@field:Element(name = "SendMessageBatchResult") var result: SendMessageBatchResult? = null
)

@Xml(name = "SendMessageBatchResult")
@Root(name = "SendMessageBatchResult", strict = false)
internal data class SendMessageBatchResult(
@Element val successfullySentEntries: List<SendMessageBatchResultEntry>?
@field:ElementList(inline = true, entry = "SendMessageBatchResultEntry", required = false)
var successfullySentEntries: List<SendMessageBatchResultEntry>? = null
)

@Xml(name = "SendMessageBatchResultEntry")
internal data class SendMessageBatchResultEntry(@PropertyElement(name = "Id") val id: String)
@Root(name = "SendMessageBatchResultEntry", strict = false)
internal data class SendMessageBatchResultEntry(@field:Element(name = "Id") var id: String = "")
11 changes: 2 additions & 9 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,10 @@ mockito = "5.8.0"
mockito-kotlin = "5.2.1"
moshi = "1.15.1"
okhttp3 = "4.12.0"
plugin-android = "8.2.2"
plugin-android = "8.10.0"
retrofit = "2.11.0"
room = "2.6.1"
slf4j-api = "2.0.12"
tickaroo = "0.8.13"
tidal-androidx-media = "1.5.0.1"

[libraries]
Expand Down Expand Up @@ -69,6 +68,7 @@ okhttp-loggingInterceptor = { module = "com.squareup.okhttp3:logging-interceptor
okhttp-mockwebserver = { module = "com.squareup.okhttp3:mockwebserver", version.ref = "okhttp3" }
retrofit = { module = "com.squareup.retrofit2:retrofit", version.ref = "retrofit" }
retrofit-converter-gson = { module = "com.squareup.retrofit2:converter-gson", version.ref = "retrofit" }
retrofit-converter-simplexml = { module = "com.squareup.retrofit2:converter-simplexml", version.ref = "retrofit" }

# Room
room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" }
Expand Down Expand Up @@ -102,12 +102,6 @@ test-mockito-android = { module = "org.mockito:mockito-android", version.ref = "
test-mockito-kotlin = { module = "org.mockito.kotlin:mockito-kotlin", version.ref = "mockito-kotlin" }
test-turbine = { module = "app.cash.turbine:turbine", version = "1.0.0" }

#Tickaroo
tickaroo-annotation = { module = "com.tickaroo.tikxml:annotation", version.ref = "tickaroo" }
tickaroo-core = { module = "com.tickaroo.tikxml:core", version.ref = "tickaroo" }
tickaroo-processor = { module = "com.tickaroo.tikxml:processor", version.ref = "tickaroo" }
tickaroo-retrofitConverter = { module = "com.tickaroo.tikxml:retrofit-converter", version.ref = "tickaroo" }

tidal-exoPlayer-core = { module = "com.tidal.androidx.media3:media3-exoplayer", version.ref = "tidal-androidx-media" }
tidal-exoPlayer-dash = { module = "com.tidal.androidx.media3:media3-exoplayer-dash", version.ref = "tidal-androidx-media" }
tidal-exoPlayer-hls = { module = "com.tidal.androidx.media3:media3-exoplayer-hls", version.ref = "tidal-androidx-media" }
Expand All @@ -130,7 +124,6 @@ android-junit5 = { id = "de.mannodermaus.android-junit5", version = "1.10.0.0" }
google-devtools-ksp = { id = "com.google.devtools.ksp", version = "1.9.23-1.0.20" }
gradle-maven-publish = { id = "com.vanniktech.maven.publish", version = "0.28.0" }
kotlin-dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" }
kotlin-kapt = { id = "org.jetbrains.kotlin.kapt", version.ref = "kotlin" }
kotlin-plugin-serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
tidal-android-application = { id = "com.tidal-sdk.android.application" }
tidal-android-library = { id = "com.tidal-sdk.android.library" }
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.14.3-all.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-all.zip
networkTimeout=10000
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
2 changes: 0 additions & 2 deletions player/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,6 @@ dependencies {
implementation(project(":player:streaming-privileges"))

testImplementation(libs.test.assertk)
testImplementation(libs.test.junit5Api)
testRuntimeOnly(libs.test.junit5Engine)
testImplementation(libs.test.junit5Params)
testImplementation(project(":player:testutil"))
testImplementation(libs.test.mockito.kotlin)
Expand Down
3 changes: 0 additions & 3 deletions player/common-android/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,6 @@ dependencies {
implementation(libs.kotlinx.serialization.json)
implementation(libs.truetime)

testImplementation(libs.test.junit5Api)
testRuntimeOnly(libs.test.junit5Engine)

androidTestImplementation(libs.test.androidx.junit)
androidTestImplementation(libs.test.androidx.espresso.core)
androidTestImplementation(libs.test.assertk)
Expand Down
3 changes: 0 additions & 3 deletions player/common/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,4 @@ dependencies {

implementation(libs.gson)
implementation(libs.okhttp.okhttp)

testImplementation(libs.test.junit5Api)
testRuntimeOnly(libs.test.junit5Engine)
}
2 changes: 0 additions & 2 deletions player/events/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,9 @@ dependencies {
implementation(libs.kotlinxCoroutinesCore)

testImplementation(libs.test.assertk)
testImplementation(libs.test.junit5Api)
testImplementation(libs.test.junit5Params)
testImplementation(libs.test.mockito.kotlin)
testImplementation(libs.kotlinx.coroutines.test)
testRuntimeOnly(libs.test.junit5Engine)
testImplementation(project(":player:testutil"))

androidTestImplementation(project(":player:testutil"))
Expand Down
2 changes: 0 additions & 2 deletions player/playback-engine/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,7 @@ dependencies {
implementation(libs.dagger)

testImplementation(libs.test.assertk)
testImplementation(libs.test.junit5Api)
testImplementation(libs.test.mockito.kotlin)
testRuntimeOnly(libs.test.junit5Engine)
testImplementation(libs.test.junit5Params)
testImplementation(project(":player:testutil"))

Expand Down
2 changes: 1 addition & 1 deletion player/streaming-api/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ dependencies {
testImplementation(libs.kotlin.reflect)
testImplementation(libs.kotlinxCoroutinesCore)
testImplementation(libs.test.assertk)
testImplementation(libs.test.junit5Api)
testImplementation(libs.test.junit5Params)
testImplementation(libs.test.mockito.kotlin)
testImplementation(libs.okhttp.mockwebserver) {
Expand All @@ -28,4 +27,5 @@ dependencies {
testImplementation(project(":player:testutil"))

testRuntimeOnly(libs.test.junit5Engine)
testRuntimeOnly("org.junit.platform:junit-platform-launcher")
}
2 changes: 0 additions & 2 deletions player/streaming-privileges/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ dependencies {
testImplementation(project(":player:testutil"))
testImplementation(libs.test.assertk)
testImplementation(libs.test.mockito.kotlin)
testImplementation(libs.test.junit5Api)
testImplementation(libs.test.junit5Params)
testRuntimeOnly(libs.test.junit5Engine)

androidTestImplementation(libs.test.androidx.junit)
androidTestImplementation(libs.test.androidx.espresso.core)
Expand Down
4 changes: 3 additions & 1 deletion player/testutil/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
plugins { kotlin("jvm") }
plugins {
alias(libs.plugins.tidal.kotlin.jvm)
}

dependencies {
implementation(libs.kotlin.reflect)
Expand Down
5 changes: 4 additions & 1 deletion settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,10 @@ include("bom")

fun includeFromDefaultHierarchy(sdkModuleName: String) {
include(sdkModuleName)
include("$sdkModuleName:apps:demo")
val demoDir = file("$sdkModuleName/apps/demo")
if (demoDir.exists() && demoDir.isDirectory) {
include("$sdkModuleName:apps:demo")
}
}

includeFromDefaultHierarchy("player")
Expand Down
1 change: 0 additions & 1 deletion template/apps/demo/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
alias(libs.plugins.tidal.android.application)
alias(libs.plugins.kotlin.kapt)
}

android {
Expand Down
5 changes: 0 additions & 5 deletions template/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
alias(libs.plugins.tidal.android.library)
alias(libs.plugins.kotlin.kapt)
alias(libs.plugins.android.junit5)
}

Expand All @@ -9,10 +8,6 @@ android { namespace = "com.tidal.sdk.template" }
dependencies {
api(libs.tidal.sdk.common)

testApi(libs.test.androidx.junit)
testApi(libs.test.junit5Api)
testApi(libs.test.junit5Engine)

androidTestImplementation(libs.test.androidx.junit)
androidTestImplementation(libs.test.androidx.espresso.core)
}
1 change: 0 additions & 1 deletion tidalapi/apps/demo/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
plugins {
alias(libs.plugins.tidal.android.application)
alias(libs.plugins.kotlin.kapt)
}

android {
Expand Down
Loading