Skip to content

Commit ba35fea

Browse files
committed
[SHARED] Add support for local server for development
1 parent 756a119 commit ba35fea

File tree

6 files changed

+40
-4
lines changed

6 files changed

+40
-4
lines changed

shared/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ plugins {
55
id("com.android.library")
66
id("kotlin-android-extensions")
77
id("kotlinx-serialization")
8+
id("com.codingfeline.buildkonfig") version "0.7.0"
89
}
910
group = "me.moallemi.kmpshowcase"
1011
version = "1.0-SNAPSHOT"
@@ -126,4 +127,6 @@ val packForXcode by tasks.creating(Sync::class) {
126127
from({ framework.outputDirectory })
127128
into(targetDir)
128129
}
129-
tasks.getByName("build").dependsOn(packForXcode)
130+
tasks.getByName("build").dependsOn(packForXcode)
131+
132+
apply(from = "buildKonfig.gradle")

shared/buildKonfig.gradle

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
buildkonfig {
2+
packageName = "me.moallemi.kmpshowcase.shared"
3+
4+
// default config is required
5+
defaultConfigs {
6+
buildConfigField 'STRING', 'API_BASE_URL', 'http://localhost:9090'
7+
}
8+
9+
targetConfigs {
10+
android {
11+
buildConfigField 'STRING', 'API_BASE_URL', 'http://10.0.2.2:9090'
12+
}
13+
14+
ios {
15+
buildConfigField 'STRING', 'API_BASE_URL', 'http://127.0.0.1:9090'
16+
}
17+
}
18+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package me.moallemi.kmpshowcase.shared.network.api
2+
3+
import me.moallemi.kmpshowcase.shared.BuildKonfig
4+
5+
actual val API_BASE_URL: String = BuildKonfig.API_BASE_URL

shared/src/commonMain/kotlin/me/moallemi/kmpshowcase/shared/network/api/KmpShowcaseApi.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ import io.ktor.client.HttpClient
44
import io.ktor.client.request.get
55
import me.moallemi.kmpshowcase.shared.network.response.AppsResponseDto
66

7+
expect val API_BASE_URL: String
8+
79
class KmpShowcaseApi(
810
private val httpClient: HttpClient,
911
) {
10-
private val baseUrl = "https://kmp-showcase.herokuapp.com"
11-
12-
suspend fun getApps(): AppsResponseDto = httpClient.get("$baseUrl/api/v1/apps")
12+
suspend fun getApps(): AppsResponseDto = httpClient.get("$API_BASE_URL/api/v1/apps")
1313
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package me.moallemi.kmpshowcase.shared.network.api
2+
3+
import me.moallemi.kmpshowcase.shared.BuildKonfig
4+
5+
actual val API_BASE_URL: String = BuildKonfig.API_BASE_URL
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package me.moallemi.kmpshowcase.shared.network.api
2+
3+
import me.moallemi.kmpshowcase.shared.BuildKonfig
4+
5+
actual val API_BASE_URL: String = BuildKonfig.API_BASE_URL

0 commit comments

Comments
 (0)