Skip to content

Commit

Permalink
Add foundation modules
Browse files Browse the repository at this point in the history
Signed-off-by: Matt Ramotar <[email protected]>
  • Loading branch information
matt-ramotar committed May 3, 2024
1 parent 4d5e36c commit e90c3d2
Show file tree
Hide file tree
Showing 4 changed files with 127 additions and 1 deletion.
23 changes: 23 additions & 0 deletions experimental/sample/scoop/xplat/foundation/di/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
plugins {
id("plugin.octonaut.android.library")
id("plugin.octonaut.kotlin.multiplatform")
alias(libs.plugins.serialization)
alias(libs.plugins.compose)
}

kotlin {
sourceSets {
commonMain {
dependencies {
api(compose.runtime)
api(compose.components.resources)
api(libs.circuit.foundation)
implementation(libs.kotlinInject.runtime)
}
}
}
}

android {
namespace = "monster.scoop.xplat.foundation.di"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
plugins {
id("plugin.octonaut.android.library")
id("plugin.octonaut.kotlin.multiplatform")
alias(libs.plugins.serialization)
alias(libs.plugins.compose)
id("com.apollographql.apollo3") version "3.8.2"
}

kotlin {
sourceSets {
commonMain {
dependencies {
api(compose.runtime)
api(compose.components.resources)
api(libs.circuit.foundation)
api(libs.apollo.runtime)
api(libs.kotlinx.serialization.core)
api(project(":experimental:sample:scoop:xplat:foundation:di:api"))
api("io.github.pdvrieze.xmlutil:serialization:0.86.3")

}
}
}
}

android {
namespace = "monster.scoop.xplat.foundation.networking.api"
}

apollo {
service("service") {
packageName.set("monster.scoop.xplat.foundation.networking.api")
schemaFiles.from(file("src/commonMain/graphql/schema.graphqls"))
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
plugins {
id("plugin.octonaut.android.library")
id("plugin.octonaut.kotlin.multiplatform")
alias(libs.plugins.serialization)
alias(libs.plugins.compose)
alias(libs.plugins.ksp)
alias(libs.plugins.kotlin.plugin.parcelize)
}

kotlin {
androidTarget {
plugins.apply(libs.plugins.paparazzi.get().pluginId)
}

sourceSets {

commonMain {
dependencies {
implementation(compose.material3)
implementation(libs.kotlinx.coroutines.core)
implementation(libs.kotlinInject.runtime)
implementation(libs.ktor.core)
implementation(libs.ktor.negotiation)
implementation(libs.ktor.serialization.json)
implementation(libs.kotlinx.serialization.core)
api(project(":experimental:sample:octonaut:xplat:foundation:networking:api"))
api(project(":experimental:sample:octonaut:xplat:foundation:di:api"))
implementation("io.github.pdvrieze.xmlutil:serialization:0.86.3")
}
}

androidUnitTest {
dependencies {
implementation(kotlin("test"))
}
}

androidMain {
dependencies {
implementation("io.ktor:ktor-client-okhttp-jvm:2.3.7")
}
}
nativeMain {
dependencies {
implementation("io.ktor:ktor-client-darwin:2.3.7")
}
}
jvmMain {
dependencies {
implementation("io.ktor:ktor-client-apache5:2.3.7")
}
}
}
}

dependencies {
add("kspAndroid", libs.kotlinInject.compiler)
add("kspIosX64", libs.kotlinInject.compiler)
add("kspIosArm64", libs.kotlinInject.compiler)
}

android {
namespace = "monster.scoop.xplat.foundation.networking.impl"
}
6 changes: 5 additions & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,8 @@ include ':experimental:sample:octonaut:xplat:feat:notificationsTab:impl'
include ':experimental:sample:octonaut:xplat:feat:exploreTab:api'
include ':experimental:sample:octonaut:xplat:feat:exploreTab:impl'
include ':experimental:sample:octonaut:xplat:feat:profileTab:api'
include ':experimental:sample:octonaut:xplat:feat:profileTab:impl'
include ':experimental:sample:octonaut:xplat:feat:profileTab:impl'

include ':experimental:sample:scoop:xplat:foundation:di'
include ':experimental:sample:scoop:xplat:foundation:networking:api'
include ':experimental:sample:scoop:xplat:foundation:networking:impl'

0 comments on commit e90c3d2

Please sign in to comment.