This repository has no description
1import com.vanniktech.maven.publish.SonatypeHost
2import org.jetbrains.compose.ExperimentalComposeLibrary
3import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree
4
5mavenPublishing {
6 publishToMavenCentral(SonatypeHost.CENTRAL_PORTAL)
7 coordinates("com.performancecoachlab.posedetection", "posedetection-compose", "4.12.1")
8
9 pom {
10 name.set("Pose Detection")
11 description.set("real time body tracking for compose multiplatform mobile apps")
12 inceptionYear.set("2025")
13 url.set("https://tangled.sh/@nateholland.bsky.social/PoseDetection")
14 licenses {
15 license {
16 name.set("The Apache License, Version 2.0")
17 url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
18 distribution.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
19 }
20 }
21 developers {
22 developer {
23 id.set("nateholland")
24 name.set("Nate")
25 url.set("https://tangled.sh/@nateholland.bsky.social")
26 }
27 }
28 scm {
29 url.set("https://tangled.sh/@nateholland.bsky.social/PoseDetection")
30 connection.set("scm:git:git://tangled.sh/@nateholland.bsky.social/PoseDetection.git")
31 developerConnection.set("scm:git:ssh://git@tangled.sh:nateholland.bsky.social/PoseDetection")
32 }
33 }
34 //signAllPublications()
35}
36plugins {
37 alias(libs.plugins.multiplatform)
38 alias(libs.plugins.compose.compiler)
39 alias(libs.plugins.compose)
40 alias(libs.plugins.android.library)
41 id("com.vanniktech.maven.publish") version "0.31.0"
42}
43
44kotlin {
45 jvmToolchain(11)
46 androidTarget {
47 //https://www.jetbrains.com/help/kotlin-multiplatform-dev/compose-test.html
48 instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test)
49 }
50
51 listOf(
52 iosX64(),
53 iosArm64(),
54 iosSimulatorArm64()
55 ).forEach {
56 it.binaries.framework {
57 baseName = "ComposeApp"
58 isStatic = true
59 }
60 }
61
62 sourceSets {
63 commonMain.dependencies {
64 implementation(compose.runtime)
65 implementation(compose.foundation)
66 implementation(compose.material3)
67 implementation(compose.components.resources)
68 implementation(compose.components.uiToolingPreview)
69 api("co.touchlab:kermit:2.0.4")
70 }
71
72 commonTest.dependencies {
73 implementation(kotlin("test"))
74 @OptIn(ExperimentalComposeLibrary::class)
75 implementation(compose.uiTest)
76 }
77
78 androidMain.dependencies {
79 implementation(compose.uiTooling)
80 implementation(libs.androidx.activityCompose)
81 implementation(libs.androidx.camera.core)
82 implementation(libs.androidx.camera.camera2)
83 implementation(libs.androidx.camera.lifecycle)
84 implementation(libs.androidx.camera.video)
85 implementation(libs.androidx.camera.view)
86 implementation(libs.androidx.camera.extensions)
87 implementation(libs.androidx.camera.compose)
88 implementation(libs.pose.detection)
89 implementation(libs.pose.detection.common)
90 implementation(libs.androidx.media3.common.ktx)
91 implementation(libs.litert)
92 implementation(libs.litert.support)
93 implementation(libs.litert.metadata)
94 implementation(libs.litert.gpu)
95 }
96
97 }
98}
99
100android {
101 namespace = "com.performancecoachlab.posedetection"
102 compileSdk = 36
103 defaultConfig {
104 minSdk = 21
105 testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
106 }
107 buildFeatures {
108 mlModelBinding = true
109 }
110}
111
112//https://developer.android.com/develop/ui/compose/testing#setup
113dependencies {
114 androidTestImplementation(libs.androidx.uitest.junit4)
115 debugImplementation(libs.androidx.uitest.testManifest)
116}