Skip to content

Commit

Permalink
Add desktop target to connection sample (#1009)
Browse files Browse the repository at this point in the history
**Background**

Experimental desktop support added to sample to support KMP

**Changes**
- Add desktop target to sample
- Remove unnecessary dependendencies

**Test plan**
Launch desktop and android project
```bash
./gradlew :components:bridge:connection:sample:desktop:run
```
  • Loading branch information
LionZXY authored Jan 13, 2025
1 parent 451e377 commit 483c0fd
Show file tree
Hide file tree
Showing 175 changed files with 1,007 additions and 2,748 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ object ApkConfig {
const val COMPILE_SDK_VERSION = 35
const val ROBOELECTRIC_SDK_VERSION = 34

private const val DEBUG_VERSION = "DEBUG_VERSION"
private const val DEBUG_VERSION = "1.0.0"

val Project.VERSION_CODE
get() = prop("version_code", Integer.MAX_VALUE).toInt()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
import com.android.build.gradle.BaseExtension
import com.flipperdevices.buildlogic.ApkConfig
import com.flipperdevices.buildlogic.ApkConfig.IS_SENTRY_PUBLISH
import gradle.kotlin.dsl.accessors._7a4d13f58a317316fed3ebe1f66c7d31.compose
import gradle.kotlin.dsl.accessors._7a4d13f58a317316fed3ebe1f66c7d31.kotlin
import gradle.kotlin.dsl.accessors._7a4d13f58a317316fed3ebe1f66c7d31.sourceSets
import io.sentry.android.gradle.extensions.SentryPluginExtension
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id("com.android.application")
id("org.jetbrains.kotlin.multiplatform")
id("io.sentry.android.gradle")
id("flipper.lint")
id("org.jetbrains.compose")
id("org.jetbrains.kotlin.plugin.compose")
}

@Suppress("UnstableApiUsage")
configure<BaseExtension> {
commonAndroid(project)

defaultConfig {
applicationId = ApkConfig.APPLICATION_ID
}

buildTypes {
internal {
isShrinkResources = true
isMinifyEnabled = true
consumerProguardFile(
"proguard-rules.pro"
)
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
release {
isShrinkResources = true
isMinifyEnabled = true
consumerProguardFile(
"proguard-rules.pro"
)
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
}

@OptIn(ExperimentalKotlinGradlePluginApi::class)
kotlin {
androidTarget {
compilerOptions {
jvmTarget = JvmTarget.JVM_1_8
}
}
jvm("desktop")

applyDefaultHierarchyTemplate {
common {
group("jvmShared") {
withAndroidTarget()
withJvm()
}
}
}

sourceSets {
androidMain.dependencies {
implementation(libs.compose.tooling)
}
commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.ui)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
}
val desktopMain by getting
desktopMain.dependencies {
implementation(compose.desktop.currentOs)
}
}
}

includeCommonKspConfigurationTo("kspAndroid", "kspDesktop")

configure<SentryPluginExtension> {
autoUploadProguardMapping.set(IS_SENTRY_PUBLISH)
telemetry.set(false)

ignoredBuildTypes.set(setOf("release", "debug"))

autoInstallation.enabled.set(false)
}
7 changes: 4 additions & 3 deletions components/analytics/metric/noop/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
plugins {
id("flipper.android-lib")
id("flipper.anvil")
id("flipper.multiplatform")
id("flipper.multiplatform-dependencies")
id("flipper.anvil-multiplatform")
}

android.namespace = "com.flipperdevices.metric.noop"

dependencies {
commonDependencies {
implementation(projects.components.analytics.metric.api)

implementation(projects.components.core.di)
Expand Down
1 change: 0 additions & 1 deletion components/analytics/shake2report/impl/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@ dependencies {
implementation(libs.kotlin.coroutines)
implementation(libs.kotlin.immutable.collections)
implementation(libs.lifecycle.runtime.ktx)
implementation(libs.lifecycle.viewmodel.ktx)

implementation(libs.timber)
implementation(libs.timber.tressence)
Expand Down
11 changes: 4 additions & 7 deletions components/analytics/shake2report/noop/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,20 +1,17 @@
plugins {
id("flipper.android-compose")
id("flipper.anvil")
id("flipper.multiplatform-compose")
id("flipper.multiplatform-dependencies")
id("flipper.anvil-multiplatform")
}

android.namespace = "com.flipperdevices.shake2report.noop"

dependencies {
commonDependencies {
implementation(projects.components.analytics.shake2report.api)
implementation(projects.components.bridge.api)
implementation(projects.components.core.di)
implementation(projects.components.core.ui.decompose)

implementation(libs.annotations)
implementation(libs.appcompat)

implementation(libs.compose.ui)

implementation(libs.bundles.decompose)
}
1 change: 0 additions & 1 deletion components/archive/category/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ dependencies {
implementation(libs.compose.material)
implementation(libs.bundles.decompose)

implementation(libs.lifecycle.viewmodel.ktx)
implementation(libs.lifecycle.compose)

implementation(libs.kotlin.immutable.collections)
Expand Down
2 changes: 1 addition & 1 deletion components/archive/impl/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,6 @@ dependencies {

// Lifecycle
implementation(libs.lifecycle.runtime.ktx)
implementation(libs.lifecycle.viewmodel.ktx)

implementation(libs.lifecycle.compose)
}
1 change: 0 additions & 1 deletion components/archive/search/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@ dependencies {
implementation(libs.bundles.decompose)

implementation(libs.lifecycle.compose)
implementation(libs.lifecycle.viewmodel.ktx)

implementation(libs.kotlin.immutable.collections)
}
1 change: 0 additions & 1 deletion components/bottombar/impl/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -45,5 +45,4 @@ dependencies {
implementation(libs.kotlin.coroutines)
implementation(libs.kotlin.immutable.collections)
implementation(libs.lifecycle.runtime.ktx)
implementation(libs.lifecycle.viewmodel.ktx)
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ interface FlipperActionNotifier {
fun notifyAboutAction()

fun interface Factory {
fun invoke(scope: CoroutineScope): FlipperActionNotifier
operator fun invoke(scope: CoroutineScope): FlipperActionNotifier
}
}
2 changes: 2 additions & 0 deletions components/bridge/connection/sample/android/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/build
internal
23 changes: 23 additions & 0 deletions components/bridge/connection/sample/android/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
plugins {
id("flipper.android-app-multiplatform")
id("com.google.devtools.ksp")
id("flipper.anvil.entrypoint")
id("kotlinx-serialization")
id("flipper.multiplatform-dependencies")
}

android.namespace = "com.flipperdevices.bridge.connection.sample.android"

android {
defaultConfig {
applicationId = "com.flipperdevices.bridge.connection"
}
}

commonDependencies {
implementation(projects.components.bridge.connection.sample.shared)
}

dependencies {
commonKsp(libs.dagger.compiler)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
</manifest>
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.flipperdevices.bridge.connection.di

@Singleton
@MergeComponent(AppGraph::class)
interface AndroidAppComponent : AppComponent {
@MergeComponent.Factory
interface Factory {
fun create(
@BindsInstance context: Context,
@BindsInstance application: Application,
@BindsInstance applicationParams: ApplicationParams
): AndroidAppComponent
}
}
128 changes: 0 additions & 128 deletions components/bridge/connection/sample/build.gradle.kts

This file was deleted.

Loading

0 comments on commit 483c0fd

Please sign in to comment.