diff --git a/conventions-plugin/src/main/kotlin/com.eygraber.conventions-dependencies.gradle.kts b/conventions-plugin/src/main/kotlin/com.eygraber.conventions-project-dependencies.gradle.kts similarity index 88% rename from conventions-plugin/src/main/kotlin/com.eygraber.conventions-dependencies.gradle.kts rename to conventions-plugin/src/main/kotlin/com.eygraber.conventions-project-dependencies.gradle.kts index e5b480b..a3db64c 100644 --- a/conventions-plugin/src/main/kotlin/com.eygraber.conventions-dependencies.gradle.kts +++ b/conventions-plugin/src/main/kotlin/com.eygraber.conventions-project-dependencies.gradle.kts @@ -5,10 +5,10 @@ import com.eygraber.conventions.gradleConventionsExtension val ext = gradleConventionsExtension val dependenciesDefaults = gradleConventionsDefaultsService.dependencies -ext.dependencies.resolutionVersionSelector = dependenciesDefaults.resolutionVersionSelector -ext.dependencies.projectDependencies = dependenciesDefaults.projectDependencies +ext.projectDependencies.resolutionVersionSelector = dependenciesDefaults.resolutionVersionSelector +ext.projectDependencies.projectDependencies = dependenciesDefaults.projectDependencies -ext.awaitDependenciesConfigured { +ext.awaitProjectDependenciesConfigured { // com.github.ben-manes.versions sets the version of dependencies // to + in order to find the latest versions and we don't want to mess with that if("dependencyUpdates" !in gradle.startParameter.taskNames) { diff --git a/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPlugin.kt b/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPlugin.kt index 8e46f73..7f33c0e 100644 --- a/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPlugin.kt +++ b/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPlugin.kt @@ -2,7 +2,7 @@ package com.eygraber.conventions import com.eygraber.conventions.android.GradleConventionsAndroid import com.eygraber.conventions.compose.GradleConventionsCompose -import com.eygraber.conventions.dependencies.GradleConventionsDependencies +import com.eygraber.conventions.dependencies.GradleConventionsProjectDependencies import com.eygraber.conventions.detekt.GradleConventionsDetekt import com.eygraber.conventions.github.GradleConventionsGitHub import com.eygraber.conventions.kotlin.GradleConventionsKotlin @@ -17,7 +17,7 @@ import org.gradle.kotlin.dsl.registerIfAbsent internal abstract class GradleConventionsDefaults : BuildService { val android = GradleConventionsAndroid() val compose = GradleConventionsCompose() - val dependencies = GradleConventionsDependencies() + val dependencies = GradleConventionsProjectDependencies() val detekt = GradleConventionsDetekt() val github = GradleConventionsGitHub() val kotlin = GradleConventionsKotlin() @@ -52,7 +52,7 @@ abstract class GradleConventionsPlugin : Plugin { compose.bomifyAndroidxComposeRewrites = bomifyAndroidxComposeRewrites } - awaitDependenciesConfigured { + awaitProjectDependenciesConfigured { dependencies.resolutionVersionSelector = resolutionVersionSelector dependencies.projectDependencies = projectDependencies } diff --git a/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPluginExtension.kt b/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPluginExtension.kt index 721c7c4..6dc9b5e 100644 --- a/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPluginExtension.kt +++ b/conventions-plugin/src/main/kotlin/com/eygraber/conventions/GradleConventionsPluginExtension.kt @@ -2,7 +2,8 @@ package com.eygraber.conventions import com.eygraber.conventions.android.GradleConventionsAndroid import com.eygraber.conventions.compose.GradleConventionsCompose -import com.eygraber.conventions.dependencies.GradleConventionsDependencies +import com.eygraber.conventions.dependencies.ConventionDependencyHandler +import com.eygraber.conventions.dependencies.GradleConventionsProjectDependencies import com.eygraber.conventions.detekt.GradleConventionsDetekt import com.eygraber.conventions.github.GradleConventionsGitHub import com.eygraber.conventions.kotlin.GradleConventionsKotlin @@ -16,7 +17,7 @@ import java.util.concurrent.CopyOnWriteArrayList internal interface GradleConventionsConfigurableListener { fun GradleConventionsAndroid.onAndroidConfigured(isUserConfigured: Boolean) {} fun GradleConventionsCompose.onComposeConfigured(isUserConfigured: Boolean) {} - fun GradleConventionsDependencies.onDependenciesConfigured(isUserConfigured: Boolean) {} + fun GradleConventionsProjectDependencies.onProjectDependenciesConfigured(isUserConfigured: Boolean) {} fun GradleConventionsDetekt.onDetektConfigured(isUserConfigured: Boolean) {} fun GradleConventionsGitHub.onGitHubConfigured(isUserConfigured: Boolean) {} fun GradleConventionsKotlin.onKotlinConfigured(isUserConfigured: Boolean) {} @@ -48,12 +49,12 @@ abstract class GradleConventionsPluginExtension { } } - internal fun awaitDependenciesConfigured( - configure: GradleConventionsDependencies.(isConfigured: Boolean) -> Unit + internal fun awaitProjectDependenciesConfigured( + configure: GradleConventionsProjectDependencies.(isConfigured: Boolean) -> Unit ) { - dependencies.configure(isDependenciesConfigured) + projectDependencies.configure(isProjectDependenciesConfigured) configureListeners += object : GradleConventionsConfigurableListener { - override fun GradleConventionsDependencies.onDependenciesConfigured(isUserConfigured: Boolean) { + override fun GradleConventionsProjectDependencies.onProjectDependenciesConfigured(isUserConfigured: Boolean) { configure(isUserConfigured) } } @@ -129,15 +130,17 @@ abstract class GradleConventionsPluginExtension { } } - private var isDependenciesConfigured: Boolean = false - internal val dependencies = GradleConventionsDependencies() + private var isProjectDependenciesConfigured: Boolean = false + internal val projectDependencies = GradleConventionsProjectDependencies() - fun dependencies(action: Action) { - action.execute(dependencies) - isDependenciesConfigured = true + fun projectDependencies(dependencies: Action) { + projectDependencies.invoke { + dependencies.execute(this) + } + isProjectDependenciesConfigured = true configureListeners.forEach { listener -> with(listener) { - dependencies.onDependenciesConfigured(isDependenciesConfigured) + projectDependencies.onProjectDependenciesConfigured(isProjectDependenciesConfigured) } } } diff --git a/conventions-plugin/src/main/kotlin/com/eygraber/conventions/dependencies/GradleConventionsDependencies.kt b/conventions-plugin/src/main/kotlin/com/eygraber/conventions/dependencies/GradleConventionsProjectDependencies.kt similarity index 94% rename from conventions-plugin/src/main/kotlin/com/eygraber/conventions/dependencies/GradleConventionsDependencies.kt rename to conventions-plugin/src/main/kotlin/com/eygraber/conventions/dependencies/GradleConventionsProjectDependencies.kt index 5687b58..353be68 100644 --- a/conventions-plugin/src/main/kotlin/com/eygraber/conventions/dependencies/GradleConventionsDependencies.kt +++ b/conventions-plugin/src/main/kotlin/com/eygraber/conventions/dependencies/GradleConventionsProjectDependencies.kt @@ -19,12 +19,12 @@ class ConventionDependencyHandler( fun implementation(dependencyNotation: Any): Dependency? = add("implementation", dependencyNotation) } -class GradleConventionsDependencies { +class GradleConventionsProjectDependencies { var resolutionVersionSelector: (ModuleVersionSelector.(ResolutionVersionSelector) -> Unit)? = null internal var projectDependencies: MutableList Unit> = mutableListOf() - fun projectDependencies( + operator fun invoke( dependencies: ConventionDependencyHandler.() -> Unit ) { projectDependencies += dependencies