Skip to content

Commit f8f86e2

Browse files
committed
feat(gradle-plugin): improve dependency ext
1 parent 2e7e038 commit f8f86e2

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

gradle-plugin/gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ org.gradle.configuration-cache=true
66
org.gradle.parallel=true
77
org.gradle.vfs.watch=false
88

9-
version=0.2.3
9+
version=0.2.4

gradle-plugin/src/main/kotlin/net/radsteve/axi/gradle/ext/AxiDependenciesExtension.kt

+17-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@ package net.radsteve.axi.gradle.ext
22

33
import net.radsteve.axi.gradle.ext.AxiExtension.Companion.axi
44
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
58
import javax.inject.Inject
69

710
public abstract class AxiDependenciesExtension @Inject constructor(
@@ -10,8 +13,21 @@ public abstract class AxiDependenciesExtension @Inject constructor(
1013
/** Adds the given [dependencyNotation] as a runtime and compile-time library. */
1114
public fun runtime(dependencyNotation: Any) {
1215
val dep = project.dependencies.create(dependencyNotation)
13-
project.dependencies.add("implementation", dep)
1416
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)
1531
}
1632

1733
/** Adds the given axi [modules]. */

gradle.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ org.jetbrains.dokka.experimental.gradle.pluginMode.noWarn=true
77
org.gradle.parallel=true
88
org.gradle.vfs.watch=false
99

10-
version=0.2.3
10+
version=0.2.4

0 commit comments

Comments
 (0)