Skip to content

Commit 3c43d2e

Browse files
committed
Set android dependencies weight to 100
Prevents "should be jvm" advice for projects that cannot be since they have android dependencies.
1 parent 1fbea6b commit 3c43d2e

File tree

3 files changed

+35
-14
lines changed

3 files changed

+35
-14
lines changed

src/functionalTest/groovy/com/autonomousapps/android/projects/CouldBeAndroidProject.groovy

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,10 @@ import static com.autonomousapps.kit.gradle.dependencies.Dependencies.commonsCol
2121
/**
2222
* app (is android and should be)
2323
* +--- assets (is android and should be)
24-
* +--- lib-android (is android and shouldn't be)
24+
* +--- lib-android-java-deps (is android and shouldn't be)
2525
* \--- lib-java
26+
* +--- lib-android-android-deps (is android and should be)
27+
* \--- assets
2628
* \--- lib-java (is java and not a candidate)
2729
*/
2830
final class CouldBeAndroidProject extends AbstractAndroidProject {
@@ -91,7 +93,7 @@ final class CouldBeAndroidProject extends AbstractAndroidProject {
9193
)
9294
assets.strings = AndroidStringRes.DEFAULT
9395
}
94-
.withAndroidLibProject('lib-android', 'com.example.lib') { lib ->
96+
.withAndroidLibProject('lib-android-java-deps', 'com.example.lib') { lib ->
9597
lib.withBuildScript { bs ->
9698
bs.plugins = androidLibPlugin
9799
bs.android = defaultAndroidLibBlock(false, 'com.example.lib')
@@ -101,6 +103,15 @@ final class CouldBeAndroidProject extends AbstractAndroidProject {
101103
]
102104
}
103105
}
106+
.withAndroidLibProject('lib-android-android-deps', 'com.example.lib') { lib ->
107+
lib.withBuildScript { bs ->
108+
bs.plugins = androidLibPlugin
109+
bs.android = defaultAndroidLibBlock(false, 'com.example.lib')
110+
bs.dependencies = [
111+
project('implementation', ':assets')
112+
]
113+
}
114+
}
104115
.withSubproject('lib-java') { lib ->
105116
lib.withBuildScript { bs ->
106117
bs.plugins = [Plugin.javaLibrary, Plugins.dependencyAnalysisNoVersion]
@@ -145,7 +156,7 @@ final class CouldBeAndroidProject extends AbstractAndroidProject {
145156
}
146157
]
147158

148-
private static Set<ModuleAdvice> libAndroidScore = [
159+
private static Set<ModuleAdvice> libAndroidHasJavaDepsScore = [
149160
androidScoreBuilder().with {
150161
hasAndroidAssets = false
151162
hasAndroidRes = false
@@ -155,18 +166,30 @@ final class CouldBeAndroidProject extends AbstractAndroidProject {
155166
build()
156167
}
157168
]
169+
private static Set<ModuleAdvice> libAndroidHasAndroidDepsScore = [
170+
androidScoreBuilder().with {
171+
hasAndroidAssets = false
172+
hasAndroidRes = false
173+
usesAndroidClasses = false
174+
hasBuildConfig = false
175+
hasAndroidDependencies = true
176+
build()
177+
}
178+
]
158179

159180
final Map<String, Set<ModuleAdvice>> expectedModuleAdvice = [
160-
':app' : emptyModuleAdvice,
161-
':assets' : assetsScore,
162-
':lib-android': libAndroidScore,
163-
':lib-java' : emptyModuleAdvice,
181+
':app' : emptyModuleAdvice,
182+
':assets' : assetsScore,
183+
':lib-android-java-deps' : libAndroidHasJavaDepsScore,
184+
':lib-android-android-deps': libAndroidHasAndroidDepsScore,
185+
':lib-java' : emptyModuleAdvice,
164186
]
165187

166188
final Map<String, Set<ModuleAdvice>> expectedModuleAdviceForIgnore = [
167-
':app' : emptyModuleAdvice,
168-
':assets' : emptyModuleAdvice,
169-
':lib-android': emptyModuleAdvice,
170-
':lib-java' : emptyModuleAdvice,
189+
':app' : emptyModuleAdvice,
190+
':assets' : emptyModuleAdvice,
191+
':lib-android-java-deps' : emptyModuleAdvice,
192+
':lib-android-android-deps': emptyModuleAdvice,
193+
':lib-java' : emptyModuleAdvice,
171194
]
172195
}

src/main/kotlin/com/autonomousapps/model/ModuleAdvice.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ data class AndroidScore(
6363
if (hasAndroidRes) count += 2
6464
if (usesAndroidClasses) count += 2
6565
if (hasBuildConfig) count += 0.5f
66-
if (hasAndroidDependencies) count += 0.5f
66+
if (hasAndroidDependencies) count += 100f
6767
count
6868
}
6969

src/test/kotlin/com/autonomousapps/internal/reason/ModuleAdviceExplainerTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ internal class ModuleAdviceExplainerTest {
3434
// Given
3535
val score = Fixture.emptyScore.copy(
3636
hasBuildConfig = true,
37-
hasAndroidDependencies = true
3837
)
3938
val computer = Fixture(
4039
unfilteredAndroidScore = score,
@@ -55,7 +54,6 @@ internal class ModuleAdviceExplainerTest {
5554
5655
Android features:
5756
* Includes BuildConfig.
58-
* Has Android library dependencies.
5957
""".trimIndent().lines()
6058
).inOrder()
6159
}

0 commit comments

Comments
 (0)