@@ -6,12 +6,14 @@ import org.gradle.api.DefaultTask
66import org.gradle.api.Project
77import org.gradle.api.artifacts.Configuration
88import org.gradle.api.artifacts.Dependency
9+ import org.gradle.api.file.FileSystemOperations
910import org.gradle.api.provider.Property
1011import org.gradle.api.provider.Provider
1112import org.gradle.api.tasks.Input
1213import org.gradle.api.tasks.Internal
1314import org.gradle.api.tasks.TaskAction
1415import java.nio.file.Path
16+ import javax.inject.Inject
1517import kotlin.io.path.div
1618
1719internal val Project .lavalinkJar: Provider <Path >
@@ -23,6 +25,9 @@ abstract class DownloadLavalinkTask : DefaultTask() {
2325 @get:Internal
2426 internal abstract val dependencyProvider: Property <Dependency >
2527
28+ @get:Inject
29+ abstract val fs: FileSystemOperations
30+
2631 @Suppress(" unused" ) // only exists for input snapshotting
2732 @get:Input
2833 val version: Provider <String >
@@ -33,10 +38,14 @@ abstract class DownloadLavalinkTask : DefaultTask() {
3338 outputs.dir(project.gradle.gradleUserHomeDir.toPath() / " lavalink-versions" )
3439 }
3540
41+ private val configurations = project.configurations
42+
43+ private val lavalinkPath = project.gradle.gradleUserHomeDir.toPath() / " lavalink-versions"
44+
3645 @TaskAction
3746 fun download () {
3847 val dependency = dependencyProvider.get()
39- val configuration = project. configurations.detachedConfiguration(dependency)
48+ val configuration = configurations.detachedConfiguration(dependency)
4049 .markResolvable()
4150
4251 val files = configuration.resolve()
@@ -46,9 +55,9 @@ abstract class DownloadLavalinkTask : DefaultTask() {
4655 && " plain" !in it.name && " sources" !in it.name && " javadoc" !in it.name
4756 }
4857 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!!
5059
51- didWork = project .copy {
60+ didWork = fs .copy {
5261 from(archive)
5362 rename { " Lavalink.jar" }
5463 into(path)
0 commit comments