Skip to content

Commit 37916f1

Browse files
committed
Add module(String) dependency factory to align with gradle dependencies block
1 parent 4011821 commit 37916f1

5 files changed

Lines changed: 19 additions & 9 deletions

File tree

src/main/kotlin/io/github/sgtsilvio/gradle/oci/dsl/DependencyFactories.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.sgtsilvio.gradle.oci.dsl
22

33
import org.gradle.api.artifacts.DependencyConstraint
4+
import org.gradle.api.artifacts.ExternalModuleDependency
45
import org.gradle.api.artifacts.MinimalExternalModuleDependency
56
import org.gradle.api.artifacts.ProjectDependency
67
import org.gradle.api.provider.Provider
@@ -11,6 +12,8 @@ import org.gradle.api.provider.ProviderConvertible
1112
*/
1213
interface DependencyFactories {
1314

15+
fun module(dependencyNotation: CharSequence): ExternalModuleDependency
16+
1417
fun project(): ProjectDependency
1518

1619
fun project(projectPath: String): ProjectDependency

src/main/kotlin/io/github/sgtsilvio/gradle/oci/internal/dsl/DependencyFactoriesImpl.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ abstract class DependencyFactoriesImpl(
1616
private val project: Project,
1717
) : DependencyFactories, DependencyConstraintFactories {
1818

19+
final override fun module(dependencyNotation: CharSequence) = project.dependencyFactory.create(dependencyNotation)
20+
1921
final override fun project() = project.createProjectDependency()
2022

2123
final override fun project(projectPath: String) = project.createProjectDependency(projectPath)

src/main/kotlin/io/github/sgtsilvio/gradle/oci/internal/dsl/OciImageDependencyCollectorBaseImpl.kt

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import org.gradle.api.Action
55
import org.gradle.api.artifacts.DependencyConstraint
66
import org.gradle.api.artifacts.ExternalModuleDependency
77
import org.gradle.api.artifacts.ModuleDependency
8+
import org.gradle.api.artifacts.dsl.DependencyFactory
89
import org.gradle.api.artifacts.dsl.DependencyHandler
910
import org.gradle.api.model.ObjectFactory
1011
import org.gradle.api.provider.Provider
@@ -14,8 +15,9 @@ import org.gradle.kotlin.dsl.setProperty
1415
* @author Silvio Giebl
1516
*/
1617
internal abstract class OciImageDependencyCollectorBaseImpl<T>(
17-
private val dependencyHandler: DependencyHandler,
1818
objectFactory: ObjectFactory,
19+
private val dependencyFactory: DependencyFactory,
20+
private val dependencyHandler: DependencyHandler,
1921
) : OciImageDependencyCollectorBase<T> {
2022

2123
final override val dependencies = objectFactory.setProperty<ModuleDependency>()
@@ -50,13 +52,10 @@ internal abstract class OciImageDependencyCollectorBaseImpl<T>(
5052

5153
// add dependency converted from a different notation
5254

53-
private fun module(dependencyNotation: CharSequence) =
54-
dependencyHandler.create(dependencyNotation) as ExternalModuleDependency
55-
56-
final override fun add(dependencyNotation: CharSequence) = add(module(dependencyNotation))
55+
final override fun add(dependencyNotation: CharSequence) = add(dependencyFactory.create(dependencyNotation))
5756

5857
final override fun add(dependencyNotation: CharSequence, action: Action<in ExternalModuleDependency>) =
59-
add(module(dependencyNotation), action)
58+
add(dependencyFactory.create(dependencyNotation), action)
6059

6160
// add constraint
6261

src/main/kotlin/io/github/sgtsilvio/gradle/oci/internal/dsl/OciImageDependencyCollectorImpl.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import io.github.sgtsilvio.gradle.oci.internal.gradle.attribute
88
import io.github.sgtsilvio.gradle.oci.internal.gradle.zipAbsentAsNull
99
import io.github.sgtsilvio.gradle.oci.metadata.OciImageReferenceSpec
1010
import org.gradle.api.artifacts.ModuleDependency
11+
import org.gradle.api.artifacts.dsl.DependencyFactory
1112
import org.gradle.api.artifacts.dsl.DependencyHandler
1213
import org.gradle.api.model.ObjectFactory
1314
import org.gradle.api.provider.Provider
@@ -20,8 +21,10 @@ import javax.inject.Inject
2021
*/
2122
internal abstract class OciImageDependencyCollectorImpl @Inject constructor(
2223
private val objectFactory: ObjectFactory,
24+
dependencyFactory: DependencyFactory,
2325
dependencyHandler: DependencyHandler,
24-
) : OciImageDependencyCollectorBaseImpl<Nameable>(dependencyHandler, objectFactory), OciImageDependencyCollector {
26+
) : OciImageDependencyCollectorBaseImpl<Nameable>(objectFactory, dependencyFactory, dependencyHandler),
27+
OciImageDependencyCollector {
2528

2629
final override fun addInternal(dependency: ModuleDependency): ReferenceSpecsBuilder {
2730
val referenceSpecsBuilder = ReferenceSpecsBuilder(objectFactory)

src/main/kotlin/io/github/sgtsilvio/gradle/oci/internal/dsl/ParentOciImageDependencyCollectorImpl.kt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package io.github.sgtsilvio.gradle.oci.internal.dsl
22

33
import io.github.sgtsilvio.gradle.oci.dsl.ParentOciImageDependencyCollector
44
import org.gradle.api.artifacts.ModuleDependency
5+
import org.gradle.api.artifacts.dsl.DependencyFactory
56
import org.gradle.api.artifacts.dsl.DependencyHandler
67
import org.gradle.api.model.ObjectFactory
78
import org.gradle.api.provider.Provider
@@ -11,9 +12,11 @@ import javax.inject.Inject
1112
* @author Silvio Giebl
1213
*/
1314
internal abstract class ParentOciImageDependencyCollectorImpl @Inject constructor(
14-
dependencyHandler: DependencyHandler,
1515
objectFactory: ObjectFactory,
16-
) : OciImageDependencyCollectorBaseImpl<Unit>(dependencyHandler, objectFactory), ParentOciImageDependencyCollector {
16+
dependencyFactory: DependencyFactory,
17+
dependencyHandler: DependencyHandler,
18+
) : OciImageDependencyCollectorBaseImpl<Unit>(objectFactory, dependencyFactory, dependencyHandler),
19+
ParentOciImageDependencyCollector {
1720

1821
final override fun addInternal(dependency: ModuleDependency) = dependencies.add(dependency)
1922

0 commit comments

Comments
 (0)