Skip to content

Commit 74b2ef6

Browse files
authored
Add baseline modules with dependency-guard and manifest-shield (#123)
* Add baseline:readmore-view module with dependency-guard and manifest-shield Introduce a baseline app module to track readmore-view transitive dependencies and merged manifest changes. Create readmore.android.baseline convention plugin that applies com.android.application, dependency-guard, and manifest-shield. Move dependency tracking from sample module to the dedicated baseline module, and add manifestShield check to CI workflow. * Add baseline:readmore-foundation module Track transitive dependencies and merged manifest for readmore-foundation library. * Add baseline:readmore-material module Track transitive dependencies and merged manifest for readmore-material library. * Add baseline:readmore-material3 module Track transitive dependencies and merged manifest for readmore-material3 library. * Update manifest-shield to 0.1.9 Picks up default changes: startup=false, permissionProtected=false, and empty provider section fix. Baselines now only track uses-permission.
1 parent cc317ad commit 74b2ef6

File tree

23 files changed

+352
-46
lines changed

23 files changed

+352
-46
lines changed

.github/workflows/build.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ jobs:
3838
- name: Check dependencyGuard
3939
run: ./gradlew dependencyGuard
4040

41+
- name: Check manifestShield
42+
run: ./gradlew manifestShield
43+
4144
- name: Check spotless
4245
run: ./gradlew spotlessCheck --init-script gradle/init.gradle.kts --stacktrace
4346

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
plugins {
2+
id("readmore.android.baseline")
3+
}
4+
5+
android {
6+
namespace "com.webtoonscorp.android.readmore.foundation.baseline"
7+
defaultConfig {
8+
applicationId "com.webtoonscorp.android.readmore.foundation.baseline"
9+
}
10+
}
11+
12+
dependencies {
13+
implementation projects.readmoreFoundation
14+
}
15+
16+
dependencyGuard {
17+
configuration("releaseRuntimeClasspath")
18+
}
19+
20+
manifestShield {
21+
configuration("release")
22+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
androidx.activity:activity-ktx:1.7.0
2+
androidx.activity:activity:1.7.0
3+
androidx.annotation:annotation-experimental:1.4.1
4+
androidx.annotation:annotation-jvm:1.9.1
5+
androidx.annotation:annotation:1.9.1
6+
androidx.arch.core:core-common:2.2.0
7+
androidx.arch.core:core-runtime:2.2.0
8+
androidx.autofill:autofill:1.0.0
9+
androidx.collection:collection-jvm:1.5.0
10+
androidx.collection:collection-ktx:1.5.0
11+
androidx.collection:collection:1.5.0
12+
androidx.compose.animation:animation-android:1.9.0
13+
androidx.compose.animation:animation-core-android:1.9.0
14+
androidx.compose.animation:animation-core:1.9.0
15+
androidx.compose.animation:animation:1.9.0
16+
androidx.compose.foundation:foundation-android:1.9.0
17+
androidx.compose.foundation:foundation-layout-android:1.9.0
18+
androidx.compose.foundation:foundation-layout:1.9.0
19+
androidx.compose.foundation:foundation:1.9.0
20+
androidx.compose.runtime:runtime-android:1.9.0
21+
androidx.compose.runtime:runtime-annotation-android:1.9.0
22+
androidx.compose.runtime:runtime-annotation:1.9.0
23+
androidx.compose.runtime:runtime-saveable-android:1.9.0
24+
androidx.compose.runtime:runtime-saveable:1.9.0
25+
androidx.compose.runtime:runtime:1.9.0
26+
androidx.compose.ui:ui-android:1.9.0
27+
androidx.compose.ui:ui-geometry-android:1.9.0
28+
androidx.compose.ui:ui-geometry:1.9.0
29+
androidx.compose.ui:ui-graphics-android:1.9.0
30+
androidx.compose.ui:ui-graphics:1.9.0
31+
androidx.compose.ui:ui-text-android:1.9.0
32+
androidx.compose.ui:ui-text:1.9.0
33+
androidx.compose.ui:ui-unit-android:1.9.0
34+
androidx.compose.ui:ui-unit:1.9.0
35+
androidx.compose.ui:ui-util-android:1.9.0
36+
androidx.compose.ui:ui-util:1.9.0
37+
androidx.compose.ui:ui:1.9.0
38+
androidx.concurrent:concurrent-futures:1.1.0
39+
androidx.core:core-ktx:1.15.0
40+
androidx.core:core-viewtree:1.0.0
41+
androidx.core:core:1.15.0
42+
androidx.customview:customview-poolingcontainer:1.0.0
43+
androidx.emoji2:emoji2:1.4.0
44+
androidx.graphics:graphics-path:1.0.1
45+
androidx.interpolator:interpolator:1.0.0
46+
androidx.lifecycle:lifecycle-common-jvm:2.9.0
47+
androidx.lifecycle:lifecycle-common:2.9.0
48+
androidx.lifecycle:lifecycle-livedata-core:2.9.0
49+
androidx.lifecycle:lifecycle-process:2.9.0
50+
androidx.lifecycle:lifecycle-runtime-android:2.9.0
51+
androidx.lifecycle:lifecycle-runtime-compose-android:2.9.0
52+
androidx.lifecycle:lifecycle-runtime-compose:2.9.0
53+
androidx.lifecycle:lifecycle-runtime-ktx-android:2.9.0
54+
androidx.lifecycle:lifecycle-runtime-ktx:2.9.0
55+
androidx.lifecycle:lifecycle-runtime:2.9.0
56+
androidx.lifecycle:lifecycle-viewmodel-android:2.9.0
57+
androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.0
58+
androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.9.0
59+
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0
60+
androidx.lifecycle:lifecycle-viewmodel:2.9.0
61+
androidx.profileinstaller:profileinstaller:1.4.0
62+
androidx.savedstate:savedstate-android:1.3.0
63+
androidx.savedstate:savedstate-compose-android:1.3.0
64+
androidx.savedstate:savedstate-compose:1.3.0
65+
androidx.savedstate:savedstate-ktx:1.3.0
66+
androidx.savedstate:savedstate:1.3.0
67+
androidx.startup:startup-runtime:1.1.1
68+
androidx.tracing:tracing:1.2.0
69+
androidx.versionedparcelable:versionedparcelable:1.1.1
70+
com.google.guava:listenablefuture:1.0
71+
org.jetbrains.kotlin:kotlin-stdlib:2.0.21
72+
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1
73+
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1
74+
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1
75+
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1
76+
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
77+
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
78+
org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3
79+
org.jetbrains:annotations:23.0.0
80+
org.jspecify:jspecify:1.0.0
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
uses-permission:
2+
com.webtoonscorp.android.readmore.foundation.baseline.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest />
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
plugins {
2+
id("readmore.android.baseline")
3+
}
4+
5+
android {
6+
namespace "com.webtoonscorp.android.readmore.material.baseline"
7+
defaultConfig {
8+
applicationId "com.webtoonscorp.android.readmore.material.baseline"
9+
}
10+
}
11+
12+
dependencies {
13+
implementation projects.readmoreMaterial
14+
}
15+
16+
dependencyGuard {
17+
configuration("releaseRuntimeClasspath")
18+
}
19+
20+
manifestShield {
21+
configuration("release")
22+
}
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
androidx.activity:activity-ktx:1.7.0
2+
androidx.activity:activity:1.7.0
3+
androidx.annotation:annotation-experimental:1.4.1
4+
androidx.annotation:annotation-jvm:1.9.1
5+
androidx.annotation:annotation:1.9.1
6+
androidx.arch.core:core-common:2.2.0
7+
androidx.arch.core:core-runtime:2.2.0
8+
androidx.autofill:autofill:1.0.0
9+
androidx.collection:collection-jvm:1.5.0
10+
androidx.collection:collection-ktx:1.5.0
11+
androidx.collection:collection:1.5.0
12+
androidx.compose.animation:animation-android:1.9.0
13+
androidx.compose.animation:animation-core-android:1.9.0
14+
androidx.compose.animation:animation-core:1.9.0
15+
androidx.compose.animation:animation:1.9.0
16+
androidx.compose.foundation:foundation-android:1.9.0
17+
androidx.compose.foundation:foundation-layout-android:1.9.0
18+
androidx.compose.foundation:foundation-layout:1.9.0
19+
androidx.compose.foundation:foundation:1.9.0
20+
androidx.compose.material:material-android:1.9.0
21+
androidx.compose.material:material-ripple-android:1.8.2
22+
androidx.compose.material:material-ripple:1.8.2
23+
androidx.compose.material:material:1.9.0
24+
androidx.compose.runtime:runtime-android:1.9.0
25+
androidx.compose.runtime:runtime-annotation-android:1.9.0
26+
androidx.compose.runtime:runtime-annotation:1.9.0
27+
androidx.compose.runtime:runtime-saveable-android:1.9.0
28+
androidx.compose.runtime:runtime-saveable:1.9.0
29+
androidx.compose.runtime:runtime:1.9.0
30+
androidx.compose.ui:ui-android:1.9.0
31+
androidx.compose.ui:ui-geometry-android:1.9.0
32+
androidx.compose.ui:ui-geometry:1.9.0
33+
androidx.compose.ui:ui-graphics-android:1.9.0
34+
androidx.compose.ui:ui-graphics:1.9.0
35+
androidx.compose.ui:ui-text-android:1.9.0
36+
androidx.compose.ui:ui-text:1.9.0
37+
androidx.compose.ui:ui-unit-android:1.9.0
38+
androidx.compose.ui:ui-unit:1.9.0
39+
androidx.compose.ui:ui-util-android:1.9.0
40+
androidx.compose.ui:ui-util:1.9.0
41+
androidx.compose.ui:ui:1.9.0
42+
androidx.concurrent:concurrent-futures:1.1.0
43+
androidx.core:core-ktx:1.15.0
44+
androidx.core:core-viewtree:1.0.0
45+
androidx.core:core:1.15.0
46+
androidx.customview:customview-poolingcontainer:1.0.0
47+
androidx.emoji2:emoji2:1.4.0
48+
androidx.graphics:graphics-path:1.0.1
49+
androidx.interpolator:interpolator:1.0.0
50+
androidx.lifecycle:lifecycle-common-jvm:2.9.0
51+
androidx.lifecycle:lifecycle-common:2.9.0
52+
androidx.lifecycle:lifecycle-livedata-core:2.9.0
53+
androidx.lifecycle:lifecycle-process:2.9.0
54+
androidx.lifecycle:lifecycle-runtime-android:2.9.0
55+
androidx.lifecycle:lifecycle-runtime-compose-android:2.9.0
56+
androidx.lifecycle:lifecycle-runtime-compose:2.9.0
57+
androidx.lifecycle:lifecycle-runtime-ktx-android:2.9.0
58+
androidx.lifecycle:lifecycle-runtime-ktx:2.9.0
59+
androidx.lifecycle:lifecycle-runtime:2.9.0
60+
androidx.lifecycle:lifecycle-viewmodel-android:2.9.0
61+
androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.0
62+
androidx.lifecycle:lifecycle-viewmodel-savedstate-android:2.9.0
63+
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.9.0
64+
androidx.lifecycle:lifecycle-viewmodel:2.9.0
65+
androidx.profileinstaller:profileinstaller:1.4.0
66+
androidx.savedstate:savedstate-android:1.3.0
67+
androidx.savedstate:savedstate-compose-android:1.3.0
68+
androidx.savedstate:savedstate-compose:1.3.0
69+
androidx.savedstate:savedstate-ktx:1.3.0
70+
androidx.savedstate:savedstate:1.3.0
71+
androidx.startup:startup-runtime:1.1.1
72+
androidx.tracing:tracing:1.2.0
73+
androidx.versionedparcelable:versionedparcelable:1.1.1
74+
com.google.guava:listenablefuture:1.0
75+
org.jetbrains.kotlin:kotlin-stdlib-common:2.0.21
76+
org.jetbrains.kotlin:kotlin-stdlib:2.0.21
77+
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.1
78+
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.1
79+
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1
80+
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.1
81+
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.7.3
82+
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.7.3
83+
org.jetbrains.kotlinx:kotlinx-serialization-core:1.7.3
84+
org.jetbrains:annotations:23.0.0
85+
org.jspecify:jspecify:1.0.0
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
uses-permission:
2+
com.webtoonscorp.android.readmore.material.baseline.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest />
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
plugins {
2+
id("readmore.android.baseline")
3+
}
4+
5+
android {
6+
namespace "com.webtoonscorp.android.readmore.material3.baseline"
7+
defaultConfig {
8+
applicationId "com.webtoonscorp.android.readmore.material3.baseline"
9+
}
10+
}
11+
12+
dependencies {
13+
implementation projects.readmoreMaterial3
14+
}
15+
16+
dependencyGuard {
17+
configuration("releaseRuntimeClasspath")
18+
}
19+
20+
manifestShield {
21+
configuration("release")
22+
}

0 commit comments

Comments
 (0)