Skip to content

Commit 71fbc2b

Browse files
authored
Merge pull request #337 from jmfayard/336-plugin-settings
Ensure the plugin is applied in settings.gradle(.kts) Closes #336
2 parents 006e2fc + 4fe893c commit 71fbc2b

File tree

1 file changed

+18
-10
lines changed

1 file changed

+18
-10
lines changed

plugins/dependencies/src/main/kotlin/de/fayard/refreshVersions/RefreshVersionsPlugin.kt

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,14 @@ import de.fayard.refreshVersions.core.RefreshVersionsCorePlugin
44
import de.fayard.refreshVersions.core.bootstrapRefreshVersionsCore
55
import de.fayard.refreshVersions.core.bootstrapRefreshVersionsCoreForBuildSrc
66
import de.fayard.refreshVersions.core.extensions.gradle.isBuildSrc
7-
import de.fayard.refreshVersions.internal.getArtifactNameToConstantMapping
87
import de.fayard.refreshVersions.core.internal.RefreshVersionsConfigHolder
8+
import de.fayard.refreshVersions.internal.getArtifactNameToConstantMapping
99
import org.gradle.api.DefaultTask
1010
import org.gradle.api.Plugin
1111
import org.gradle.api.Project
1212
import org.gradle.api.initialization.Settings
13-
import org.gradle.kotlin.dsl.apply
14-
import org.gradle.kotlin.dsl.create
15-
import org.gradle.kotlin.dsl.dependencies
16-
import org.gradle.kotlin.dsl.getByType
17-
import org.gradle.kotlin.dsl.register
13+
import org.gradle.api.invocation.Gradle
14+
import org.gradle.kotlin.dsl.*
1815

1916
open class RefreshVersionsPlugin : Plugin<Any> {
2017

@@ -36,10 +33,21 @@ open class RefreshVersionsPlugin : Plugin<Any> {
3633

3734

3835
override fun apply(target: Any) {
39-
when (target) {
40-
is Settings -> bootstrap(target)
41-
is Project -> Unit //TODO: Warn about misconfiguration?
36+
require(target is Settings) {
37+
val notInExtraClause: String = when (target) {
38+
is Project -> when (target) {
39+
target.rootProject -> ", not in build.gradle(.kts)"
40+
else -> ", not in a build.gradle(.kts) file."
41+
}
42+
is Gradle -> ", not in an initialization script."
43+
else -> ""
44+
}
45+
"""
46+
plugins.id("de.fayard.refreshVersions") must be configured in settings.gradle(.kts)$notInExtraClause.
47+
See https://jmfayard.github.io/refreshVersions/setup/
48+
""".trimIndent()
4249
}
50+
bootstrap(target)
4351
}
4452

4553
private fun bootstrap(settings: Settings) {
@@ -97,7 +105,7 @@ open class RefreshVersionsPlugin : Plugin<Any> {
97105
) {
98106
group = "help"
99107
description = "Assists migration from hardcoded dependencies to constants of " +
100-
"the refreshVersions dependencies plugin"
108+
"the refreshVersions dependencies plugin"
101109
finalizedBy("refreshVersions")
102110
}
103111

0 commit comments

Comments
 (0)