diff options
Diffstat (limited to 'buildSrc/src/RepoDownload.kt')
-rw-r--r-- | buildSrc/src/RepoDownload.kt | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/buildSrc/src/RepoDownload.kt b/buildSrc/src/RepoDownload.kt deleted file mode 100644 index 42a09b3..0000000 --- a/buildSrc/src/RepoDownload.kt +++ /dev/null @@ -1,41 +0,0 @@ -import java.net.URI -import java.util.zip.ZipInputStream -import org.gradle.api.DefaultTask -import org.gradle.api.file.DirectoryProperty -import org.gradle.api.provider.Property -import org.gradle.api.tasks.Input -import org.gradle.api.tasks.OutputDirectory -import org.gradle.api.tasks.TaskAction - -abstract class RepoDownload : DefaultTask() { - @get:Input - abstract val hash: Property<String> - - @get:OutputDirectory - abstract val outputDirectory: DirectoryProperty - - init { - outputDirectory.convention(project.layout.buildDirectory.dir("extracted-test-repo")) - } - - @TaskAction - fun performDownload() { - val outputDir = outputDirectory.asFile.get().absoluteFile - outputDir.mkdirs() - URI("https://github.com/notEnoughUpdates/notEnoughUpdates-rEPO/archive/${hash.get()}.zip").toURL().openStream() - .let(::ZipInputStream) - .use { zipInput -> - while (true) { - val entry = zipInput.nextEntry ?: break - val destination = outputDir.resolve( - entry.name.substringAfter('/')).absoluteFile - require(outputDir in generateSequence(destination) { it.parentFile }) - if (entry.isDirectory) continue - destination.parentFile.mkdirs() - destination.outputStream().use { output -> - zipInput.copyTo(output) - } - } - } - } -} |