@@ -2,6 +2,9 @@ package net.radsteve.axi.gradle.ext
2
2
3
3
import net.radsteve.axi.gradle.ext.AxiExtension.Companion.axi
4
4
import org.gradle.api.Project
5
+ import org.gradle.api.artifacts.ExternalModuleDependency
6
+ import org.gradle.api.artifacts.ExternalModuleDependencyBundle
7
+ import org.gradle.api.provider.Provider
5
8
import javax.inject.Inject
6
9
7
10
public abstract class AxiDependenciesExtension @Inject constructor(
@@ -10,8 +13,21 @@ public abstract class AxiDependenciesExtension @Inject constructor(
10
13
/* * Adds the given [dependencyNotation] as a runtime and compile-time library. */
11
14
public fun runtime (dependencyNotation : Any ) {
12
15
val dep = project.dependencies.create(dependencyNotation)
13
- project.dependencies.add(" implementation" , dep)
14
16
project.dependencies.add(" axiRuntime" , dep)
17
+ project.dependencies.add(" compileOnly" , dep)
18
+ }
19
+
20
+ /* * Adds the given [provider] as a runtime and compile-time library. */
21
+ public fun runtime (provider : Provider <ExternalModuleDependency >) {
22
+ project.dependencies.addProvider(" axiRuntime" , provider)
23
+ project.dependencies.addProvider(" compileOnly" , provider)
24
+ }
25
+
26
+ /* * Adds the given [bundleProvider] as a runtime and compile-time library. */
27
+ @JvmName(" runtimeBundle" )
28
+ public fun runtime (bundleProvider : Provider <ExternalModuleDependencyBundle >) {
29
+ project.dependencies.addProvider(" axiRuntime" , bundleProvider)
30
+ project.dependencies.addProvider(" compileOnly" , bundleProvider)
15
31
}
16
32
17
33
/* * Adds the given axi [modules]. */
0 commit comments