From bd2ce8f7712d39cc926540e646eca8b381b6114c Mon Sep 17 00:00:00 2001
From: Him188 <Him188@mamoe.net>
Date: Fri, 3 Apr 2020 08:32:58 +0800
Subject: [PATCH] Fix cuiCloud uploading

---
 build.gradle.kts | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/build.gradle.kts b/build.gradle.kts
index c952a7bd1..4c85decf8 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -36,6 +36,27 @@ subprojects {
             (this as ExtensionAware).extensions.getByName("kotlin") as? org.jetbrains.kotlin.gradle.dsl.KotlinJvmProjectExtension
                 ?: return@afterEvaluate
 
+        tasks.getByName("shadowJar") {
+            doLast {
+                this.outputs.files.forEach {
+                    if (it.nameWithoutExtension.endsWith("-all")) {
+                        val output = File(
+                            it.path.substringBeforeLast(File.separator) + File.separator + it.nameWithoutExtension.substringBeforeLast(
+                                "-all"
+                            ) + "." + it.extension
+                        )
+
+                        println("Renaming to ${output.path}")
+                        if (output.exists()) {
+                            output.delete()
+                        }
+
+                        it.renameTo(output)
+                    }
+                }
+            }
+        }
+
         val githubUpload by tasks.creating {
             group = "mirai"
             dependsOn(tasks.getByName("shadowJar"))
@@ -91,9 +112,9 @@ fun Project.findLatestFile(): Map.Entry<String, File>? {
     return File(projectDir, "build/libs").walk()
         .filter { it.isFile }
         .onEach { println("all files=$it") }
-        .filter { it.name.matches(Regex("""${project.name}-([0-9]|\.)*-all\.jar""")) }
+        .filter { it.name.matches(Regex("""${project.name}-([0-9]|\.)*\.jar""")) }
         .onEach { println("matched file: ${it.name}") }
-        .associateBy { it.nameWithoutExtension.substringAfterLast('-').replace("-all", "") }
+        .associateBy { it.nameWithoutExtension.substringAfterLast('-') }
         .onEach { println("versions: $it") }
         .maxBy {
             it.key.split('.').foldRightIndexed(0) { index: Int, s: String, acc: Int ->