Skip to content

Commit 2d2edb8

Browse files
authored
Merge pull request #869 from arkivanov/dependency-guard
Added com.dropbox.dependency-guard plugin
2 parents d32e837 + 5038b5b commit 2d2edb8

File tree

10 files changed

+360
-0
lines changed

10 files changed

+360
-0
lines changed

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ buildscript {
2222
classpath(deps.jetbrains.kotlin.composeCompilerGradlePlug)
2323
classpath(deps.jetbrains.kotlinx.binaryCompatibilityValidator)
2424
classpath(deps.jetbrains.kotlin.serializationGradlePlug)
25+
classpath(deps.dropbox.dependencyGuard)
2526
}
2627
}
2728

decompose/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ plugins {
1212
id("com.android.library")
1313
id("kotlinx-serialization")
1414
id("com.arkivanov.gradle.setup")
15+
id("com.dropbox.dependency-guard")
1516
}
1617

1718
setupMultiplatform()
@@ -22,6 +23,10 @@ android {
2223
namespace = "com.arkivanov.decompose"
2324
}
2425

26+
dependencyGuard {
27+
configuration("androidReleaseRuntimeClasspath")
28+
}
29+
2530
kotlin {
2631
setupSourceSets {
2732
val android by bundle()
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
androidx.activity:activity-ktx:1.8.1
2+
androidx.activity:activity:1.8.1
3+
androidx.annotation:annotation-experimental:1.3.0
4+
androidx.annotation:annotation:1.2.0
5+
androidx.arch.core:core-common:2.2.0
6+
androidx.arch.core:core-runtime:2.2.0
7+
androidx.collection:collection-ktx:1.1.0
8+
androidx.collection:collection:1.1.0
9+
androidx.concurrent:concurrent-futures:1.1.0
10+
androidx.core:core-ktx:1.9.0
11+
androidx.core:core:1.9.0
12+
androidx.customview:customview:1.0.0
13+
androidx.fragment:fragment-ktx:1.6.2
14+
androidx.fragment:fragment:1.6.2
15+
androidx.lifecycle:lifecycle-common-java8:2.6.2
16+
androidx.lifecycle:lifecycle-common:2.6.2
17+
androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.2
18+
androidx.lifecycle:lifecycle-livedata-core:2.6.2
19+
androidx.lifecycle:lifecycle-livedata:2.6.2
20+
androidx.lifecycle:lifecycle-runtime-ktx:2.6.2
21+
androidx.lifecycle:lifecycle-runtime:2.6.2
22+
androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2
23+
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2
24+
androidx.lifecycle:lifecycle-viewmodel:2.6.2
25+
androidx.loader:loader:1.0.0
26+
androidx.profileinstaller:profileinstaller:1.3.0
27+
androidx.savedstate:savedstate-ktx:1.2.1
28+
androidx.savedstate:savedstate:1.2.1
29+
androidx.startup:startup-runtime:1.1.1
30+
androidx.tracing:tracing:1.0.0
31+
androidx.versionedparcelable:versionedparcelable:1.1.1
32+
androidx.viewpager:viewpager:1.0.0
33+
com.arkivanov.essenty:back-handler-android:2.5.0
34+
com.arkivanov.essenty:back-handler:2.5.0
35+
com.arkivanov.essenty:instance-keeper-android:2.5.0
36+
com.arkivanov.essenty:instance-keeper:2.5.0
37+
com.arkivanov.essenty:lifecycle-android:2.5.0
38+
com.arkivanov.essenty:lifecycle:2.5.0
39+
com.arkivanov.essenty:state-keeper-android:2.5.0
40+
com.arkivanov.essenty:state-keeper:2.5.0
41+
com.arkivanov.essenty:utils-internal-android:2.5.0
42+
com.arkivanov.essenty:utils-internal:2.5.0
43+
com.google.guava:listenablefuture:1.0
44+
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0
45+
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
46+
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
47+
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4
48+
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4
49+
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
50+
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4
51+
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3
52+
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3
53+
org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3
54+
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3
55+
org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3
56+
org.jetbrains:annotations:13.0

deps.versions.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ androidxCore = "1.9.0"
1919
androidxAppcompat = "1.6.0"
2020
androidxActivity = "1.8.2"
2121
androidxFragment = "1.6.2"
22+
dependencyGuard = "0.5.0"
2223

2324
[libraries]
2425

@@ -59,3 +60,5 @@ androidx-core-coreKtx = { group = "androidx.core", name = "core-ktx", version.r
5960
androidx-appcompat-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppcompat" }
6061
androidx-activity-activityCompose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivity" }
6162
androidx-fragment-fragmentKtx = { group = "androidx.fragment", name = "fragment-ktx", version.ref = "androidxFragment" }
63+
64+
dropbox-dependencyGuard = { group = "com.dropbox.dependency-guard", name = "dependency-guard", version.ref = "dependencyGuard" }

extensions-android/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ plugins {
66
id("com.android.library")
77
id("kotlin-android")
88
id("com.arkivanov.gradle.setup")
9+
id("com.dropbox.dependency-guard")
910
}
1011

1112
setupAndroidLibrary()
@@ -16,6 +17,10 @@ android {
1617
namespace = "com.arkivanov.decompose.extensions.android"
1718
}
1819

20+
dependencyGuard {
21+
configuration("releaseRuntimeClasspath")
22+
}
23+
1924
dependencies {
2025
implementation(project(":decompose"))
2126
}
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
androidx.activity:activity-ktx:1.8.1
2+
androidx.activity:activity:1.8.1
3+
androidx.annotation:annotation-experimental:1.3.0
4+
androidx.annotation:annotation:1.2.0
5+
androidx.arch.core:core-common:2.2.0
6+
androidx.arch.core:core-runtime:2.2.0
7+
androidx.collection:collection-ktx:1.1.0
8+
androidx.collection:collection:1.1.0
9+
androidx.concurrent:concurrent-futures:1.1.0
10+
androidx.core:core-ktx:1.9.0
11+
androidx.core:core:1.9.0
12+
androidx.customview:customview:1.0.0
13+
androidx.fragment:fragment-ktx:1.6.2
14+
androidx.fragment:fragment:1.6.2
15+
androidx.lifecycle:lifecycle-common-java8:2.6.2
16+
androidx.lifecycle:lifecycle-common:2.6.2
17+
androidx.lifecycle:lifecycle-livedata-core-ktx:2.6.2
18+
androidx.lifecycle:lifecycle-livedata-core:2.6.2
19+
androidx.lifecycle:lifecycle-livedata:2.6.2
20+
androidx.lifecycle:lifecycle-runtime-ktx:2.6.2
21+
androidx.lifecycle:lifecycle-runtime:2.6.2
22+
androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2
23+
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.6.2
24+
androidx.lifecycle:lifecycle-viewmodel:2.6.2
25+
androidx.loader:loader:1.0.0
26+
androidx.profileinstaller:profileinstaller:1.3.0
27+
androidx.savedstate:savedstate-ktx:1.2.1
28+
androidx.savedstate:savedstate:1.2.1
29+
androidx.startup:startup-runtime:1.1.1
30+
androidx.tracing:tracing:1.0.0
31+
androidx.versionedparcelable:versionedparcelable:1.1.1
32+
androidx.viewpager:viewpager:1.0.0
33+
com.arkivanov.essenty:back-handler-android:2.5.0
34+
com.arkivanov.essenty:back-handler:2.5.0
35+
com.arkivanov.essenty:instance-keeper-android:2.5.0
36+
com.arkivanov.essenty:instance-keeper:2.5.0
37+
com.arkivanov.essenty:lifecycle-android:2.5.0
38+
com.arkivanov.essenty:lifecycle:2.5.0
39+
com.arkivanov.essenty:state-keeper-android:2.5.0
40+
com.arkivanov.essenty:state-keeper:2.5.0
41+
com.arkivanov.essenty:utils-internal-android:2.5.0
42+
com.arkivanov.essenty:utils-internal:2.5.0
43+
com.google.guava:listenablefuture:1.0
44+
org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0
45+
org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
46+
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
47+
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4
48+
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.6.4
49+
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.4
50+
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4
51+
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3
52+
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3
53+
org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3
54+
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3
55+
org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3
56+
org.jetbrains:annotations:13.0

extensions-compose-experimental/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ plugins {
1212
id("org.jetbrains.compose")
1313
id("org.jetbrains.kotlin.plugin.compose")
1414
id("com.arkivanov.gradle.setup")
15+
id("com.dropbox.dependency-guard")
1516
}
1617

1718
setupMultiplatform {
@@ -30,6 +31,10 @@ android {
3031
namespace = "com.arkivanov.decompose.extensions.compose.experimental"
3132
}
3233

34+
dependencyGuard {
35+
configuration("androidReleaseRuntimeClasspath")
36+
}
37+
3338
kotlin {
3439
setupSourceSets {
3540
val jvm by bundle()
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
androidx.activity:activity-ktx:1.8.1
2+
androidx.activity:activity:1.8.1
3+
androidx.annotation:annotation-experimental:1.4.1
4+
androidx.annotation:annotation-jvm:1.8.0
5+
androidx.annotation:annotation:1.8.0
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.4.0
10+
androidx.collection:collection-ktx:1.4.0
11+
androidx.collection:collection:1.4.0
12+
androidx.compose.animation:animation-android:1.7.1
13+
androidx.compose.animation:animation-core-android:1.7.1
14+
androidx.compose.animation:animation-core:1.7.1
15+
androidx.compose.animation:animation:1.7.1
16+
androidx.compose.foundation:foundation-android:1.7.1
17+
androidx.compose.foundation:foundation-layout-android:1.7.1
18+
androidx.compose.foundation:foundation-layout:1.7.1
19+
androidx.compose.foundation:foundation:1.7.1
20+
androidx.compose.runtime:runtime-android:1.7.1
21+
androidx.compose.runtime:runtime-saveable-android:1.7.1
22+
androidx.compose.runtime:runtime-saveable:1.7.1
23+
androidx.compose.runtime:runtime:1.7.1
24+
androidx.compose.ui:ui-android:1.7.1
25+
androidx.compose.ui:ui-geometry-android:1.7.1
26+
androidx.compose.ui:ui-geometry:1.7.1
27+
androidx.compose.ui:ui-graphics-android:1.7.1
28+
androidx.compose.ui:ui-graphics:1.7.1
29+
androidx.compose.ui:ui-text-android:1.7.1
30+
androidx.compose.ui:ui-text:1.7.1
31+
androidx.compose.ui:ui-unit-android:1.7.1
32+
androidx.compose.ui:ui-unit:1.7.1
33+
androidx.compose.ui:ui-util-android:1.7.1
34+
androidx.compose.ui:ui-util:1.7.1
35+
androidx.compose.ui:ui:1.7.1
36+
androidx.concurrent:concurrent-futures:1.1.0
37+
androidx.core:core-ktx:1.13.1
38+
androidx.core:core:1.13.1
39+
androidx.customview:customview-poolingcontainer:1.0.0
40+
androidx.customview:customview:1.0.0
41+
androidx.emoji2:emoji2:1.3.0
42+
androidx.fragment:fragment-ktx:1.6.2
43+
androidx.fragment:fragment:1.6.2
44+
androidx.graphics:graphics-path:1.0.1
45+
androidx.interpolator:interpolator:1.0.0
46+
androidx.lifecycle:lifecycle-common-java8:2.8.5
47+
androidx.lifecycle:lifecycle-common-jvm:2.8.5
48+
androidx.lifecycle:lifecycle-common:2.8.5
49+
androidx.lifecycle:lifecycle-livedata-core-ktx:2.8.5
50+
androidx.lifecycle:lifecycle-livedata-core:2.8.5
51+
androidx.lifecycle:lifecycle-livedata:2.8.5
52+
androidx.lifecycle:lifecycle-process:2.8.5
53+
androidx.lifecycle:lifecycle-runtime-android:2.8.5
54+
androidx.lifecycle:lifecycle-runtime-compose-android:2.8.5
55+
androidx.lifecycle:lifecycle-runtime-compose:2.8.5
56+
androidx.lifecycle:lifecycle-runtime-ktx-android:2.8.5
57+
androidx.lifecycle:lifecycle-runtime-ktx:2.8.5
58+
androidx.lifecycle:lifecycle-runtime:2.8.5
59+
androidx.lifecycle:lifecycle-viewmodel-android:2.8.5
60+
androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.5
61+
androidx.lifecycle:lifecycle-viewmodel-savedstate:2.8.5
62+
androidx.lifecycle:lifecycle-viewmodel:2.8.5
63+
androidx.loader:loader:1.0.0
64+
androidx.profileinstaller:profileinstaller:1.3.1
65+
androidx.savedstate:savedstate-ktx:1.2.1
66+
androidx.savedstate:savedstate:1.2.1
67+
androidx.startup:startup-runtime:1.1.1
68+
androidx.tracing:tracing:1.0.0
69+
androidx.versionedparcelable:versionedparcelable:1.1.1
70+
androidx.viewpager:viewpager:1.0.0
71+
com.arkivanov.essenty:back-handler-android:2.5.0
72+
com.arkivanov.essenty:back-handler:2.5.0
73+
com.arkivanov.essenty:instance-keeper-android:2.5.0
74+
com.arkivanov.essenty:instance-keeper:2.5.0
75+
com.arkivanov.essenty:lifecycle-android:2.5.0
76+
com.arkivanov.essenty:lifecycle:2.5.0
77+
com.arkivanov.essenty:state-keeper-android:2.5.0
78+
com.arkivanov.essenty:state-keeper:2.5.0
79+
com.arkivanov.essenty:utils-internal-android:2.5.0
80+
com.arkivanov.essenty:utils-internal:2.5.0
81+
com.google.guava:listenablefuture:1.0
82+
org.jetbrains.androidx.lifecycle:lifecycle-common:2.8.3
83+
org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose:2.8.3
84+
org.jetbrains.androidx.lifecycle:lifecycle-runtime:2.8.3
85+
org.jetbrains.androidx.lifecycle:lifecycle-viewmodel:2.8.3
86+
org.jetbrains.compose.animation:animation-core:1.7.0
87+
org.jetbrains.compose.animation:animation:1.7.0
88+
org.jetbrains.compose.annotation-internal:annotation:1.7.0
89+
org.jetbrains.compose.collection-internal:collection:1.7.0
90+
org.jetbrains.compose.foundation:foundation-layout:1.7.0
91+
org.jetbrains.compose.foundation:foundation:1.7.0
92+
org.jetbrains.compose.runtime:runtime-saveable:1.7.0
93+
org.jetbrains.compose.runtime:runtime:1.7.0
94+
org.jetbrains.compose.ui:ui-geometry:1.7.0
95+
org.jetbrains.compose.ui:ui-graphics:1.7.0
96+
org.jetbrains.compose.ui:ui-text:1.7.0
97+
org.jetbrains.compose.ui:ui-unit:1.7.0
98+
org.jetbrains.compose.ui:ui-util:1.7.0
99+
org.jetbrains.compose.ui:ui:1.7.0
100+
org.jetbrains.kotlin:kotlin-stdlib:2.1.0
101+
org.jetbrains.kotlinx:atomicfu-jvm:0.23.2
102+
org.jetbrains.kotlinx:atomicfu:0.23.2
103+
org.jetbrains.kotlinx:kotlinx-coroutines-android:1.8.0
104+
org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.8.0
105+
org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.0
106+
org.jetbrains.kotlinx:kotlinx-coroutines-core:1.8.0
107+
org.jetbrains.kotlinx:kotlinx-serialization-bom:1.6.3
108+
org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.6.3
109+
org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.3
110+
org.jetbrains.kotlinx:kotlinx-serialization-json-jvm:1.6.3
111+
org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3
112+
org.jetbrains:annotations:23.0.0

extensions-compose/build.gradle.kts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ plugins {
1313
id("org.jetbrains.compose")
1414
id("org.jetbrains.kotlin.plugin.compose")
1515
id("com.arkivanov.gradle.setup")
16+
id("com.dropbox.dependency-guard")
1617
}
1718

1819
setupMultiplatform {
@@ -31,6 +32,10 @@ android {
3132
namespace = "com.arkivanov.decompose.extensions.compose"
3233
}
3334

35+
dependencyGuard {
36+
configuration("androidReleaseRuntimeClasspath")
37+
}
38+
3439
kotlin {
3540
setupSourceSets {
3641
val android by bundle()

0 commit comments

Comments
 (0)