From: Claudio Cambra Date: Fri, 20 Sep 2024 10:46:28 +0000 (+0800) Subject: Add package command for mac crafter X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~6^2~11^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=7de3d54d9013b0ac7589d964b9a8436400719df4;p=nextcloud-desktop.git Add package command for mac crafter Signed-off-by: Claudio Cambra --- diff --git a/admin/osx/mac-crafter/Sources/main.swift b/admin/osx/mac-crafter/Sources/main.swift index 87a23641e..de22b799e 100644 --- a/admin/osx/mac-crafter/Sources/main.swift +++ b/admin/osx/mac-crafter/Sources/main.swift @@ -260,14 +260,61 @@ struct Codesign: ParsableCommand { } } +struct Package: ParsableCommand { + static let configuration = CommandConfiguration(abstract: "Packaging script for the client.") + + @Option(name: [.short, .long], help: "Architecture.") + var arch = "arm64" + + @Option(name: [.short, .long], help: "Path for build files to be written.") + var buildPath = "\(FileManager.default.currentDirectoryPath)/build" + + @Option(name: [.short, .long], help: "Path for the final product to be put.") + var productPath = "\(FileManager.default.currentDirectoryPath)/product" + + @Option(name: [.long], help: "Nextcloud Desktop Client craft blueprint name.") + var craftBlueprintName = "nextcloud-client" + + @Option(name: [.long], help: "The application's branded name.") + var appName = "Nextcloud" + + @Option(name: [.long], help: "Apple ID, used for notarisation.") + var appleId: String? + + @Option(name: [.long], help: "Apple ID password, used for notarisation.") + var applePassword: String? + + @Option(name: [.long], help: "Apple Team ID, used for notarisation.") + var appleTeamId: String? + + @Option(name: [.long], help: "Apple package signing ID.") + var packageSigningId: String? + + @Option(name: [.long], help: "Sparkle package signing key.") + var sparklePackageSignKey: String? + + mutating func run() throws { + try packageAppBundle( + productPath: productPath, + buildPath: buildPath, + craftTarget: archToCraftTarget(arch), + craftBlueprintName: craftBlueprintName, + appName: appName, + packageSigningId: packageSigningId, + appleId: appleId, + applePassword: applePassword, + appleTeamId: appleTeamId, + sparklePackageSignKey: sparklePackageSignKey + ) + } +} + struct MacCrafter: ParsableCommand { static let configuration = CommandConfiguration( abstract: "A tool to easily build a fully-functional Nextcloud Desktop Client for macOS.", - subcommands: [Build.self, Codesign.self], + subcommands: [Build.self, Codesign.self, Package.self], defaultSubcommand: Build.self ) - - } MacCrafter.main()