From 9732e85aa192266d05ac0619f6a8e42462d43a43 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Sun, 7 Jan 2024 23:01:37 +0100 Subject: [PATCH 01/20] :technologist: (swiftformat): Disable acronyms for tuist related files --- Apps/BLEKitExample/Project.swift | 2 ++ Apps/LekaActivityUIExplorer/Project.swift | 2 ++ Apps/LekaApp/Project.swift | 2 ++ Apps/LekaUpdater/Project.swift | 2 ++ Examples/Module/Project.swift | 2 ++ Examples/iOSApp/Project.swift | 2 ++ Examples/macOSApp/Project.swift | 2 ++ Examples/macOSCli/Project.swift | 2 ++ Modules/AccountKit/Project.swift | 2 ++ Modules/BLEKit/Project.swift | 2 ++ Modules/ContentKit/Project.swift | 2 ++ Modules/DesignKit/Project.swift | 2 ++ Modules/GameEngineKit/Project.swift | 2 ++ Modules/LocalizationKit/Project.swift | 2 ++ Modules/LogKit/Project.swift | 2 ++ Modules/RobotKit/Project.swift | 2 ++ Tuist/Config.swift | 2 ++ Tuist/Dependencies.swift | 2 ++ Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 2 ++ Tuist/ProjectDescriptionHelpers/Project+Schemes.swift | 2 ++ Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift | 2 ++ .../ProjectDescriptionHelpers/Project+Templates+App_macOS.swift | 2 ++ Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift | 2 ++ Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift | 2 ++ Tuist/ProjectDescriptionHelpers/Project+Templates.swift | 2 ++ Tuist/ProjectDescriptionHelpers/TargetScripts.swift | 2 ++ Workspace.swift | 2 ++ 27 files changed, 54 insertions(+) diff --git a/Apps/BLEKitExample/Project.swift b/Apps/BLEKitExample/Project.swift index 4a8e7bb9c8..1a5ee10ce7 100644 --- a/Apps/BLEKitExample/Project.swift +++ b/Apps/BLEKitExample/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Apps/LekaActivityUIExplorer/Project.swift b/Apps/LekaActivityUIExplorer/Project.swift index 3debff5d3b..d8e6ce5b67 100644 --- a/Apps/LekaActivityUIExplorer/Project.swift +++ b/Apps/LekaActivityUIExplorer/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Apps/LekaApp/Project.swift b/Apps/LekaApp/Project.swift index 53851ebc4a..e484e726da 100644 --- a/Apps/LekaApp/Project.swift +++ b/Apps/LekaApp/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Apps/LekaUpdater/Project.swift b/Apps/LekaUpdater/Project.swift index 862fc2bc34..6f0b80ae4d 100644 --- a/Apps/LekaUpdater/Project.swift +++ b/Apps/LekaUpdater/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Examples/Module/Project.swift b/Examples/Module/Project.swift index 90322f5232..c9c51fd93d 100644 --- a/Examples/Module/Project.swift +++ b/Examples/Module/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Examples/iOSApp/Project.swift b/Examples/iOSApp/Project.swift index 53b64e3bf4..ead3cef8af 100644 --- a/Examples/iOSApp/Project.swift +++ b/Examples/iOSApp/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Examples/macOSApp/Project.swift b/Examples/macOSApp/Project.swift index 814cf60be4..a17fd2759a 100644 --- a/Examples/macOSApp/Project.swift +++ b/Examples/macOSApp/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Examples/macOSCli/Project.swift b/Examples/macOSCli/Project.swift index 7e30bfa194..27a2e5ae41 100644 --- a/Examples/macOSCli/Project.swift +++ b/Examples/macOSCli/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/AccountKit/Project.swift b/Modules/AccountKit/Project.swift index 5346d60c05..435acc5161 100644 --- a/Modules/AccountKit/Project.swift +++ b/Modules/AccountKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/BLEKit/Project.swift b/Modules/BLEKit/Project.swift index 6b3d4da514..6ddc9f9d72 100644 --- a/Modules/BLEKit/Project.swift +++ b/Modules/BLEKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/ContentKit/Project.swift b/Modules/ContentKit/Project.swift index 0c0fd028a8..3d064e845b 100644 --- a/Modules/ContentKit/Project.swift +++ b/Modules/ContentKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/DesignKit/Project.swift b/Modules/DesignKit/Project.swift index 64034c8b6c..134517d757 100644 --- a/Modules/DesignKit/Project.swift +++ b/Modules/DesignKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/GameEngineKit/Project.swift b/Modules/GameEngineKit/Project.swift index dc1d865925..afa36752be 100644 --- a/Modules/GameEngineKit/Project.swift +++ b/Modules/GameEngineKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/LocalizationKit/Project.swift b/Modules/LocalizationKit/Project.swift index baaaf6645d..72f9984b0f 100644 --- a/Modules/LocalizationKit/Project.swift +++ b/Modules/LocalizationKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/LogKit/Project.swift b/Modules/LogKit/Project.swift index 6e18c0d9b3..68e918c898 100644 --- a/Modules/LogKit/Project.swift +++ b/Modules/LogKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Modules/RobotKit/Project.swift b/Modules/RobotKit/Project.swift index 542184b10b..3ad3b1f767 100644 --- a/Modules/RobotKit/Project.swift +++ b/Modules/RobotKit/Project.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription import ProjectDescriptionHelpers diff --git a/Tuist/Config.swift b/Tuist/Config.swift index 5cdfafe284..faaa629ab3 100644 --- a/Tuist/Config.swift +++ b/Tuist/Config.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription let config = Config( diff --git a/Tuist/Dependencies.swift b/Tuist/Dependencies.swift index b229042419..581868139c 100644 --- a/Tuist/Dependencies.swift +++ b/Tuist/Dependencies.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription let dependencies = Dependencies( diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index 5b6796e26b..ba95df7455 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription public extension InfoPlist { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Schemes.swift b/Tuist/ProjectDescriptionHelpers/Project+Schemes.swift index 6c0efd3359..1eae8bb3a2 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Schemes.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Schemes.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription public enum SchemeList { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift index 37b566f6e9..b3ef6ca987 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription public extension Project { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift index ca2e11c2d8..57c08e8035 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription public extension Project { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift index 11b97b1a63..09eb0671ae 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription public extension Project { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift index a01f381dc5..e01124fee7 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription // MARK: - ModuleExample diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index c3febb54ef..0cdad8296c 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription /// Project helpers are functions that simplify the way you define your project. diff --git a/Tuist/ProjectDescriptionHelpers/TargetScripts.swift b/Tuist/ProjectDescriptionHelpers/TargetScripts.swift index f77409a37e..761ae2f641 100644 --- a/Tuist/ProjectDescriptionHelpers/TargetScripts.swift +++ b/Tuist/ProjectDescriptionHelpers/TargetScripts.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription public extension TargetScript { diff --git a/Workspace.swift b/Workspace.swift index 6fa7f585ac..464fd965a3 100644 --- a/Workspace.swift +++ b/Workspace.swift @@ -2,6 +2,8 @@ // Copyright APF France handicap // SPDX-License-Identifier: Apache-2.0 +// swiftformat:disable acronyms + import ProjectDescription var projects: [Path] { From c9ede431434ac62dfa5dc2e28f62ed44b7f6d6af Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 12:27:30 +0100 Subject: [PATCH 02/20] :recycle: (tuist): Move dependencies to Package.swift/.resolved --- Tuist/Dependencies.swift | 39 +---------------- Tuist/Package.resolved | 95 ++++++++++++++++++++++++++++++++++++++++ Tuist/Package.swift | 50 +++++++++++++++++++++ 3 files changed, 146 insertions(+), 38 deletions(-) create mode 100644 Tuist/Package.resolved create mode 100644 Tuist/Package.swift diff --git a/Tuist/Dependencies.swift b/Tuist/Dependencies.swift index 581868139c..92eca18d4c 100644 --- a/Tuist/Dependencies.swift +++ b/Tuist/Dependencies.swift @@ -7,43 +7,6 @@ import ProjectDescription let dependencies = Dependencies( - swiftPackageManager: SwiftPackageManagerDependencies([ - .remote( - url: "https://github.com/jpsim/Yams", - requirement: .exact("5.0.6") - ), - .remote( - url: "https://github.com/airbnb/lottie-ios", - requirement: .exact("4.3.4") - ), - .remote( - url: "https://github.com/gonzalezreal/swift-markdown-ui", - requirement: .exact("2.2.0") - ), - .remote( - url: "https://github.com/apple/swift-argument-parser", - requirement: .exact("1.3.0") - ), - .remote( - url: "https://github.com/StarryInternet/CombineCoreBluetooth", - requirement: .exact("0.7.1") - ), - .remote( - url: "https://github.com/michael94ellis/SwiftUIJoystick", - requirement: .exact("1.5.0") - ), - .remote( - url: "https://github.com/AudioKit/AudioKit", - requirement: .exact("5.6.2") - ), - .remote( - url: "https://github.com/apple/swift-log", - requirement: .exact("1.5.3") - ), - .remote( - url: "https://github.com/mxcl/Version", - requirement: .exact("2.0.1") - ), - ]), + swiftPackageManager: .init(), platforms: [.iOS, .macOS] ) diff --git a/Tuist/Package.resolved b/Tuist/Package.resolved new file mode 100644 index 0000000000..4e7e4602c9 --- /dev/null +++ b/Tuist/Package.resolved @@ -0,0 +1,95 @@ +{ + "pins" : [ + { + "identity" : "audiokit", + "kind" : "remoteSourceControl", + "location" : "https://github.com/AudioKit/AudioKit", + "state" : { + "revision" : "82cab9d4c168b5b03b67e2ff099819f589b530f7", + "version" : "5.6.2" + } + }, + { + "identity" : "combinecorebluetooth", + "kind" : "remoteSourceControl", + "location" : "https://github.com/StarryInternet/CombineCoreBluetooth", + "state" : { + "revision" : "986826c4e1a41d585bae62fd828263edd72ccc3f", + "version" : "0.7.1" + } + }, + { + "identity" : "lottie-ios", + "kind" : "remoteSourceControl", + "location" : "https://github.com/airbnb/lottie-ios", + "state" : { + "revision" : "3f1202f254ad5d71f6c5b518ed2d6b9e2abe6969", + "version" : "4.3.4" + } + }, + { + "identity" : "networkimage", + "kind" : "remoteSourceControl", + "location" : "https://github.com/gonzalezreal/NetworkImage", + "state" : { + "revision" : "7aff8d1b31148d32c5933d75557d42f6323ee3d1", + "version" : "6.0.0" + } + }, + { + "identity" : "swift-argument-parser", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-argument-parser", + "state" : { + "revision" : "c8ed701b513cf5177118a175d85fbbbcd707ab41", + "version" : "1.3.0" + } + }, + { + "identity" : "swift-log", + "kind" : "remoteSourceControl", + "location" : "https://github.com/apple/swift-log", + "state" : { + "revision" : "532d8b529501fb73a2455b179e0bbb6d49b652ed", + "version" : "1.5.3" + } + }, + { + "identity" : "swift-markdown-ui", + "kind" : "remoteSourceControl", + "location" : "https://github.com/gonzalezreal/swift-markdown-ui", + "state" : { + "revision" : "5df8a4adedd6ae4eb2455ef60ff75183984daeb8", + "version" : "2.2.0" + } + }, + { + "identity" : "swiftuijoystick", + "kind" : "remoteSourceControl", + "location" : "https://github.com/michael94ellis/SwiftUIJoystick", + "state" : { + "revision" : "5bd303cdafb369a70a45c902538b42dd3c5f4d65", + "version" : "1.5.0" + } + }, + { + "identity" : "version", + "kind" : "remoteSourceControl", + "location" : "https://github.com/mxcl/Version", + "state" : { + "revision" : "1fe824b80d89201652e7eca7c9252269a1d85e25", + "version" : "2.0.1" + } + }, + { + "identity" : "yams", + "kind" : "remoteSourceControl", + "location" : "https://github.com/jpsim/Yams", + "state" : { + "revision" : "0d9ee7ea8c4ebd4a489ad7a73d5c6cad55d6fed3", + "version" : "5.0.6" + } + } + ], + "version" : 2 +} diff --git a/Tuist/Package.swift b/Tuist/Package.swift new file mode 100644 index 0000000000..739d5868e1 --- /dev/null +++ b/Tuist/Package.swift @@ -0,0 +1,50 @@ +// swift-tools-version: 5.9 +// Leka - iOS Monorepo +// Copyright APF France handicap +// SPDX-License-Identifier: Apache-2.0 + +// swiftformat:disable acronyms + +import PackageDescription + +let package = Package( + name: "GlobalProjectDependencies", + dependencies: [ + .package( + url: "https://github.com/jpsim/Yams", + exact: "5.0.6" + ), + .package( + url: "https://github.com/airbnb/lottie-ios", + exact: "4.3.4" + ), + .package( + url: "https://github.com/gonzalezreal/swift-markdown-ui", + exact: "2.2.0" + ), + .package( + url: "https://github.com/apple/swift-argument-parser", + exact: "1.3.0" + ), + .package( + url: "https://github.com/StarryInternet/CombineCoreBluetooth", + exact: "0.7.1" + ), + .package( + url: "https://github.com/michael94ellis/SwiftUIJoystick", + exact: "1.5.0" + ), + .package( + url: "https://github.com/AudioKit/AudioKit", + exact: "5.6.2" + ), + .package( + url: "https://github.com/apple/swift-log", + exact: "1.5.3" + ), + .package( + url: "https://github.com/mxcl/Version", + exact: "2.0.1" + ), + ] +) From 3af862f080742dac2e5049ce43aac7e091f94d76 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 12:33:43 +0100 Subject: [PATCH 03/20] :recycle: (tuist): Replace InfoPlist.Value w/ Plist.Value --- Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 2 +- .../ProjectDescriptionHelpers/Project+Templates+App_iOS.swift | 2 +- .../ProjectDescriptionHelpers/Project+Templates+Module.swift | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index ba95df7455..750a84b11a 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -7,7 +7,7 @@ import ProjectDescription public extension InfoPlist { - static func base(version: String) -> [String: InfoPlist.Value] { + static func base(version: String) -> [String: Plist.Value] { [ "CFBundleShortVersionString": "\(version)", "CFBundleVersion": "\(version)", diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift index b3ef6ca987..79536ba8c0 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift @@ -12,7 +12,7 @@ public extension Project { version: String = "1.0.0", deploymentTarget: DeploymentTarget = .iOS(targetVersion: "16.0", devices: .ipad), dependencies: [TargetDependency], - infoPlist: [String: InfoPlist.Value] = [:], + infoPlist: [String: Plist.Value] = [:], options: Options = .options(), schemes: [Scheme] = [] ) -> Project { diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift index e01124fee7..adca6eb226 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift @@ -11,7 +11,7 @@ import ProjectDescription public struct ModuleExample { // MARK: Lifecycle - public init(name: String, infoPlist: [String: InfoPlist.Value] = [:]) { + public init(name: String, infoPlist: [String: Plist.Value] = [:]) { self.name = name self.infoPlist = infoPlist } @@ -19,7 +19,7 @@ public struct ModuleExample { // MARK: Public public let name: String - public let infoPlist: [String: InfoPlist.Value] + public let infoPlist: [String: Plist.Value] } public extension Project { From 61d550a33c09cc0247eda570bf8f0080ab0bd1f9 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 13:59:12 +0100 Subject: [PATCH 04/20] :technologist: (tuist): InfoPlist - add bundle localization to base + add extending method --- Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index 750a84b11a..72e0c44df3 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -14,6 +14,14 @@ public extension InfoPlist { "UIMainStoryboardFile": "", "UILaunchStoryboardName": "LaunchScreen", "ITSAppUsesNonExemptEncryption": "NO", + "CFBundleLocalizations": [ + "fr", + "en", + ], ] } + + static func extendingBase(version: String, with plist: [String: Plist.Value]) -> [String: Plist.Value] { + self.base(version: version).merging(plist) { _, new in new } + } } From b142014853cc17eaa8f8d03da04959f4eeb4180b Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:17:51 +0100 Subject: [PATCH 05/20] :technologist: (tuist): Add default settings + extending method --- .../SettingsDictionary+Base.swift | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Tuist/ProjectDescriptionHelpers/SettingsDictionary+Base.swift diff --git a/Tuist/ProjectDescriptionHelpers/SettingsDictionary+Base.swift b/Tuist/ProjectDescriptionHelpers/SettingsDictionary+Base.swift new file mode 100644 index 0000000000..f0919d552c --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/SettingsDictionary+Base.swift @@ -0,0 +1,23 @@ +// Leka - iOS Monorepo +// Copyright APF France handicap +// SPDX-License-Identifier: Apache-2.0 + +// swiftformat:disable acronyms + +import ProjectDescription + +extension SettingsDictionary { + static var base: SettingsDictionary = [ + "LOCALIZED_STRING_MACRO_NAMES": [ + "NSLocalizedString", + "CFCopyLocalizedString", + "LocalizedString", + "LocalizedStringInterpolation", + ], + "LOCALIZED_STRING_SWIFTUI_SUPPORT": "NO", + ] + + static func extendingBase(with settings: SettingsDictionary) -> SettingsDictionary { + self.base.merging(settings) { _, new in new } + } +} From fed66da8b695b37a7dd4e951e776b6066716faf9 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:19:09 +0100 Subject: [PATCH 06/20] :technologist: (tuist): Add new app project compatible w/ mutliple deployment targets --- .../Project+Templates+App.swift | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 Tuist/ProjectDescriptionHelpers/Project+Templates+App.swift diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+App.swift new file mode 100644 index 0000000000..f0fbee72e9 --- /dev/null +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+App.swift @@ -0,0 +1,59 @@ +// Leka - iOS Monorepo +// Copyright APF France handicap +// SPDX-License-Identifier: Apache-2.0 + +// swiftformat:disable acronyms + +import ProjectDescription + +public extension Project { + static func app( + name: String, + version: String = "1.0.0", + deploymentTargets: DeploymentTargets = .iOS("16.0"), + destinations: Destinations = [.iPad, .macWithiPadDesign], + infoPlist: [String: Plist.Value] = [:], + settings: SettingsDictionary = [:], + options: Options = .options(), + dependencies: [TargetDependency] = [], + schemes: [Scheme] = [] + ) -> Project { + let mainTarget = Target( + name: name, + destinations: destinations, + product: .app, + bundleId: "io.leka.apf.app.\(name)", + deploymentTargets: deploymentTargets, + infoPlist: .extendingDefault(with: InfoPlist.extendingBase(version: version, with: infoPlist)), + sources: ["Sources/**"], + resources: ["Resources/**"], + scripts: TargetScript.linters(), + dependencies: dependencies, + settings: .settings(base: .extendingBase(with: settings)) + ) + + let testTarget = Target( + name: "\(name)Tests", + destinations: destinations, + product: .unitTests, + bundleId: "io.leka.apf.app.\(name)Tests", + infoPlist: .extendingDefault(with: InfoPlist.extendingBase(version: version, with: infoPlist)), + sources: ["Tests/**"], + resources: [], + scripts: TargetScript.linters(), + dependencies: [ + .target(name: "\(name)"), + ] + ) + + let targets = [mainTarget, testTarget] + + return Project( + name: name, + organizationName: "leka.io", + options: options, + targets: targets, + schemes: schemes + ) + } +} From b77aaab43f352f964a031940860832c56ba1e740 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:21:52 +0100 Subject: [PATCH 07/20] :technologist: (tuist): InfoPlist - add default BLE plist entries --- Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index 72e0c44df3..17d3180c77 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -18,6 +18,11 @@ public extension InfoPlist { "fr", "en", ], + "NSBluetoothAlwaysUsageDescription": + "The app needs to use Bluetooth to connect to the Leka robot", + "UIBackgroundModes": [ + "bluetooth-central", + ], ] } From d340d39d4b85fd29a17718085cce4501b613c66f Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:24:32 +0100 Subject: [PATCH 08/20] :technologist: (tuist): InfoPlist - add audio to background modes --- Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index 17d3180c77..1e48ef3b44 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -22,6 +22,7 @@ public extension InfoPlist { "The app needs to use Bluetooth to connect to the Leka robot", "UIBackgroundModes": [ "bluetooth-central", + "audio", ], ] } From 83a6b31b0ba1c4b46a198769a81378383eb961e8 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:25:20 +0100 Subject: [PATCH 09/20] :technologist: (tuist): InfoPlist - add full screen, orientation support --- Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index 1e48ef3b44..00da3737e0 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -24,6 +24,15 @@ public extension InfoPlist { "bluetooth-central", "audio", ], + "UIRequiresFullScreen": "true", + "UISupportedInterfaceOrientations": [ + "UIInterfaceOrientationLandscapeRight", + "UIInterfaceOrientationLandscapeLeft", + ], + "UISupportedInterfaceOrientations~ipad": [ + "UIInterfaceOrientationLandscapeRight", + "UIInterfaceOrientationLandscapeLeft", + ], ] } From 0139f165ec0aaea753057772562c738c5c27b9ea Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:31:16 +0100 Subject: [PATCH 10/20] :technologist: (tuist): InfoPlist - set default app category to utilities --- Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift index 00da3737e0..fff051f182 100644 --- a/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift +++ b/Tuist/ProjectDescriptionHelpers/InfoPlist+Base.swift @@ -33,6 +33,7 @@ public extension InfoPlist { "UIInterfaceOrientationLandscapeRight", "UIInterfaceOrientationLandscapeLeft", ], + "LSApplicationCategoryType": "public.app-category.utilities", ] } From 59ce6cab6c730dca069b669a923bb689f5640b05 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:42:45 +0100 Subject: [PATCH 11/20] :recycle: (tuist): Move all iOS projects to app(...) --- Apps/BLEKitExample/Project.swift | 9 +----- Apps/LekaActivityUIExplorer/Project.swift | 36 ++++------------------- Apps/LekaApp/Project.swift | 30 +++++-------------- Apps/LekaUpdater/Project.swift | 29 +++++------------- Examples/iOSApp/Project.swift | 3 +- 5 files changed, 23 insertions(+), 84 deletions(-) diff --git a/Apps/BLEKitExample/Project.swift b/Apps/BLEKitExample/Project.swift index 1a5ee10ce7..05c092a069 100644 --- a/Apps/BLEKitExample/Project.swift +++ b/Apps/BLEKitExample/Project.swift @@ -8,17 +8,10 @@ import ProjectDescription import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.iOSApp( +let project = Project.app( name: "BLEKitExample", dependencies: [ .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), .project(target: "BLEKit", path: Path("../../Modules/BLEKit")), - ], - infoPlist: [ - "NSBluetoothAlwaysUsageDescription": - "The LekaBLE app needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - ], ] ) diff --git a/Apps/LekaActivityUIExplorer/Project.swift b/Apps/LekaActivityUIExplorer/Project.swift index d8e6ce5b67..46b7a0ffe5 100644 --- a/Apps/LekaActivityUIExplorer/Project.swift +++ b/Apps/LekaActivityUIExplorer/Project.swift @@ -8,9 +8,12 @@ import ProjectDescription import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.iOSApp( +let project = Project.app( name: "LekaActivityUIExplorer", - deploymentTarget: .iOS(targetVersion: "17.0", devices: .ipad), + deploymentTargets: .iOS("17.0"), + infoPlist: [ + "NSAccentColorName": "AccentColor", + ], dependencies: [ .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), .project(target: "GameEngineKit", path: Path("../../Modules/GameEngineKit")), @@ -19,34 +22,5 @@ let project = Project.iOSApp( .external(name: "Yams"), .external(name: "Lottie"), .external(name: "SwiftUIJoystick"), - ], - infoPlist: [ - "CFBundleShortVersionString": "1.0.0", - "CFBundleDocumentTypes": [ - [ - "CFBundleTypeName": "Sequencing Card Item", - "LSHandlerRank": "Default", - "CFBundleTypeRole": "Viewer", - "LSItemContentTypes": [ - "io.leka.apf.app.uiexplorer.sequencing.card_item", - ], - ], - ], - "NSBluetoothAlwaysUsageDescription": - "The Leka App needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - "audio", - ], - "UIRequiresFullScreen": "true", - "UISupportedInterfaceOrientations": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "UISupportedInterfaceOrientations~ipad": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "NSAccentColorName": "AccentColor", ] ) diff --git a/Apps/LekaApp/Project.swift b/Apps/LekaApp/Project.swift index e484e726da..24f5d5c88e 100644 --- a/Apps/LekaApp/Project.swift +++ b/Apps/LekaApp/Project.swift @@ -8,31 +8,11 @@ import ProjectDescription import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.iOSApp( +let project = Project.app( name: "LekaApp", version: "1.0.0", - dependencies: [ - .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), - .project(target: "RobotKit", path: Path("../../Modules/RobotKit")), - .external(name: "Yams"), - .external(name: "Lottie"), - ], infoPlist: [ - "NSBluetoothAlwaysUsageDescription": - "The Leka App needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - ], - "UIRequiresFullScreen": "true", - "UISupportedInterfaceOrientations": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "UISupportedInterfaceOrientations~ipad": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "NSAccentColorName": "AccentColor", + "LSApplicationCategoryType": "public.app-category.education", "CFBundleURLTypes": [ [ "CFBundleTypeRole": "Editor", @@ -41,5 +21,11 @@ let project = Project.iOSApp( ], ], "LSApplicationQueriesSchemes": ["LekaUpdater"], + ], + dependencies: [ + .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), + .project(target: "RobotKit", path: Path("../../Modules/RobotKit")), + .external(name: "Yams"), + .external(name: "Lottie"), ] ) diff --git a/Apps/LekaUpdater/Project.swift b/Apps/LekaUpdater/Project.swift index 6f0b80ae4d..361a310d30 100644 --- a/Apps/LekaUpdater/Project.swift +++ b/Apps/LekaUpdater/Project.swift @@ -23,31 +23,11 @@ private var schemes: [Scheme] { } // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.iOSApp( +let project = Project.app( name: "LekaUpdater", version: "1.4.0", - dependencies: [ - .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), - .project(target: "BLEKit", path: Path("../../Modules/BLEKit")), - .project(target: "RobotKit", path: Path("../../Modules/RobotKit")), - .project(target: "LocalizationKit", path: Path("../../Modules/LocalizationKit")), - .external(name: "Version"), - ], infoPlist: [ "LEKA_OS_VERSION": "1.4.0", - "NSBluetoothAlwaysUsageDescription": - "The Leka Updater app needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - ], - "UIRequiresFullScreen": "true", - "UISupportedInterfaceOrientations": ["UIInterfaceOrientationPortrait"], - "UISupportedInterfaceOrientations~ipad": [ - "UIInterfaceOrientationPortrait", - "UIInterfaceOrientationPortraitUpsideDown", - ], - "LSApplicationCategoryType": "public.app-category.utilities", - "NSAccentColorName": "AccentColor", "CFBundleURLTypes": [ [ "CFBundleTypeRole": "Editor", @@ -59,5 +39,12 @@ let project = Project.iOSApp( "LekaApp", "com.googleusercontent.apps.224911845933-mv4tp4rstgjtvdqvbv5dl7defii1a7ic", ], ], + dependencies: [ + .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), + .project(target: "BLEKit", path: Path("../../Modules/BLEKit")), + .project(target: "RobotKit", path: Path("../../Modules/RobotKit")), + .project(target: "LocalizationKit", path: Path("../../Modules/LocalizationKit")), + .external(name: "Version"), + ], schemes: schemes ) diff --git a/Examples/iOSApp/Project.swift b/Examples/iOSApp/Project.swift index ead3cef8af..99f6230830 100644 --- a/Examples/iOSApp/Project.swift +++ b/Examples/iOSApp/Project.swift @@ -8,9 +8,8 @@ import ProjectDescription import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.iOSApp( +let project = Project.app( name: "iOSApp", - version: "1.0.0", dependencies: [ .project(target: "Module", path: Path("../../Examples/Module")), ] From 626095ffffd66b14771b0d89be0e34279e957712 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:44:23 +0100 Subject: [PATCH 12/20] :fire: (tuist ): Remove unused iOSApp(...) --- .../Project+Templates+App_iOS.swift | 66 ------------------- 1 file changed, 66 deletions(-) delete mode 100644 Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift deleted file mode 100644 index 79536ba8c0..0000000000 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_iOS.swift +++ /dev/null @@ -1,66 +0,0 @@ -// Leka - iOS Monorepo -// Copyright APF France handicap -// SPDX-License-Identifier: Apache-2.0 - -// swiftformat:disable acronyms - -import ProjectDescription - -public extension Project { - static func iOSApp( - name: String, - version: String = "1.0.0", - deploymentTarget: DeploymentTarget = .iOS(targetVersion: "16.0", devices: .ipad), - dependencies: [TargetDependency], - infoPlist: [String: Plist.Value] = [:], - options: Options = .options(), - schemes: [Scheme] = [] - ) -> Project { - let appInfoPlist = InfoPlist.base(version: version).merging(infoPlist) { _, new in new } - - let mainTarget = Target( - name: name, - platform: .iOS, - product: .app, - bundleId: "io.leka.apf.app.\(name)", - deploymentTarget: deploymentTarget, - infoPlist: .extendingDefault(with: appInfoPlist), - sources: ["Sources/**"], - resources: ["Resources/**"], - scripts: TargetScript.linters(), - dependencies: dependencies, - settings: .settings(base: [ - "LOCALIZED_STRING_MACRO_NAMES": [ - "NSLocalizedString", - "CFCopyLocalizedString", - "LocalizedString", - "LocalizedStringInterpolation", - ], - ]) - ) - - let testTarget = Target( - name: "\(name)Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.leka.apf.app.\(name)Tests", - infoPlist: .default, - sources: ["Tests/**"], - resources: [], - scripts: TargetScript.linters(), - dependencies: [ - .target(name: "\(name)"), - ] - ) - - let targets = [mainTarget, testTarget] - - return Project( - name: name, - organizationName: "leka.io", - options: options, - targets: targets, - schemes: schemes - ) - } -} From ede709ae91cfe534e50634c41b13e3b8ed85f2f5 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:46:54 +0100 Subject: [PATCH 13/20] :recycle: (tuist): Move all macOS projects to app(...) --- Examples/macOSApp/Project.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Examples/macOSApp/Project.swift b/Examples/macOSApp/Project.swift index a17fd2759a..a22c22a032 100644 --- a/Examples/macOSApp/Project.swift +++ b/Examples/macOSApp/Project.swift @@ -8,9 +8,9 @@ import ProjectDescription import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.macOSApp( +let project = Project.app( name: "macOSApp", - version: "1.0.0", + deploymentTargets: .macOS("13.0"), dependencies: [ .project(target: "Module", path: Path("../../Examples/Module")), ] From 41e20e2680780f5de98737ad482e92b3d3e6da1a Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 14:47:25 +0100 Subject: [PATCH 14/20] :fire: (tuist ): Remove unused macOSApp(...) --- .../Project+Templates+App_macOS.swift | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift deleted file mode 100644 index 57c08e8035..0000000000 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+App_macOS.swift +++ /dev/null @@ -1,49 +0,0 @@ -// Leka - iOS Monorepo -// Copyright APF France handicap -// SPDX-License-Identifier: Apache-2.0 - -// swiftformat:disable acronyms - -import ProjectDescription - -public extension Project { - static func macOSApp( - name: String, - version _: String = "1.0.0", - dependencies: [TargetDependency] - ) -> Project { - let mainTarget = Target( - name: name, - platform: .macOS, - product: .app, - bundleId: "io.leka.apf.app.\(name)", - deploymentTarget: .macOS(targetVersion: "13.0"), - sources: ["Sources/**"], - resources: ["Resources/**"], - scripts: TargetScript.linters(), - dependencies: dependencies - ) - - let testTarget = Target( - name: "\(name)Tests", - platform: .macOS, - product: .unitTests, - bundleId: "io.leka.apf.app.\(name)Tests", - infoPlist: .default, - sources: ["Tests/**"], - resources: [], - scripts: TargetScript.linters(), - dependencies: [ - .target(name: "\(name)"), - ] - ) - - let targets = [mainTarget, testTarget] - - return Project( - name: name, - organizationName: "leka.io", - targets: targets - ) - } -} From c2b3b4979ce867ea67a4033165f1752e0aae5097 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 15:40:51 +0100 Subject: [PATCH 15/20] :recycle: (tuist): Project Module - refactor to follow app(...) API --- Examples/Module/Project.swift | 7 +- Modules/AccountKit/Project.swift | 14 ++- Modules/BLEKit/Project.swift | 16 +--- Modules/ContentKit/Project.swift | 14 ++- Modules/DesignKit/Project.swift | 1 - Modules/GameEngineKit/Project.swift | 28 ++---- Modules/LocalizationKit/Project.swift | 5 +- Modules/LogKit/Project.swift | 12 +-- Modules/RobotKit/Project.swift | 28 ++---- .../Project+Templates+Module.swift | 88 +++++++++++++------ .../Project+Templates.swift | 72 --------------- 11 files changed, 97 insertions(+), 188 deletions(-) delete mode 100644 Tuist/ProjectDescriptionHelpers/Project+Templates.swift diff --git a/Examples/Module/Project.swift b/Examples/Module/Project.swift index c9c51fd93d..924823a4b1 100644 --- a/Examples/Module/Project.swift +++ b/Examples/Module/Project.swift @@ -10,10 +10,6 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "Module", - platform: .iOS, - dependencies: [ - // no deps - ], examples: [ ModuleExample(name: "ModuleExampleAppOne"), ModuleExample( @@ -22,5 +18,8 @@ let project = Project.module( "APP_NAME": "ModuleExampleAppTwo from InfoPlist", ] ), + ], + dependencies: [ + // no deps ] ) diff --git a/Modules/AccountKit/Project.swift b/Modules/AccountKit/Project.swift index 435acc5161..738c65a564 100644 --- a/Modules/AccountKit/Project.swift +++ b/Modules/AccountKit/Project.swift @@ -10,17 +10,13 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "AccountKit", - platform: .iOS, - dependencies: [ - .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), - .project(target: "LogKit", path: Path("../../Modules/LogKit")), - ], examples: [ ModuleExample( - name: "AccountKitExample", - infoPlist: [ - "NSAccentColorName": "AccentColor", - ] + name: "AccountKitExample" ), + ], + dependencies: [ + .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), + .project(target: "LogKit", path: Path("../../Modules/LogKit")), ] ) diff --git a/Modules/BLEKit/Project.swift b/Modules/BLEKit/Project.swift index 6ddc9f9d72..377562a3ce 100644 --- a/Modules/BLEKit/Project.swift +++ b/Modules/BLEKit/Project.swift @@ -10,20 +10,12 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "BLEKit", - platform: .iOS, - dependencies: [ - .external(name: "CombineCoreBluetooth"), - ], examples: [ ModuleExample( - name: "BLEKitExample", - infoPlist: [ - "NSBluetoothAlwaysUsageDescription": - "The Leka Updater app needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - ], - ] + name: "BLEKitExample" ), + ], + dependencies: [ + .external(name: "CombineCoreBluetooth"), ] ) diff --git a/Modules/ContentKit/Project.swift b/Modules/ContentKit/Project.swift index 3d064e845b..c95dd308dd 100644 --- a/Modules/ContentKit/Project.swift +++ b/Modules/ContentKit/Project.swift @@ -10,17 +10,13 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "ContentKit", - platform: .iOS, - dependencies: [ - .project(target: "LogKit", path: Path("../../Modules/LogKit")), - .external(name: "Yams"), - ], examples: [ ModuleExample( - name: "ContentKitExample", - infoPlist: [ - "NSAccentColorName": "AccentColor", - ] + name: "ContentKitExample" ), + ], + dependencies: [ + .project(target: "LogKit", path: Path("../../Modules/LogKit")), + .external(name: "Yams"), ] ) diff --git a/Modules/DesignKit/Project.swift b/Modules/DesignKit/Project.swift index 134517d757..b07ed648c7 100644 --- a/Modules/DesignKit/Project.swift +++ b/Modules/DesignKit/Project.swift @@ -10,7 +10,6 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "DesignKit", - platform: .iOS, dependencies: [ .external(name: "Lottie"), ] diff --git a/Modules/GameEngineKit/Project.swift b/Modules/GameEngineKit/Project.swift index afa36752be..08c6e26a1f 100644 --- a/Modules/GameEngineKit/Project.swift +++ b/Modules/GameEngineKit/Project.swift @@ -10,34 +10,16 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "GameEngineKit", - platform: .iOS, + examples: [ + ModuleExample( + name: "GameEngineKitExample" + ), + ], dependencies: [ .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), .project(target: "RobotKit", path: Path("../../Modules/RobotKit")), .project(target: "ContentKit", path: Path("../../Modules/ContentKit")), .external(name: "SwiftUIJoystick"), .external(name: "AudioKit"), - ], - examples: [ - ModuleExample( - name: "GameEngineKitExample", - infoPlist: [ - "NSBluetoothAlwaysUsageDescription": - "The Leka Updater app needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - ], - "UIRequiresFullScreen": "true", - "UISupportedInterfaceOrientations": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "UISupportedInterfaceOrientations~ipad": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "NSAccentColorName": "AccentColor", - ] - ), ] ) diff --git a/Modules/LocalizationKit/Project.swift b/Modules/LocalizationKit/Project.swift index 72f9984b0f..8f43f91e5f 100644 --- a/Modules/LocalizationKit/Project.swift +++ b/Modules/LocalizationKit/Project.swift @@ -10,8 +10,6 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "LocalizationKit", - platform: .iOS, - dependencies: [], examples: [ ModuleExample( name: "LocalizationKitExample", @@ -20,6 +18,9 @@ let project = Project.module( ] ), ], + dependencies: [ + // no deps + ], schemes: [ SchemeList.l10nFR(name: "LocalizationKitExample"), SchemeList.l10nEN(name: "LocalizationKitExample"), diff --git a/Modules/LogKit/Project.swift b/Modules/LogKit/Project.swift index 68e918c898..ec962fce59 100644 --- a/Modules/LogKit/Project.swift +++ b/Modules/LogKit/Project.swift @@ -10,16 +10,12 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "LogKit", - platform: .iOS, - dependencies: [ - .external(name: "Logging"), - ], examples: [ ModuleExample( - name: "LogKitExample", - infoPlist: [ - "NSAccentColorName": "AccentColor", - ] + name: "LogKitExample" ), + ], + dependencies: [ + .external(name: "Logging"), ] ) diff --git a/Modules/RobotKit/Project.swift b/Modules/RobotKit/Project.swift index 3ad3b1f767..388cbe3056 100644 --- a/Modules/RobotKit/Project.swift +++ b/Modules/RobotKit/Project.swift @@ -10,33 +10,15 @@ import ProjectDescriptionHelpers // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "RobotKit", - platform: .iOS, + examples: [ + ModuleExample( + name: "RobotKitExample" + ), + ], dependencies: [ .project(target: "BLEKit", path: Path("../../Modules/BLEKit")), .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), .project(target: "LogKit", path: Path("../../Modules/LogKit")), .external(name: "Version"), - ], - examples: [ - ModuleExample( - name: "RobotKitExample", - infoPlist: [ - "NSBluetoothAlwaysUsageDescription": - "The Leka Updater app needs to use Bluetooth to connect to the Leka robot.", - "UIBackgroundModes": [ - "bluetooth-central", - ], - "UIRequiresFullScreen": "true", - "UISupportedInterfaceOrientations": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "UISupportedInterfaceOrientations~ipad": [ - "UIInterfaceOrientationLandscapeRight", - "UIInterfaceOrientationLandscapeLeft", - ], - "NSAccentColorName": "AccentColor", - ] - ), ] ) diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift index adca6eb226..86b1ecedcd 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift @@ -25,47 +25,38 @@ public struct ModuleExample { public extension Project { static func module( name: String, - platform: Platform, - product: Product = .staticLibrary, - dependencies: [TargetDependency], - settings: Settings? = nil, - examples: [ModuleExample] = [], + deploymentTargets: DeploymentTargets = .iOS("16.0"), + destinations: Destinations = [.iPad, .macWithiPadDesign], + infoPlist: [String: Plist.Value] = [:], + settings: SettingsDictionary = [:], options: Options = .options(), + examples: [ModuleExample] = [], + dependencies: [TargetDependency] = [], schemes: [Scheme] = [] ) -> Project { let frameworkTargets = makeFrameworkTargets( name: name, - platform: platform, - product: product, - dependencies: dependencies, - settings: settings + deploymentTargets: deploymentTargets, + destinations: destinations, + infoPlist: infoPlist, + settings: settings, + dependencies: dependencies ) let exampleTargets = examples.compactMap { example in - let appInfoPlist = InfoPlist.base(version: "1.0.0").merging(example.infoPlist) { _, new in new } - - let target = Target( + Target( name: example.name, - platform: .iOS, + destinations: destinations, product: .app, bundleId: "io.leka.apf.app.example.\(example.name)", - deploymentTarget: .iOS(targetVersion: "16.0", devices: .ipad), - infoPlist: .extendingDefault(with: appInfoPlist), + deploymentTargets: deploymentTargets, + infoPlist: .extendingDefault(with: InfoPlist.extendingBase(version: "1.0.0", with: infoPlist)), sources: ["Examples/\(example.name)/Sources/**"], resources: ["Examples/\(example.name)/Resources/**"], scripts: TargetScript.linters(), dependencies: [.target(name: name)], - settings: .settings(base: [ - "LOCALIZED_STRING_MACRO_NAMES": [ - "NSLocalizedString", - "CFCopyLocalizedString", - "LocalizedString", - "LocalizedStringInterpolation", - ], - ]) + settings: .settings(base: .extendingBase(with: settings)) ) - - return target } return Project( @@ -77,3 +68,50 @@ public extension Project { ) } } + +private func makeFrameworkTargets( + name: String, + deploymentTargets: DeploymentTargets = .iOS("16.0"), + destinations: Destinations = [.iPad, .macWithiPadDesign], + infoPlist: [String: Plist.Value] = [:], + settings: SettingsDictionary = [:], + dependencies: [TargetDependency] = [] +) + -> [Target] +{ + var product: Product = .staticLibrary + + if Environment.generateModulesAsFrameworksForDebug.getBoolean(default: false) { + product = .framework + } + + let module = Target( + name: name, + destinations: destinations, + product: product, + bundleId: "io.leka.apf.module.\(name)", + deploymentTargets: deploymentTargets, + infoPlist: .extendingDefault(with: InfoPlist.extendingBase(version: "1.0.0", with: infoPlist)), + sources: ["Sources/**"], + resources: ["Resources/**"], + scripts: TargetScript.linters(), + dependencies: dependencies, + settings: .settings(base: .extendingBase(with: settings)) + ) + + let tests = Target( + name: "\(name)Tests", + destinations: destinations, + product: .unitTests, + bundleId: "io.leka.apf.framework.\(name)Tests", + infoPlist: .extendingDefault(with: InfoPlist.extendingBase(version: "1.0.0", with: infoPlist)), + sources: ["Tests/**"], + resources: [], + scripts: TargetScript.linters(), + dependencies: [ + .target(name: name), + ] + ) + + return [module, tests] +} diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates.swift deleted file mode 100644 index 0cdad8296c..0000000000 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ /dev/null @@ -1,72 +0,0 @@ -// Leka - iOS Monorepo -// Copyright APF France handicap -// SPDX-License-Identifier: Apache-2.0 - -// swiftformat:disable acronyms - -import ProjectDescription - -/// Project helpers are functions that simplify the way you define your project. -/// Share code to create targets, settings, dependencies, -/// Create your own conventions, e.g: a func that makes sure all shared targets are "static frameworks" -/// See https://docs.tuist.io/guides/helpers/ - -extension Project { - // MARK: - Internal - - static func makeFrameworkTargets( - name: String, platform: Platform, product: Product = .staticLibrary, dependencies: [TargetDependency], settings: Settings? = nil - ) - -> [Target] - { - // MARK: - Set product type - - var product = product - - let generateModulesAsFrameworksForDebug = Environment.generateModulesAsFrameworksForDebug.getBoolean( - default: false) - - if generateModulesAsFrameworksForDebug { - product = .framework - } - - // MARK: - Set platform type - - var platform = platform - - let generateMacOSApps = Environment.generateMacOSApps.getBoolean(default: false) - - if generateMacOSApps { - platform = .macOS - } - - let module = Target( - name: "\(name)", - platform: platform, - product: product, - bundleId: "io.leka.apf.module.\(name)", - deploymentTarget: platform == .iOS - ? .iOS(targetVersion: "16.0", devices: .ipad) : .macOS(targetVersion: "13.0"), - infoPlist: .default, - sources: ["Sources/**"], - resources: ["Resources/**"], - scripts: TargetScript.linters(), - dependencies: dependencies, - settings: settings - ) - - let tests = Target( - name: "\(name)Tests", - platform: platform, - product: .unitTests, - bundleId: "io.leka.apf.framework.\(name)Tests", - infoPlist: .default, - sources: ["Tests/**"], - resources: [], - scripts: TargetScript.linters(), - dependencies: [.target(name: name)] - ) - - return [module, tests] - } -} From 985241ef7ebae1efe62fe895cf530d5b05372708 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 15:47:46 +0100 Subject: [PATCH 16/20] :recycle: (tuist): Project Cli - refactor to fix warnings --- Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift b/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift index 09eb0671ae..e130433dfd 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift @@ -14,10 +14,10 @@ public extension Project { ) -> Project { let mainTarget = Target( name: name, - platform: .macOS, + destinations: .macOS, product: .commandLineTool, bundleId: "io.leka.apf.cli.\(name)", - deploymentTarget: .macOS(targetVersion: "13.0"), + deploymentTargets: .macOS("13.0"), sources: ["Sources/**"], scripts: TargetScript.linters(), dependencies: dependencies From 3a60d76e90c359851e08cdda4f83ffda946325ff Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 15:48:23 +0100 Subject: [PATCH 17/20] :truck: (tuist): Remove redundant middlefix template --- .../{Project+Templates+App.swift => Project+App.swift} | 0 .../{Project+Templates+Cli.swift => Project+Cli.swift} | 0 .../{Project+Templates+Module.swift => Project+Module.swift} | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename Tuist/ProjectDescriptionHelpers/{Project+Templates+App.swift => Project+App.swift} (100%) rename Tuist/ProjectDescriptionHelpers/{Project+Templates+Cli.swift => Project+Cli.swift} (100%) rename Tuist/ProjectDescriptionHelpers/{Project+Templates+Module.swift => Project+Module.swift} (100%) diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+App.swift b/Tuist/ProjectDescriptionHelpers/Project+App.swift similarity index 100% rename from Tuist/ProjectDescriptionHelpers/Project+Templates+App.swift rename to Tuist/ProjectDescriptionHelpers/Project+App.swift diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift b/Tuist/ProjectDescriptionHelpers/Project+Cli.swift similarity index 100% rename from Tuist/ProjectDescriptionHelpers/Project+Templates+Cli.swift rename to Tuist/ProjectDescriptionHelpers/Project+Cli.swift diff --git a/Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift b/Tuist/ProjectDescriptionHelpers/Project+Module.swift similarity index 100% rename from Tuist/ProjectDescriptionHelpers/Project+Templates+Module.swift rename to Tuist/ProjectDescriptionHelpers/Project+Module.swift From 857dad4ed82961a93ddbf11519d1bcf97705c839 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 16:00:38 +0100 Subject: [PATCH 18/20] :technologist: (tuist): Add l10n schemes by default for apps --- Apps/LekaUpdater/Project.swift | 18 +----------------- Modules/LocalizationKit/Project.swift | 4 ---- .../Project+App.swift | 9 +++++---- ...Project+Schemes.swift => Scheme+l10n.swift} | 13 ++++++++++--- 4 files changed, 16 insertions(+), 28 deletions(-) rename Tuist/ProjectDescriptionHelpers/{Project+Schemes.swift => Scheme+l10n.swift} (73%) diff --git a/Apps/LekaUpdater/Project.swift b/Apps/LekaUpdater/Project.swift index 361a310d30..24f8ee6793 100644 --- a/Apps/LekaUpdater/Project.swift +++ b/Apps/LekaUpdater/Project.swift @@ -7,21 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -private var schemes: [Scheme] { - var schemeList: [Scheme] = [] - - if Environment.createLocalizationSchemes.getBoolean( - default: false) - { - schemeList.append(contentsOf: [ - SchemeList.l10nFR(name: "LekaUpdater"), - SchemeList.l10nEN(name: "LekaUpdater"), - ]) - } - - return schemeList -} - // Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "LekaUpdater", @@ -45,6 +30,5 @@ let project = Project.app( .project(target: "RobotKit", path: Path("../../Modules/RobotKit")), .project(target: "LocalizationKit", path: Path("../../Modules/LocalizationKit")), .external(name: "Version"), - ], - schemes: schemes + ] ) diff --git a/Modules/LocalizationKit/Project.swift b/Modules/LocalizationKit/Project.swift index 8f43f91e5f..905685c1e7 100644 --- a/Modules/LocalizationKit/Project.swift +++ b/Modules/LocalizationKit/Project.swift @@ -20,9 +20,5 @@ let project = Project.module( ], dependencies: [ // no deps - ], - schemes: [ - SchemeList.l10nFR(name: "LocalizationKitExample"), - SchemeList.l10nEN(name: "LocalizationKitExample"), ] ) diff --git a/Tuist/ProjectDescriptionHelpers/Project+App.swift b/Tuist/ProjectDescriptionHelpers/Project+App.swift index f0fbee72e9..1a40c83983 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+App.swift +++ b/Tuist/ProjectDescriptionHelpers/Project+App.swift @@ -46,14 +46,15 @@ public extension Project { ] ) - let targets = [mainTarget, testTarget] - return Project( name: name, organizationName: "leka.io", options: options, - targets: targets, - schemes: schemes + targets: [ + mainTarget, + testTarget, + ], + schemes: l10nSchemes(name: name) + schemes ) } } diff --git a/Tuist/ProjectDescriptionHelpers/Project+Schemes.swift b/Tuist/ProjectDescriptionHelpers/Scheme+l10n.swift similarity index 73% rename from Tuist/ProjectDescriptionHelpers/Project+Schemes.swift rename to Tuist/ProjectDescriptionHelpers/Scheme+l10n.swift index 1eae8bb3a2..58d50d1766 100644 --- a/Tuist/ProjectDescriptionHelpers/Project+Schemes.swift +++ b/Tuist/ProjectDescriptionHelpers/Scheme+l10n.swift @@ -6,8 +6,8 @@ import ProjectDescription -public enum SchemeList { - public static func l10nFR(name: String) -> Scheme { +public extension Scheme { + static func l10nFR(name: String) -> Scheme { Scheme( name: "\(name) πŸ‡«πŸ‡·", shared: true, @@ -16,7 +16,7 @@ public enum SchemeList { ) } - public static func l10nEN(name: String) -> Scheme { + static func l10nEN(name: String) -> Scheme { Scheme( name: "\(name) πŸ‡ΊπŸ‡Έ", shared: true, @@ -25,3 +25,10 @@ public enum SchemeList { ) } } + +func l10nSchemes(name: String) -> [Scheme] { + [ + .l10nFR(name: name), + .l10nEN(name: name), + ] +} From b10e63f545248a539d92d0f9c75601b3e8ac4944 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 16:05:03 +0100 Subject: [PATCH 19/20] :bulb: (tuist): Remove deprecated comments --- Apps/BLEKitExample/Project.swift | 1 - Apps/LekaActivityUIExplorer/Project.swift | 1 - Apps/LekaApp/Project.swift | 1 - Apps/LekaUpdater/Project.swift | 1 - Examples/Module/Project.swift | 1 - Examples/iOSApp/Project.swift | 1 - Examples/macOSApp/Project.swift | 1 - Examples/macOSCli/Project.swift | 1 - Modules/AccountKit/Project.swift | 1 - Modules/BLEKit/Project.swift | 1 - Modules/ContentKit/Project.swift | 1 - Modules/DesignKit/Project.swift | 1 - Modules/GameEngineKit/Project.swift | 1 - Modules/LocalizationKit/Project.swift | 1 - Modules/LogKit/Project.swift | 1 - Modules/RobotKit/Project.swift | 1 - 16 files changed, 16 deletions(-) diff --git a/Apps/BLEKitExample/Project.swift b/Apps/BLEKitExample/Project.swift index 05c092a069..07b005436b 100644 --- a/Apps/BLEKitExample/Project.swift +++ b/Apps/BLEKitExample/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "BLEKitExample", dependencies: [ diff --git a/Apps/LekaActivityUIExplorer/Project.swift b/Apps/LekaActivityUIExplorer/Project.swift index 46b7a0ffe5..c9a30b6eec 100644 --- a/Apps/LekaActivityUIExplorer/Project.swift +++ b/Apps/LekaActivityUIExplorer/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "LekaActivityUIExplorer", deploymentTargets: .iOS("17.0"), diff --git a/Apps/LekaApp/Project.swift b/Apps/LekaApp/Project.swift index 24f5d5c88e..6463aa2c0d 100644 --- a/Apps/LekaApp/Project.swift +++ b/Apps/LekaApp/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "LekaApp", version: "1.0.0", diff --git a/Apps/LekaUpdater/Project.swift b/Apps/LekaUpdater/Project.swift index 24f8ee6793..3c075ecfbc 100644 --- a/Apps/LekaUpdater/Project.swift +++ b/Apps/LekaUpdater/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "LekaUpdater", version: "1.4.0", diff --git a/Examples/Module/Project.swift b/Examples/Module/Project.swift index 924823a4b1..2891f9748e 100644 --- a/Examples/Module/Project.swift +++ b/Examples/Module/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "Module", examples: [ diff --git a/Examples/iOSApp/Project.swift b/Examples/iOSApp/Project.swift index 99f6230830..e39936b105 100644 --- a/Examples/iOSApp/Project.swift +++ b/Examples/iOSApp/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "iOSApp", dependencies: [ diff --git a/Examples/macOSApp/Project.swift b/Examples/macOSApp/Project.swift index a22c22a032..4ab8c4a9e4 100644 --- a/Examples/macOSApp/Project.swift +++ b/Examples/macOSApp/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.app( name: "macOSApp", deploymentTargets: .macOS("13.0"), diff --git a/Examples/macOSCli/Project.swift b/Examples/macOSCli/Project.swift index 27a2e5ae41..d97a26f731 100644 --- a/Examples/macOSCli/Project.swift +++ b/Examples/macOSCli/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.cli( name: "macOSCli", version: "1.0.0", diff --git a/Modules/AccountKit/Project.swift b/Modules/AccountKit/Project.swift index 738c65a564..991d58544a 100644 --- a/Modules/AccountKit/Project.swift +++ b/Modules/AccountKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "AccountKit", examples: [ diff --git a/Modules/BLEKit/Project.swift b/Modules/BLEKit/Project.swift index 377562a3ce..0246760d9b 100644 --- a/Modules/BLEKit/Project.swift +++ b/Modules/BLEKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "BLEKit", examples: [ diff --git a/Modules/ContentKit/Project.swift b/Modules/ContentKit/Project.swift index c95dd308dd..b0916637f0 100644 --- a/Modules/ContentKit/Project.swift +++ b/Modules/ContentKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "ContentKit", examples: [ diff --git a/Modules/DesignKit/Project.swift b/Modules/DesignKit/Project.swift index b07ed648c7..6067e304b1 100644 --- a/Modules/DesignKit/Project.swift +++ b/Modules/DesignKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "DesignKit", dependencies: [ diff --git a/Modules/GameEngineKit/Project.swift b/Modules/GameEngineKit/Project.swift index 08c6e26a1f..e6d5720a45 100644 --- a/Modules/GameEngineKit/Project.swift +++ b/Modules/GameEngineKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "GameEngineKit", examples: [ diff --git a/Modules/LocalizationKit/Project.swift b/Modules/LocalizationKit/Project.swift index 905685c1e7..13dbb18516 100644 --- a/Modules/LocalizationKit/Project.swift +++ b/Modules/LocalizationKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "LocalizationKit", examples: [ diff --git a/Modules/LogKit/Project.swift b/Modules/LogKit/Project.swift index ec962fce59..e544a05e25 100644 --- a/Modules/LogKit/Project.swift +++ b/Modules/LogKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "LogKit", examples: [ diff --git a/Modules/RobotKit/Project.swift b/Modules/RobotKit/Project.swift index 388cbe3056..9b15923d1f 100644 --- a/Modules/RobotKit/Project.swift +++ b/Modules/RobotKit/Project.swift @@ -7,7 +7,6 @@ import ProjectDescription import ProjectDescriptionHelpers -// Creates our project using a helper function defined in ProjectDescriptionHelpers let project = Project.module( name: "RobotKit", examples: [ From b605d09fd8392154c33ba9eb8013f1b9ab45d835 Mon Sep 17 00:00:00 2001 From: Ladislas de Toldi Date: Mon, 8 Jan 2024 16:14:36 +0100 Subject: [PATCH 20/20] :coffin: (tuist): InfoPlist - Remove AccentColor --- Apps/LekaActivityUIExplorer/Project.swift | 3 --- Modules/LocalizationKit/Project.swift | 5 +---- 2 files changed, 1 insertion(+), 7 deletions(-) diff --git a/Apps/LekaActivityUIExplorer/Project.swift b/Apps/LekaActivityUIExplorer/Project.swift index c9a30b6eec..bb0e990298 100644 --- a/Apps/LekaActivityUIExplorer/Project.swift +++ b/Apps/LekaActivityUIExplorer/Project.swift @@ -10,9 +10,6 @@ import ProjectDescriptionHelpers let project = Project.app( name: "LekaActivityUIExplorer", deploymentTargets: .iOS("17.0"), - infoPlist: [ - "NSAccentColorName": "AccentColor", - ], dependencies: [ .project(target: "DesignKit", path: Path("../../Modules/DesignKit")), .project(target: "GameEngineKit", path: Path("../../Modules/GameEngineKit")), diff --git a/Modules/LocalizationKit/Project.swift b/Modules/LocalizationKit/Project.swift index 13dbb18516..46c07aa6fa 100644 --- a/Modules/LocalizationKit/Project.swift +++ b/Modules/LocalizationKit/Project.swift @@ -11,10 +11,7 @@ let project = Project.module( name: "LocalizationKit", examples: [ ModuleExample( - name: "LocalizationKitExample", - infoPlist: [ - "NSAccentColorName": "AccentColor", - ] + name: "LocalizationKitExample" ), ], dependencies: [