Skip to content

Commit

Permalink
Rename top level dependencies extension to projectDependencies (#214)
Browse files Browse the repository at this point in the history
  • Loading branch information
eygraber authored Jul 30, 2023
1 parent 87df892 commit 1a855ce
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -17,7 +17,7 @@ import org.gradle.kotlin.dsl.registerIfAbsent
internal abstract class GradleConventionsDefaults : BuildService<None> {
val android = GradleConventionsAndroid()
val compose = GradleConventionsCompose()
val dependencies = GradleConventionsDependencies()
val dependencies = GradleConventionsProjectDependencies()
val detekt = GradleConventionsDetekt()
val github = GradleConventionsGitHub()
val kotlin = GradleConventionsKotlin()
Expand Down Expand Up @@ -52,7 +52,7 @@ abstract class GradleConventionsPlugin : Plugin<Project> {
compose.bomifyAndroidxComposeRewrites = bomifyAndroidxComposeRewrites
}

awaitDependenciesConfigured {
awaitProjectDependenciesConfigured {
dependencies.resolutionVersionSelector = resolutionVersionSelector
dependencies.projectDependencies = projectDependencies
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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) {}
Expand Down Expand Up @@ -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)
}
}
Expand Down Expand Up @@ -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<GradleConventionsDependencies>) {
action.execute(dependencies)
isDependenciesConfigured = true
fun projectDependencies(dependencies: Action<ConventionDependencyHandler>) {
projectDependencies.invoke {
dependencies.execute(this)
}
isProjectDependenciesConfigured = true
configureListeners.forEach { listener ->
with(listener) {
dependencies.onDependenciesConfigured(isDependenciesConfigured)
projectDependencies.onProjectDependenciesConfigured(isProjectDependenciesConfigured)
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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<ConventionDependencyHandler.() -> Unit> = mutableListOf()

fun projectDependencies(
operator fun invoke(
dependencies: ConventionDependencyHandler.() -> Unit
) {
projectDependencies += dependencies
Expand Down

0 comments on commit 1a855ce

Please sign in to comment.