Use --options as recommended for configuring craft build in mac crafter
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Sat, 22 Jun 2024 08:01:22 +0000 (16:01 +0800)
committerClaudio Cambra <developer@claudiocambra.com>
Mon, 8 Jul 2024 07:41:45 +0000 (15:41 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
admin/osx/mac-crafter/Sources/main.swift

index 80b04d9cce21d8f8151337c77daf267c7365e55f..00b5a8950c4198acb9915a1887ffa3ce5e9ceeb4 100644 (file)
@@ -110,7 +110,7 @@ struct MacCrafter: ParsableCommand {
             shell("\(craftCommand) --install-deps \(craftBlueprintName)")
         }
 
-        var craftOptions: [String] = []
+        var craftOptions = ["\(craftBlueprintName).srcDir=\(repoRootDir)"]
 
         if buildAutoUpdater {
             print("Configuring Sparkle auto-updater.")
@@ -128,20 +128,17 @@ struct MacCrafter: ParsableCommand {
                 throw MacCrafterError.environmentError("Error unpacking sparkle.")
             }
 
-            craftOptions.append("sparkleLibPath=\(buildPath)/Sparkle.framework")
+            craftOptions.append(
+                "\(craftBlueprintName).sparkleLibPath=\(buildPath)/Sparkle.framework"
+            )
         }
 
         print("Crafting Nextcloud Desktop Client...")
 
-        if !craftOptions.isEmpty {
-            let craftOptionsArg = craftOptions.map { "--set \"\($0)\"" }
-            for option in craftOptions {
-                shell("\(craftCommand) \(option) \(craftBlueprintName)")
-            }
-        }
-
+        let allOptionsString = craftOptions.map({ "--options \"\($0)\"" }).joined(separator: " ")
+        
         shell(
-            "\(craftCommand) --src-dir \(repoRootDir) --buildtype \(buildType) -i nextcloud-client"
+            "\(craftCommand) --buildtype \(buildType) -i \(allOptionsString) \(craftBlueprintName)"
         )
 
         guard let codeSignIdentity else {