From 11eb2bd7149545d90a8985928eb273a3aee5b8d4 Mon Sep 17 00:00:00 2001 From: Claudio Cambra Date: Thu, 20 Jun 2024 14:58:14 +0800 Subject: [PATCH] Adjust arguments for mac crafter Signed-off-by: Claudio Cambra --- admin/osx/mac-crafter/Sources/main.swift | 61 ++++++++++++++---------- 1 file changed, 36 insertions(+), 25 deletions(-) diff --git a/admin/osx/mac-crafter/Sources/main.swift b/admin/osx/mac-crafter/Sources/main.swift index 930ef076e..afe12cc4a 100644 --- a/admin/osx/mac-crafter/Sources/main.swift +++ b/admin/osx/mac-crafter/Sources/main.swift @@ -24,14 +24,23 @@ struct MacCrafter: ParsableCommand { case failedEnumeration(String) } - @Argument var codeSignIdentity: String - @Argument var buildPath = FileManager.default.currentDirectoryPath - @Argument var brewInstallShUrl = - "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh" - @Argument var craftMasterGitUrl = - "https://invent.kde.org/packaging/craftmaster.git" - @Argument var clientBlueprintsGitUrl = - "https://github.com/nextcloud/desktop-client-blueprints.git" + @Argument(help: "Path to the root directory of the Nextcloud Desktop Client git repository.") + var repoRootDir = "\(FileManager.default.currentDirectoryPath)/../../.." + + @Option(name: [.short, .long], help: "Code signing identity for desktop client and libs.") + var codeSignIdentity: String? + + @Option(name: [.short, .customLong("buildPath")], help: "Path for build files to be written.") + var buildPath = "\(FileManager.default.currentDirectoryPath)/build" + + @Option(name: [.long], help: "Brew installation script URL.") + var brewInstallShUrl = "https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh" + + @Option(name: [.long], help: "CraftMaster git url.") + var craftMasterGitUrl = "https://invent.kde.org/packaging/craftmaster.git" + + @Option(name: [.long], help: "Nextcloud Desktop Client git url.") + var clientBlueprintsGitUrl = "https://github.com/nextcloud/desktop-client-blueprints.git" mutating func run() throws { print("Configuring build tooling.") @@ -75,23 +84,25 @@ struct MacCrafter: ParsableCommand { print("Crafting Nextcloud Desktop Client dependencies...") shell("\(craftCommand) --install-deps nextcloud-client") - print("Code-signing Nextcloud Desktop Client libraries and frameworks...") - - let craftLibDir = "\(self.buildPath)/\(craftTarget)/lib" - let craftLibs = try fm.contentsOfDirectory(atPath: craftLibDir) - for lib in craftLibs { - guard isLibrary(lib) else { continue } - try codesign(identity: codeSignIdentity, path: "\(craftLibDir)/\(lib)") - } - - let craftPluginsDir = "\(currentDir)/\(craftTarget)/plugins" - guard let craftPluginsEnumerator = fm.enumerator(atPath: craftPluginsDir) else { - throw MacCrafterError.failedEnumeration("Failed to list craft plugins directory.") - } - - for case let plugin as String in craftPluginsEnumerator { - guard isLibrary(plugin) else { continue } - try codesign(identity: codeSignIdentity, path: "\(craftPluginsDir)/\(plugin)") + if let codeSignIdentity { + print("Code-signing Nextcloud Desktop Client libraries and frameworks...") + + let craftLibDir = "\(self.buildPath)/\(craftTarget)/lib" + let craftLibs = try fm.contentsOfDirectory(atPath: craftLibDir) + for lib in craftLibs { + guard isLibrary(lib) else { continue } + try codesign(identity: codeSignIdentity, path: "\(craftLibDir)/\(lib)") + } + + let craftPluginsDir = "\(currentDir)/\(craftTarget)/plugins" + guard let craftPluginsEnumerator = fm.enumerator(atPath: craftPluginsDir) else { + throw MacCrafterError.failedEnumeration("Failed to list craft plugins directory.") + } + + for case let plugin as String in craftPluginsEnumerator { + guard isLibrary(plugin) else { continue } + try codesign(identity: codeSignIdentity, path: "\(craftPluginsDir)/\(plugin)") + } } print("Crafting Nextcloud Desktop Client...") -- 2.30.2