aboutsummaryrefslogtreecommitdiff
path: root/buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt
diff options
context:
space:
mode:
authorCalMWolfs <94038482+CalMWolfs@users.noreply.github.com>2024-10-17 05:13:35 +1100
committerGitHub <noreply@github.com>2024-10-16 20:13:35 +0200
commite883d0c027e602348416398ba9b14d295ee6b7b4 (patch)
tree033bc4f0e7d34aa8018fd0347a2ea0560008450b /buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt
parente2f7293cae6c76b31ad77f59380a688fcdcacde2 (diff)
downloadskyhanni-e883d0c027e602348416398ba9b14d295ee6b7b4.tar.gz
skyhanni-e883d0c027e602348416398ba9b14d295ee6b7b4.tar.bz2
skyhanni-e883d0c027e602348416398ba9b14d295ee6b7b4.zip
Backend: Add backup repo (#2673)
Co-authored-by: hannibal2 <24389977+hannibal00212@users.noreply.github.com>
Diffstat (limited to 'buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt')
-rw-r--r--buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt34
1 files changed, 34 insertions, 0 deletions
diff --git a/buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt b/buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt
new file mode 100644
index 000000000..f59bf34a8
--- /dev/null
+++ b/buildSrc/src/main/kotlin/skyhannibuildsystem/DownloadBackupRepo.kt
@@ -0,0 +1,34 @@
+package skyhannibuildsystem
+
+import org.gradle.api.DefaultTask
+import org.gradle.api.file.DirectoryProperty
+import org.gradle.api.tasks.Input
+import org.gradle.api.tasks.Internal
+import org.gradle.api.tasks.OutputDirectory
+import org.gradle.api.tasks.TaskAction
+import java.net.URL
+
+// Code taken from NotEnoughUpdates
+abstract class DownloadBackupRepo : DefaultTask() {
+
+ @get:OutputDirectory
+ abstract val outputDirectory: DirectoryProperty
+
+ @get:Input
+ abstract var branch: String
+
+ @get:Internal
+ val repoFile get() = outputDirectory.get().asFile.resolve("assets/skyhanni/repo.zip")
+
+ @TaskAction
+ fun downloadRepo() {
+ val downloadUrl = URL("https://github.com/hannibal002/SkyHanni-Repo/archive/refs/heads/$branch.zip")
+ val file = repoFile
+ file.parentFile.mkdirs()
+ file.outputStream().use { out ->
+ downloadUrl.openStream().use { inp ->
+ inp.copyTo(out)
+ }
+ }
+ }
+}