Skip to content

Commit

Permalink
Make sample app multiplatform (WIP)
Browse files Browse the repository at this point in the history
Co-authored-by: Patryk Goworowski <[email protected]>
  • Loading branch information
patrickmichalik and Gowsky committed Feb 2, 2025
1 parent 9d785c0 commit acc124b
Show file tree
Hide file tree
Showing 111 changed files with 2,180 additions and 956 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,4 @@ jobs:
- uses: actions/upload-artifact@v4
with:
name: sample-debug
path: sample/build/outputs/apk/debug/**.apk
path: sample/app/build/outputs/apk/debug/**.apk
2 changes: 1 addition & 1 deletion .github/workflows/release-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
- uses: softprops/action-gh-release@v2
with:
draft: true
files: ${{ github.workspace }}/vico/sample/build/outputs/apk/debug/*.apk
files: ${{ github.workspace }}/vico/sample/app/build/outputs/apk/debug/*.apk
prerelease: ${{ env.IS_PRERELEASE }}
tag_name: ${{ env.TAG_NAME }}
token: ${{ secrets.BOT_PAT }}
Expand Down
8 changes: 2 additions & 6 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,12 @@ androidXCore = "1.15.0"
appcompat = "1.7.0"
composeBom = "2025.01.00"
composeMultiplatform = "1.7.3"
composeNavigation = "2.8.5"
composeNavigation = "2.8.0-alpha12"
composeStableMarker = "1.0.5"
coroutines = "1.10.1"
dokka = "2.0.0"
jupiter = "5.11.4"
kotlin = "2.1.0"
lifecycle = "2.8.7"
material = "1.12.0"
mavenPublish = "0.30.0"
mockK = "1.13.16"
Expand All @@ -31,7 +30,7 @@ composeFoundation = { group = "androidx.compose.foundation", name = "foundation"
composeMaterial = { group = "androidx.compose.material", name = "material" }
composeMaterial3 = { group = "androidx.compose.material3", name = "material3" }
composeMultiplatform = { group = "org.jetbrains.compose", name = "compose-gradle-plugin", version.ref = "composeMultiplatform" }
composeNavigation = { group = "androidx.navigation", name = "navigation-compose", version.ref = "composeNavigation" }
composeNavigation = { group = "org.jetbrains.androidx.navigation", name = "navigation-compose", version.ref = "composeNavigation" }
composePreview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
composeStableMarker = { group = "com.github.skydoves", name = "compose-stable-marker", version.ref = "composeStableMarker" }
composeUI = { group = "androidx.compose.ui", name = "ui" }
Expand All @@ -45,10 +44,7 @@ kotlinAndroid = { group = "org.jetbrains.kotlin.android", name = "org.jetbrains.
kotlinMultiplatform = { group = "org.jetbrains.kotlin.multiplatform", name = "org.jetbrains.kotlin.multiplatform.gradle.plugin", version.ref = "kotlin" }
kotlinStdLib = { group = "org.jetbrains.kotlin", name = "kotlin-stdlib", version.ref = "kotlin" }
kotlinTest = { group = "org.jetbrains.kotlin", name = "kotlin-test", version.ref = "kotlin" }
lifecycleRuntime = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycle" }
lifecycleRuntimeCompose = { group = "androidx.lifecycle", name = "lifecycle-runtime-compose", version.ref = "lifecycle" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
mavenPublish = { group = "com.vanniktech.maven.publish", name = "com.vanniktech.maven.publish.gradle.plugin", version.ref = "mavenPublish" }
mockK = { group = "io.mockk", name = "mockk", version.ref = "mockK" }
testCore = { group = "androidx.test", name = "core-ktx", version.ref = "testCore" }
viewModelCompose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "lifecycle" }
56 changes: 28 additions & 28 deletions sample/build.gradle.kts → sample/app/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,17 +14,16 @@
* limitations under the License.
*/

import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
id("com.android.application")
id("kotlin-android")
id("org.jetbrains.compose")
id("org.jetbrains.kotlin.multiplatform")
id("org.jetbrains.kotlin.plugin.compose")
}

android {
buildFeatures {
viewBinding = true
compose = true
}
buildTypes {
release {
isMinifyEnabled = false
Expand All @@ -41,31 +40,32 @@ android {
targetSdk = Versions.COMPILE_SDK
versionName = Versions.VICO
}
kotlinOptions { jvmTarget = JavaVersion.VERSION_1_8.toString() }
namespace = "com.patrykandpatrick.vico"
}

composeCompiler { reportsDestination = layout.buildDirectory.dir("reports") }
dependencies { debugImplementation(compose.uiTooling) }

dependencies {
debugImplementation(libs.composeUITooling)
implementation(libs.activityCompose)
implementation(libs.androidXCore)
implementation(libs.appcompat)
implementation(libs.composeMaterial)
implementation(libs.composeMaterial3)
implementation(libs.composeNavigation)
implementation(libs.composePreview)
implementation(libs.composeUI)
implementation(libs.composeViewBinding)
implementation(libs.coroutinesCore)
implementation(libs.kotlinStdLib)
implementation(libs.lifecycleRuntime)
implementation(libs.lifecycleRuntimeCompose)
implementation(libs.material)
implementation(libs.viewModelCompose)
implementation(platform(libs.composeBom))
implementation(project(":vico:compose-m3"))
implementation(project(":vico:views"))
testImplementation(libs.kotlinTest)
kotlin {
androidTarget { compilerOptions { jvmTarget.set(JvmTarget.JVM_1_8) } }
listOf(iosX64(), iosArm64(), iosSimulatorArm64()).forEach { iosTarget ->
iosTarget.binaries.framework {
baseName = "Sample"
isStatic = true
}
}
sourceSets {
androidMain.dependencies {
implementation(compose.preview)
implementation(libs.activityCompose)
implementation(libs.material)
implementation(project(":sample:compose"))
implementation(project(":sample:multiplatform"))
implementation(project(":sample:views"))
}
commonMain.dependencies {
implementation(compose.material3)
implementation(libs.composeNavigation)
implementation(project(":sample:multiplatform"))
}
}
}
2 changes: 2 additions & 0 deletions sample/app/ios/Configuration/Config.xcconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
APP_NAME=Vico
BUNDLE_ID=com.patrykandpatrick.vico.sample
Loading

0 comments on commit acc124b

Please sign in to comment.