@@ -6,12 +6,14 @@ import org.gradle.api.DefaultTask
6
6
import org.gradle.api.Project
7
7
import org.gradle.api.artifacts.Configuration
8
8
import org.gradle.api.artifacts.Dependency
9
+ import org.gradle.api.file.FileSystemOperations
9
10
import org.gradle.api.provider.Property
10
11
import org.gradle.api.provider.Provider
11
12
import org.gradle.api.tasks.Input
12
13
import org.gradle.api.tasks.Internal
13
14
import org.gradle.api.tasks.TaskAction
14
15
import java.nio.file.Path
16
+ import javax.inject.Inject
15
17
import kotlin.io.path.div
16
18
17
19
internal val Project .lavalinkJar: Provider <Path >
@@ -23,6 +25,9 @@ abstract class DownloadLavalinkTask : DefaultTask() {
23
25
@get:Internal
24
26
internal abstract val dependencyProvider: Property <Dependency >
25
27
28
+ @get:Inject
29
+ abstract val fs: FileSystemOperations
30
+
26
31
@Suppress(" unused" ) // only exists for input snapshotting
27
32
@get:Input
28
33
val version: Provider <String >
@@ -33,10 +38,14 @@ abstract class DownloadLavalinkTask : DefaultTask() {
33
38
outputs.dir(project.gradle.gradleUserHomeDir.toPath() / " lavalink-versions" )
34
39
}
35
40
41
+ private val configurations = project.configurations
42
+
43
+ private val lavalinkPath = project.gradle.gradleUserHomeDir.toPath() / " lavalink-versions"
44
+
36
45
@TaskAction
37
46
fun download () {
38
47
val dependency = dependencyProvider.get()
39
- val configuration = project. configurations.detachedConfiguration(dependency)
48
+ val configuration = configurations.detachedConfiguration(dependency)
40
49
.markResolvable()
41
50
42
51
val files = configuration.resolve()
@@ -46,9 +55,9 @@ abstract class DownloadLavalinkTask : DefaultTask() {
46
55
&& " plain" !in it.name && " sources" !in it.name && " javadoc" !in it.name
47
56
}
48
57
logger.debug(" Resolved lavalink binary to: {}" , archive.name)
49
- val path = project.gradle.gradleUserHomeDir.toPath() / " lavalink-versions " / dependency.version!!
58
+ val path = lavalinkPath / dependency.version!!
50
59
51
- didWork = project .copy {
60
+ didWork = fs .copy {
52
61
from(archive)
53
62
rename { " Lavalink.jar" }
54
63
into(path)
0 commit comments