Skip to content

Commit dbd19cb

Browse files
committed
Move utils depending on material3 to separate module
1 parent 9148e63 commit dbd19cb

File tree

11 files changed

+79
-7
lines changed

11 files changed

+79
-7
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ dependencies {
4444
implementation "com.github.w2sv.Composed:core:<version>"
4545
// Permission utils
4646
implementation "com.github.w2sv.Composed:permissions:<version>"
47+
// Material3 utils
48+
implementation "com.github.w2sv.Composed:material3:<version>"
4749
}
4850
```
4951

composed-core/build.gradle.kts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,15 @@ publishing {
3939
}
4040

4141
dependencies {
42+
implementation(libs.compose.foundation)
4243
implementation(libs.compose.ui)
4344
implementation(libs.compose.ui.tooling)
44-
implementation(libs.compose.material3)
4545
implementation(libs.androidx.core.ktx)
4646
implementation(libs.androidx.annotation)
47+
implementation(libs.androidx.compose.animation.core)
48+
4749
testImplementation(libs.junit)
4850
testImplementation(libs.roboelectric)
4951
testImplementation(libs.androidx.ui.test.junit4.android)
52+
testImplementation(libs.compose.material3)
5053
}

composed-core/src/test/kotlin/com/w2sv/composed/core/extensions/ModifierKtTest.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import androidx.compose.foundation.layout.padding
55
import androidx.compose.ui.Modifier
66
import androidx.compose.ui.graphics.Color
77
import androidx.compose.ui.unit.dp
8-
import com.w2sv.composed.core.extensions.thenIf
98
import junit.framework.TestCase.assertEquals
109
import org.junit.Test
1110

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
plugins {
2+
id("w2sv.android-library")
3+
id("w2sv.compose-module")
4+
alias(libs.plugins.kover)
5+
}
6+
7+
publishing {
8+
publications {
9+
register<MavenPublication>("release") {
10+
groupId = "com.w2sv.composed"
11+
artifactId = "material3"
12+
version = version.toString()
13+
pom {
14+
developers {
15+
developer {
16+
id.set("w2sv")
17+
name.set("Janek Zangenberg")
18+
}
19+
}
20+
description.set("Material3 utils for development with Jetpack Compose.")
21+
url.set("https://github.com/w2sv/Composed")
22+
licenses {
23+
license {
24+
name.set("The Apache Software License, Version 2.0")
25+
url.set("http://www.apache.org/licenses/LICENSE-2.0.txt")
26+
}
27+
}
28+
}
29+
30+
afterEvaluate {
31+
from(components["release"])
32+
}
33+
}
34+
}
35+
}
36+
37+
dependencies {
38+
implementation(projects.composed.composedCore)
39+
40+
implementation(libs.compose.ui)
41+
implementation(libs.compose.ui.tooling)
42+
implementation(libs.compose.material3)
43+
implementation(libs.androidx.core.ktx)
44+
implementation(libs.androidx.annotation)
45+
46+
testImplementation(libs.junit)
47+
testImplementation(libs.roboelectric)
48+
testImplementation(libs.androidx.ui.test.junit4.android)
49+
}

composed-core/src/main/kotlin/com/w2sv/composed/core/Layout.kt renamed to composed-material3/src/main/kotlin/com/w2sv/composed/material3/Layout.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.w2sv.composed.core
1+
package com.w2sv.composed.material3
22

33
import android.annotation.SuppressLint
44
import androidx.compose.foundation.layout.Arrangement

composed-core/src/main/kotlin/com/w2sv/composed/core/extensions/DrawerState.kt renamed to composed-material3/src/main/kotlin/com/w2sv/composed/material3/extensions/DrawerState.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.w2sv.composed.core.extensions
1+
package com.w2sv.composed.material3.extensions
22

33
import androidx.annotation.FloatRange
44
import androidx.compose.material3.DrawerDefaults
@@ -7,6 +7,7 @@ import androidx.compose.runtime.Composable
77
import androidx.compose.runtime.State
88
import androidx.compose.runtime.derivedStateOf
99
import androidx.compose.runtime.remember
10+
import com.w2sv.composed.core.extensions.toPx
1011

1112
/**
1213
* @return Float [State] whose value ranges from 0.0 (drawer fully closed) to 1.0 (drawer fully open).

composed-core/src/main/kotlin/com/w2sv/composed/core/extensions/SnackbarHostState.kt renamed to composed-material3/src/main/kotlin/com/w2sv/composed/material3/extensions/SnackbarHostState.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.w2sv.composed.core.extensions
1+
package com.w2sv.composed.material3.extensions
22

33
import androidx.compose.material3.SnackbarDuration
44
import androidx.compose.material3.SnackbarHostState
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<application>
5+
<activity
6+
android:name="androidx.activity.ComponentActivity"
7+
android:exported="true">
8+
<intent-filter>
9+
<action android:name="android.intent.action.MAIN" />
10+
<category android:name="android.intent.category.LAUNCHER" />
11+
</intent-filter>
12+
</activity>
13+
</application>
14+
</manifest>

composed-core/src/test/kotlin/com/w2sv/composed/core/extensions/DrawerStateKtTest.kt renamed to composed-material3/src/test/kotlin/com/w2sv/composed/material3/extensions/DrawerStateKtTest.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
1-
package com.w2sv.composed.core.extensions
1+
package com.w2sv.composed.material3.extensions
22

33
import androidx.compose.material3.DrawerState
44
import androidx.compose.material3.DrawerValue
55
import androidx.compose.material3.ModalNavigationDrawer
66
import androidx.compose.runtime.getValue
77
import androidx.compose.ui.test.junit4.createComposeRule
8-
import com.w2sv.composed.core.extensions.visibilityPercentage
8+
import com.w2sv.composed.material3.extensions.visibilityPercentage
99
import kotlin.properties.Delegates
1010
import kotlinx.coroutines.test.runTest
1111
import org.junit.Assert.assertEquals

gradle/libs.versions.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,21 @@ ktlint = "14.0.1"
1313
robolectric = "4.16"
1414
uiTestJunit4Android = "1.10.0"
1515
versionCatalogUpdate = "1.0.1"
16+
androidxComposeAnimation = "1.10.0"
1617

1718
[libraries]
1819
androidx-annotation = { module = "androidx.annotation:annotation", version.ref = "androidx-annotation" }
1920
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core-ktx" }
2021
androidx-ui-test-junit4-android = { module = "androidx.compose.ui:ui-test-junit4-android", version.ref = "uiTestJunit4Android" }
2122
compose-lint-checks = { module = "com.slack.lint.compose:compose-lint-checks", version.ref = "compose-lint-checks" }
2223
compose-material3 = { module = "androidx.compose.material3:material3", version.ref = "compose-material3" }
24+
compose-foundation = { module = "androidx.compose.foundation:foundation", version.ref = "compose-ui" }
2325
compose-ui = { module = "androidx.compose.ui:ui", version.ref = "compose-ui" }
2426
compose-ui-tooling = { module = "androidx.compose.ui:ui-tooling", version.ref = "compose-ui" }
2527
google-accompanist-permissions = { module = "com.google.accompanist:accompanist-permissions", version.ref = "google-accompanist-permissions" }
2628
junit = { module = "junit:junit", version.ref = "junit" }
2729
roboelectric = { module = "org.robolectric:robolectric", version.ref = "robolectric" }
30+
androidx-compose-animation-core = { group = "androidx.compose.animation", name = "animation-core", version.ref = "androidxComposeAnimation" }
2831

2932
[plugins]
3033
android-library = { id = "com.android.library", version.ref = "agp" }

0 commit comments

Comments
 (0)