Skip to content

Commit 5a55210

Browse files
authored
Merge pull request #200 from YAPP-Github/BOOK-381-feature/#199
feat: Compose Stability Analyzer Plugin 적용
2 parents c846285 + 0ad113a commit 5a55210

File tree

56 files changed

+2213
-9
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+2213
-9
lines changed

.github/workflows/android-ci.yml

Lines changed: 38 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ jobs:
2121
- name: Checkout
2222
uses: actions/checkout@v4
2323

24-
- name: Setup JDK 17
24+
- name: Setup JDK 21
2525
uses: actions/setup-java@v4
2626
with:
2727
distribution: 'corretto'
28-
java-version: 17
28+
java-version: 21
2929

3030
- name: Setup Android SDK
3131
uses: android-actions/setup-android@v2
@@ -50,3 +50,39 @@ jobs:
5050
5151
- name: Run build
5252
run: ./gradlew buildDebug --stacktrace
53+
54+
stability_check:
55+
name: Compose Stability Check
56+
runs-on: ubuntu-latest
57+
58+
if: ${{ !contains(github.event.pull_request.labels.*.name, 'skip-ci') }}
59+
60+
steps:
61+
- name: Checkout
62+
uses: actions/checkout@v4
63+
64+
- name: Setup JDK 21
65+
uses: actions/setup-java@v4
66+
with:
67+
distribution: 'corretto'
68+
java-version: 21
69+
70+
- name: Setup Android SDK
71+
uses: android-actions/setup-android@v2
72+
73+
- name: Setup Gradle
74+
uses: gradle/gradle-build-action@v2
75+
with:
76+
gradle-home-cache-cleanup: true
77+
78+
- name: Generate local.properties
79+
run: echo '${{ secrets.LOCAL_PROPERTIES }}' | base64 -d > ./local.properties
80+
81+
- name: Generate keystore.properties
82+
run: echo '${{ secrets.KEYSTORE_PROPERTIES }}' | base64 -d > ./keystore.properties
83+
84+
- name: Generate google-services.json
85+
run: echo '${{ secrets.GOOGLE_SERVICES }}' | base64 -d > ./app/google-services.json
86+
87+
- name: Compose Stability Check
88+
run: ./gradlew stabilityCheck

app/build.gradle.kts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,10 @@ android {
5959
}
6060
}
6161

62+
composeStabilityAnalyzer {
63+
enabled.set(true)
64+
}
65+
6266
ksp {
6367
arg("circuit.codegen.mode", "hilt")
6468
}

app/stability/app.stability

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// This file was automatically generated by Compose Stability Analyzer
2+
// https://github.com/skydoves/compose-stability-analyzer
3+
//
4+
// Do not edit this file directly. To update it, run:
5+
// ./gradlew :app:stabilityDump
6+
7+
@Composable
8+
public fun com.ninecraft.booket.di.CrossFadeNavDecorator.Decoration(targetState: com.slack.circuit.foundation.NavigatorDefaults.DefaultDecorator.DefaultAnimatedState<T of com.ninecraft.booket.di.CrossFadeNavDecorator>, innerContent: @[Composable] androidx.compose.runtime.internal.ComposableFunction1<T of com.ninecraft.booket.di.CrossFadeNavDecorator, kotlin.Unit>): kotlin.Unit
9+
skippable: false
10+
restartable: true
11+
params:
12+
- targetState: RUNTIME (requires runtime check)
13+
- innerContent: STABLE (composable function type)
14+
15+
@Composable
16+
public fun com.ninecraft.booket.di.CrossFadeNavDecorator.updateTransition(args: kotlinx.collections.immutable.ImmutableList<T of com.ninecraft.booket.di.CrossFadeNavDecorator>): androidx.compose.animation.core.Transition<com.slack.circuit.foundation.NavigatorDefaults.DefaultDecorator.DefaultAnimatedState<T of com.ninecraft.booket.di.CrossFadeNavDecorator>>
17+
skippable: true
18+
restartable: true
19+
params:
20+
- args: STABLE (known stable type)
21+

build-logic/src/main/kotlin/AndroidApplicationComposeConventionPlugin.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ internal class AndroidApplicationComposeConventionPlugin : Plugin<Project> {
1212
applyPlugins(
1313
Plugins.ANDROID_APPLICATION,
1414
Plugins.KOTLIN_COMPOSE,
15+
Plugins.COMPOSE_STABILITY_ANALYZER,
1516
)
1617

1718
extensions.configure<ApplicationExtension> {
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
// This file was automatically generated by Compose Stability Analyzer
2+
// https://github.com/skydoves/compose-stability-analyzer
3+
//
4+
// Do not edit this file directly. To update it, run:
5+
// ./gradlew :common:stabilityDump
6+
7+
@Composable
8+
public fun com.ninecraft.booket.core.common.utils.HighlightedText(fullText: kotlin.String, highlightText: kotlin.String, highlightColor: androidx.compose.ui.graphics.Color): androidx.compose.ui.text.AnnotatedString
9+
skippable: true
10+
restartable: true
11+
params:
12+
- fullText: STABLE (String is immutable)
13+
- highlightText: STABLE (String is immutable)
14+
- highlightColor: STABLE (marked @Stable or @Immutable)
15+
16+
@Composable
17+
public fun com.ninecraft.booket.core.common.utils.UiText.DirectString.asString(): kotlin.String
18+
skippable: true
19+
restartable: true
20+
params:
21+
22+
@Composable
23+
public fun com.ninecraft.booket.core.common.utils.UiText.StringResource.asString(): kotlin.String
24+
skippable: true
25+
restartable: true
26+
params:
27+
28+
@Composable
29+
public fun com.ninecraft.booket.core.common.utils.UiText.asString(): kotlin.String
30+
skippable: true
31+
restartable: true
32+
params:
33+

0 commit comments

Comments
 (0)