Skip to content

Commit

Permalink
Merge pull request #331 from adamint/dev/adamint/update-deps
Browse files Browse the repository at this point in the history
Update dependencies + update types based on changed spotify schema
  • Loading branch information
adamint authored Feb 2, 2024
2 parents 7c90fc7 + 203d1cf commit 507416f
Show file tree
Hide file tree
Showing 23 changed files with 253 additions and 302 deletions.
231 changes: 119 additions & 112 deletions build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ android {
}
defaultConfig {
minSdk = 23
targetSdk = 31
setCompileSdkVersion(30)
testInstrumentationRunner = "android.support.test.runner.AndroidJUnitRunner"
}
Expand Down Expand Up @@ -138,9 +137,18 @@ kotlin {
mavenPublication { setupPom(artifactId) }
}

ios {
iosX64 {
binaries { framework { baseName = "spotify" } }
mavenPublication { setupPom(artifactId) }
}

iosArm64 {
binaries { framework { baseName = "spotify" } }
mavenPublication { setupPom(artifactId) }
}

iosSimulatorArm64 {
binaries { framework { baseName = "spotify" } }
mavenPublication { setupPom(artifactId) }
}

Expand All @@ -158,146 +166,145 @@ kotlin {
mavenPublication { setupPom(artifactId) }
}*/

targets {
sourceSets {
val kotlinxDatetimeVersion: String by project
val kotlinxSerializationVersion: String by project
val kotlinxCoroutinesVersion: String by project
val ktorVersion: String by project

val sparkVersion: String by project
val korlibsVersion: String by project

val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("com.soywiz.korlibs.krypto:krypto:$korlibsVersion")
implementation("com.soywiz.korlibs.korim:korim:$korlibsVersion")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:$kotlinxDatetimeVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
}
applyDefaultHierarchyTemplate()

sourceSets {
val kotlinxDatetimeVersion: String by project
val kotlinxSerializationVersion: String by project
val kotlinxCoroutinesVersion: String by project
val ktorVersion: String by project

val sparkVersion: String by project
val korlibsVersion: String by project

commonMain {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:$kotlinxSerializationVersion")
implementation("io.ktor:ktor-client-core:$ktorVersion")
implementation("com.soywiz.korlibs.krypto:krypto:$korlibsVersion")
implementation("com.soywiz.korlibs.korim:korim:$korlibsVersion")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:$kotlinxDatetimeVersion")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:$kotlinxCoroutinesVersion")
}
}

val commonTest by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion")
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
commonTest {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:$kotlinxCoroutinesVersion")
implementation(kotlin("test-common"))
implementation(kotlin("test-annotations-common"))
}
}

val commonJvmLikeMain by creating {
dependsOn(commonMain)
val commonJvmLikeMain by creating {
dependsOn(commonMain.get())

dependencies {
implementation("net.sourceforge.streamsupport:android-retrofuture:1.7.3")
}
dependencies {
implementation("net.sourceforge.streamsupport:android-retrofuture:1.7.3")
}
}

val commonJvmLikeTest by creating {
dependencies {
implementation(kotlin("test-junit"))
implementation("com.sparkjava:spark-core:$sparkVersion")
runtimeOnly(kotlin("reflect"))
}
val commonJvmLikeTest by creating {
dependencies {
implementation(kotlin("test-junit"))
implementation("com.sparkjava:spark-core:$sparkVersion")
runtimeOnly(kotlin("reflect"))
}
}

val commonNonJvmTargetsTest by creating {
dependsOn(commonTest)
}
val commonNonJvmTargetsTest by creating {
dependsOn(commonTest.get())
}

val jvmMain by getting {
dependsOn(commonJvmLikeMain)
repositories {
mavenCentral()
}
jvmMain {
dependsOn(commonJvmLikeMain)

dependencies {
implementation("io.ktor:ktor-client-cio:$ktorVersion")
}
repositories {
mavenCentral()
}

val jvmTest by getting {
dependsOn(commonJvmLikeTest)
dependencies {
implementation("io.ktor:ktor-client-cio:$ktorVersion")
}
}

val jsMain by getting {
dependencies {
implementation("io.ktor:ktor-client-js:$ktorVersion")
implementation(kotlin("stdlib-js"))
}
jvmTest.get().dependsOn(commonJvmLikeTest)

jsMain {
dependencies {
implementation("io.ktor:ktor-client-js:$ktorVersion")
implementation(kotlin("stdlib-js"))
}
}

val jsTest by getting {
dependsOn(commonNonJvmTargetsTest)
jsTest {
dependsOn(commonNonJvmTargetsTest)

dependencies {
implementation(kotlin("test-js"))
}
dependencies {
implementation(kotlin("test-js"))
}
}

val androidMain by getting {
dependsOn(commonJvmLikeMain)
androidMain {
dependsOn(commonJvmLikeMain)

repositories {
mavenCentral()
}
repositories {
mavenCentral()
}

dependencies {
val androidSpotifyAuthVersion: String by project
val androidCryptoVersion: String by project
val androidxCompatVersion: String by project
dependencies {
val androidSpotifyAuthVersion: String by project
val androidCryptoVersion: String by project
val androidxCompatVersion: String by project

api("com.spotify.android:auth:$androidSpotifyAuthVersion")
implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
implementation("androidx.security:security-crypto:$androidCryptoVersion")
implementation("androidx.appcompat:appcompat:$androidxCompatVersion")
}
api("com.spotify.android:auth:$androidSpotifyAuthVersion")
implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
implementation("androidx.security:security-crypto:$androidCryptoVersion")
implementation("androidx.appcompat:appcompat:$androidxCompatVersion")
}
}

val androidUnitTest by getting {
dependsOn(commonJvmLikeTest)
}
val androidUnitTest by getting {
dependsOn(commonJvmLikeTest)
}

// as kotlin/native, they require special ktor versions
val desktopMain by creating {
dependsOn(commonMain)
// desktop targets
// as kotlin/native, they require special ktor versions
val desktopMain by creating {
dependsOn(commonMain.get())

dependencies {
implementation("io.ktor:ktor-client-curl:$ktorVersion")
}
dependencies {
implementation("io.ktor:ktor-client-curl:$ktorVersion")
}
}

val nativeDarwinMain by creating {
dependsOn(commonMain)
linuxMain.get().dependsOn(desktopMain)
mingwMain.get().dependsOn(desktopMain)
macosMain.get().dependsOn(desktopMain)

dependencies {
implementation("io.ktor:ktor-client-ios:$ktorVersion")
}
val desktopTest by creating { dependsOn(commonNonJvmTargetsTest) }
linuxTest.get().dependsOn(desktopTest)
mingwTest.get().dependsOn(desktopTest)
macosTest.get().dependsOn(desktopTest)

// darwin targets

val nativeDarwinMain by creating {
dependsOn(commonMain.get())

dependencies {
implementation("io.ktor:ktor-client-ios:$ktorVersion")
}
}

val nativeDarwinTest by creating { dependsOn(commonNonJvmTargetsTest) }

iosMain.get().dependsOn(nativeDarwinMain)
iosTest.get().dependsOn(nativeDarwinTest)

// desktop targets
val desktopTest by creating { dependsOn(commonNonJvmTargetsTest) }
val linuxX64Main by getting { dependsOn(desktopMain) }
val linuxX64Test by getting { dependsOn(desktopTest) }
val mingwX64Main by getting { dependsOn(desktopMain) }
val mingwX64Test by getting { dependsOn(desktopTest) }
val macosX64Main by getting { dependsOn(desktopMain) }
val macosX64Test by getting { dependsOn(desktopTest) }

// darwin targets
val nativeDarwinTest by creating { dependsOn(commonNonJvmTargetsTest) }
val iosMain by getting { dependsOn(nativeDarwinMain) }
val iosTest by getting { dependsOn(nativeDarwinTest) }

// !! unable to include currently due to korlibs not being available !!
//val tvosMain by getting { dependsOn(nativeDarwinMain) }
//val tvosTest by getting { dependsOn(nativeDarwinTest) }
//val watchosMain by getting { dependsOn(nativeDarwinMain) }
//val watchosTest by getting { dependsOn(nativeDarwinTest) }

all { languageSettings.optIn("kotlin.RequiresOptIn") }
all {
languageSettings.optIn("kotlin.RequiresOptIn")
languageSettings.optIn("kotlinx.serialization.ExperimentalSerializationApi")
}
}

Expand All @@ -307,7 +314,7 @@ kotlin {
}

tasks {
val dokkaHtml by getting(DokkaTask::class) {
dokkaHtml {
outputDirectory.set(projectDir.resolve("docs"))

dokkaSourceSets {
Expand Down Expand Up @@ -352,7 +359,7 @@ tasks {
val framework = kotlin.targets.getByName<KotlinNativeTarget>(targetName).binaries.getFramework(mode)
inputs.property("mode", mode)
dependsOn(framework.linkTask)
val targetDir = File(buildDir, "xcode-frameworks")
val targetDir = File(layout.buildDirectory.asFile.get(), "xcode-frameworks")
from({ framework.outputDirectory })
into(targetDir)
}
Expand Down
13 changes: 7 additions & 6 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,23 +2,24 @@ systemProp.org.gradle.internal.publish.checksums.insecure=true

org.gradle.daemon=true
org.gradle.jvmargs=-Xmx8000m
org.gradle.caching=true

# android target settings
android.useAndroidX=true
android.enableJetifier=true

# language dependencies
kotlinVersion=1.9.20
kotlinVersion=1.9.22

# library dependencies
kotlinxDatetimeVersion=0.4.1
kotlinxSerializationVersion=1.6.0
ktorVersion=2.3.4
kotlinxDatetimeVersion=0.5.0
kotlinxSerializationVersion=1.6.2
ktorVersion=2.3.8
korlibsVersion=3.4.0
kotlinxCoroutinesVersion=1.7.3

androidBuildToolsVersion=8.1.0
androidSpotifyAuthVersion=2.1.0
androidBuildToolsVersion=8.2.2
androidSpotifyAuthVersion=2.1.1
androidCryptoVersion=1.1.0-alpha06
androidxCompatVersion=1.6.1

Expand Down
Binary file modified gradle/wrapper/gradle-wrapper.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
Loading

0 comments on commit 507416f

Please sign in to comment.