diff --git a/Sources/ProjectDescription/AnalyzeAction.swift b/Sources/ProjectDescription/AnalyzeAction.swift index 98789e2d860..d9b8d55cb18 100644 --- a/Sources/ProjectDescription/AnalyzeAction.swift +++ b/Sources/ProjectDescription/AnalyzeAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that analyzes the built products. /// /// It's initialized with the `.analyzeAction` static method diff --git a/Sources/ProjectDescription/ArchiveAction.swift b/Sources/ProjectDescription/ArchiveAction.swift index e8e078b4373..43983b42f4c 100644 --- a/Sources/ProjectDescription/ArchiveAction.swift +++ b/Sources/ProjectDescription/ArchiveAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that archives the built products. /// /// It's initialized with the `.archiveAction` static method. diff --git a/Sources/ProjectDescription/Arguments.swift b/Sources/ProjectDescription/Arguments.swift index 91b60628120..a8aab8d22c4 100644 --- a/Sources/ProjectDescription/Arguments.swift +++ b/Sources/ProjectDescription/Arguments.swift @@ -1,5 +1,3 @@ -import Foundation - /// A collection of arguments and environment variables. public struct Arguments: Equatable, Codable, Sendable { public var environmentVariables: [String: EnvironmentVariable] diff --git a/Sources/ProjectDescription/BuildAction.swift b/Sources/ProjectDescription/BuildAction.swift index dec03e83345..42a7cdbaaea 100644 --- a/Sources/ProjectDescription/BuildAction.swift +++ b/Sources/ProjectDescription/BuildAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that builds products. /// /// It's initialized with the `.buildAction` static method. diff --git a/Sources/ProjectDescription/BuildRule+CompilerSpec.swift b/Sources/ProjectDescription/BuildRule+CompilerSpec.swift index f53506fc508..9dbe042aad3 100644 --- a/Sources/ProjectDescription/BuildRule+CompilerSpec.swift +++ b/Sources/ProjectDescription/BuildRule+CompilerSpec.swift @@ -1,5 +1,3 @@ -import Foundation - extension BuildRule { /// The type of compiler spec which is used for a selected file type. /// All the values are taken from build rule options hidden under a pup-up button's menu next to a label `Using` in a target's diff --git a/Sources/ProjectDescription/BuildRule+FileType.swift b/Sources/ProjectDescription/BuildRule+FileType.swift index 14673f6bf9c..b56af5cdbf8 100644 --- a/Sources/ProjectDescription/BuildRule+FileType.swift +++ b/Sources/ProjectDescription/BuildRule+FileType.swift @@ -1,5 +1,3 @@ -import Foundation - extension BuildRule { /// File types processed by a build rule. /// All the values are taken from build rule options hidden under a pup-up button's menu next to a label `Process` in a diff --git a/Sources/ProjectDescription/BuildRule.swift b/Sources/ProjectDescription/BuildRule.swift index d90290b5b46..31cc06c7682 100644 --- a/Sources/ProjectDescription/BuildRule.swift +++ b/Sources/ProjectDescription/BuildRule.swift @@ -1,5 +1,3 @@ -import Foundation - /// A BuildRule is used to specify a method for transforming an input file in to an output file(s). public struct BuildRule: Codable, Equatable, Sendable { /// Compiler specification for element transformation. diff --git a/Sources/ProjectDescription/Cloud.swift b/Sources/ProjectDescription/Cloud.swift index 6c92ed3ea92..c50968f1ad2 100644 --- a/Sources/ProjectDescription/Cloud.swift +++ b/Sources/ProjectDescription/Cloud.swift @@ -1,5 +1,3 @@ -import Foundation - /// A cloud configuration, used for remote caching. public struct Cloud: Codable, Equatable, Sendable { /// Options for cloud configuration. diff --git a/Sources/ProjectDescription/CompatibleXcodeVersions.swift b/Sources/ProjectDescription/CompatibleXcodeVersions.swift index 7e20b8d17f1..43a32396b85 100644 --- a/Sources/ProjectDescription/CompatibleXcodeVersions.swift +++ b/Sources/ProjectDescription/CompatibleXcodeVersions.swift @@ -1,5 +1,3 @@ -import Foundation - /// Options of compatibles Xcode versions. public enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStringInterpolation, Codable, Equatable, Sendable { /// The project supports all Xcode versions. diff --git a/Sources/ProjectDescription/ConfigurationName.swift b/Sources/ProjectDescription/ConfigurationName.swift index b4d424bdeff..1bc78658c3e 100644 --- a/Sources/ProjectDescription/ConfigurationName.swift +++ b/Sources/ProjectDescription/ConfigurationName.swift @@ -1,5 +1,3 @@ -import Foundation - /// A configuration name. /// /// It has build-in support for ``debug`` and ``release`` configurations. diff --git a/Sources/ProjectDescription/CopyFileElement.swift b/Sources/ProjectDescription/CopyFileElement.swift index c802d131638..755f270a144 100644 --- a/Sources/ProjectDescription/CopyFileElement.swift +++ b/Sources/ProjectDescription/CopyFileElement.swift @@ -1,5 +1,3 @@ -import Foundation - /// A file element from a glob pattern or a folder reference which is conditionally applied to specific platforms with an optional /// "Code Sign On Copy" flag. public enum CopyFileElement: Codable, Equatable, Sendable { diff --git a/Sources/ProjectDescription/CopyFilesAction.swift b/Sources/ProjectDescription/CopyFilesAction.swift index 72dbd0fc579..a66fb63a84e 100644 --- a/Sources/ProjectDescription/CopyFilesAction.swift +++ b/Sources/ProjectDescription/CopyFilesAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// A build phase action used to copy files. /// /// Copy files actions, represented as target copy files build phases, are useful to associate project files diff --git a/Sources/ProjectDescription/CoreDataModel.swift b/Sources/ProjectDescription/CoreDataModel.swift index 524d120b541..f01b867a0f7 100644 --- a/Sources/ProjectDescription/CoreDataModel.swift +++ b/Sources/ProjectDescription/CoreDataModel.swift @@ -1,5 +1,3 @@ -import Foundation - /// A Core Data model. public struct CoreDataModel: Codable, Equatable, Sendable { /// Relative path to the model. diff --git a/Sources/ProjectDescription/DeploymentTargets.swift b/Sources/ProjectDescription/DeploymentTargets.swift index cec4fb86d84..9ec98e704d2 100644 --- a/Sources/ProjectDescription/DeploymentTargets.swift +++ b/Sources/ProjectDescription/DeploymentTargets.swift @@ -1,5 +1,3 @@ -import Foundation - // MARK: - DeploymentTargets /// A struct representing the minimum deployment versions for each platform. diff --git a/Sources/ProjectDescription/Destination.swift b/Sources/ProjectDescription/Destination.swift index b4b3986e9eb..e07a033d6e1 100644 --- a/Sources/ProjectDescription/Destination.swift +++ b/Sources/ProjectDescription/Destination.swift @@ -1,5 +1,3 @@ -import Foundation - /// Set of deployment destinations public typealias Destinations = Set diff --git a/Sources/ProjectDescription/Dump.swift b/Sources/ProjectDescription/Dump.swift index b3cd2fe8bb4..f47a99f1aaa 100644 --- a/Sources/ProjectDescription/Dump.swift +++ b/Sources/ProjectDescription/Dump.swift @@ -1,4 +1,4 @@ -import Foundation +@_implementationOnly import Foundation func dumpIfNeeded(_ entity: some Encodable) { guard !ProcessInfo.processInfo.arguments.isEmpty, diff --git a/Sources/ProjectDescription/Entitlements.swift b/Sources/ProjectDescription/Entitlements.swift index 09657d3ee7e..adfdeae8b59 100644 --- a/Sources/ProjectDescription/Entitlements.swift +++ b/Sources/ProjectDescription/Entitlements.swift @@ -1,5 +1,3 @@ -import Foundation - // MARK: - Entitlements public enum Entitlements: Codable, Equatable, Sendable { diff --git a/Sources/ProjectDescription/Environment.swift b/Sources/ProjectDescription/Environment.swift index 8dcb31ee7ec..231898f0cb7 100644 --- a/Sources/ProjectDescription/Environment.swift +++ b/Sources/ProjectDescription/Environment.swift @@ -1,4 +1,4 @@ -import Foundation +@_implementationOnly import Foundation /// A convenience structure to read environment variables. @dynamicMemberLookup diff --git a/Sources/ProjectDescription/EnvironmentVariable.swift b/Sources/ProjectDescription/EnvironmentVariable.swift index 934148e609c..152be71af9e 100644 --- a/Sources/ProjectDescription/EnvironmentVariable.swift +++ b/Sources/ProjectDescription/EnvironmentVariable.swift @@ -1,5 +1,3 @@ -import Foundation - /// It represents an environment variable that is passed when running a scheme's action public struct EnvironmentVariable: Equatable, Codable, Hashable, ExpressibleByStringLiteral, Sendable { // MARK: - Attributes diff --git a/Sources/ProjectDescription/ExecuteAction.swift b/Sources/ProjectDescription/ExecuteAction.swift index 8cc29931336..412cfde9f37 100644 --- a/Sources/ProjectDescription/ExecuteAction.swift +++ b/Sources/ProjectDescription/ExecuteAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that can be executed as part of another action for pre or post execution. public struct ExecutionAction: Equatable, Codable, Sendable { public var title: String diff --git a/Sources/ProjectDescription/FileCodeGen.swift b/Sources/ProjectDescription/FileCodeGen.swift index 1d3429e8eeb..712c7f6c83e 100644 --- a/Sources/ProjectDescription/FileCodeGen.swift +++ b/Sources/ProjectDescription/FileCodeGen.swift @@ -1,5 +1,3 @@ -import Foundation - /// Options for source file code generation. public enum FileCodeGen: String, Codable, Equatable, Sendable { /// Public codegen diff --git a/Sources/ProjectDescription/FileElement.swift b/Sources/ProjectDescription/FileElement.swift index 971a30a33cf..5540bee78c0 100644 --- a/Sources/ProjectDescription/FileElement.swift +++ b/Sources/ProjectDescription/FileElement.swift @@ -1,5 +1,3 @@ -import Foundation - /// A file element from a glob pattern or a folder reference. /// /// - glob: a glob pattern for files to include diff --git a/Sources/ProjectDescription/FileHeaderTemplate.swift b/Sources/ProjectDescription/FileHeaderTemplate.swift index e289db76055..96a019d1444 100644 --- a/Sources/ProjectDescription/FileHeaderTemplate.swift +++ b/Sources/ProjectDescription/FileHeaderTemplate.swift @@ -1,5 +1,3 @@ -import Foundation - /// A header template from a file or a string. /// /// Lets you define custom file header template for built-in Xcode templates, e.g. when you create new Swift file you can diff --git a/Sources/ProjectDescription/FileList.swift b/Sources/ProjectDescription/FileList.swift index 13159e023fc..5db80b004d2 100644 --- a/Sources/ProjectDescription/FileList.swift +++ b/Sources/ProjectDescription/FileList.swift @@ -1,5 +1,3 @@ -import Foundation - /// A collection of file globs. /// /// The list of files can be initialized with a string that represents the glob pattern, or an array of strings, which represents diff --git a/Sources/ProjectDescription/FileListGlob.swift b/Sources/ProjectDescription/FileListGlob.swift index 4db2ed6f910..29a06a09c71 100644 --- a/Sources/ProjectDescription/FileListGlob.swift +++ b/Sources/ProjectDescription/FileListGlob.swift @@ -1,5 +1,3 @@ -import Foundation - /// A glob pattern that refers to files. public struct FileListGlob: Codable, Equatable, Sendable { /// The path with a glob pattern. diff --git a/Sources/ProjectDescription/Headers.swift b/Sources/ProjectDescription/Headers.swift index d97a7838b4b..6df0a296ead 100644 --- a/Sources/ProjectDescription/Headers.swift +++ b/Sources/ProjectDescription/Headers.swift @@ -1,5 +1,3 @@ -import Foundation - /// A group of public, private and project headers. public struct Headers: Codable, Equatable, Sendable { /// Determine how to resolve cases, when the same files found in different header scopes diff --git a/Sources/ProjectDescription/InfoPlist.swift b/Sources/ProjectDescription/InfoPlist.swift index 0aecc6d8eba..ea01369e213 100644 --- a/Sources/ProjectDescription/InfoPlist.swift +++ b/Sources/ProjectDescription/InfoPlist.swift @@ -1,5 +1,3 @@ -import Foundation - // MARK: - InfoPlist /// A info plist from a file, a custom dictonary or a extended defaults. diff --git a/Sources/ProjectDescription/LaunchArgument.swift b/Sources/ProjectDescription/LaunchArgument.swift index 9bd2954f8d1..3d6f36a7dcf 100644 --- a/Sources/ProjectDescription/LaunchArgument.swift +++ b/Sources/ProjectDescription/LaunchArgument.swift @@ -1,5 +1,3 @@ -import Foundation - /// A launch argument, passed when running a scheme. public struct LaunchArgument: Equatable, Codable, Sendable { // MARK: - Attributes diff --git a/Sources/ProjectDescription/LaunchStyle.swift b/Sources/ProjectDescription/LaunchStyle.swift index ed05491891c..7b6983c0457 100644 --- a/Sources/ProjectDescription/LaunchStyle.swift +++ b/Sources/ProjectDescription/LaunchStyle.swift @@ -1,5 +1,3 @@ -import Foundation - public enum LaunchStyle: Codable, Sendable { case automatically case waitForExecutableToBeLaunched diff --git a/Sources/ProjectDescription/MetalOptions.swift b/Sources/ProjectDescription/MetalOptions.swift index fa749e8965c..0853149c991 100644 --- a/Sources/ProjectDescription/MetalOptions.swift +++ b/Sources/ProjectDescription/MetalOptions.swift @@ -1,5 +1,3 @@ -import Foundation - /// Options to configure scheme metal options for run and test actions. public struct MetalOptions: Equatable, Codable, Sendable { /// API Validation diff --git a/Sources/ProjectDescription/PackageSettings.swift b/Sources/ProjectDescription/PackageSettings.swift index 15ad379e6db..da0221d1e2c 100644 --- a/Sources/ProjectDescription/PackageSettings.swift +++ b/Sources/ProjectDescription/PackageSettings.swift @@ -1,5 +1,3 @@ -import Foundation - /// A custom Swift Package Manager configuration /// /// diff --git a/Sources/ProjectDescription/Path.swift b/Sources/ProjectDescription/Path.swift index 6a58ff471f1..8967837e3ae 100644 --- a/Sources/ProjectDescription/Path.swift +++ b/Sources/ProjectDescription/Path.swift @@ -1,5 +1,3 @@ -import Foundation - /// A path represents to a file, directory, or a group of files represented by a glob expression. /// /// Paths can be relative and absolute. We discourage using absolute paths because they create a dependency with the environment diff --git a/Sources/ProjectDescription/Platform.swift b/Sources/ProjectDescription/Platform.swift index fc4f34cac7b..6e22b923b07 100644 --- a/Sources/ProjectDescription/Platform.swift +++ b/Sources/ProjectDescription/Platform.swift @@ -1,5 +1,3 @@ -import Foundation - // MARK: - Platform /// A supported platform representation. diff --git a/Sources/ProjectDescription/PlatformCondition.swift b/Sources/ProjectDescription/PlatformCondition.swift index 5f5daa4824b..9e00d88cbc1 100644 --- a/Sources/ProjectDescription/PlatformCondition.swift +++ b/Sources/ProjectDescription/PlatformCondition.swift @@ -1,5 +1,3 @@ -import Foundation - /// A condition applied to an "entity" allowing it to only be used in certain circumstances public struct PlatformCondition: Codable, Hashable, Equatable, Sendable { public let platformFilters: Set diff --git a/Sources/ProjectDescription/Plist.swift b/Sources/ProjectDescription/Plist.swift index 00ed8a4b84f..6d7cede420f 100644 --- a/Sources/ProjectDescription/Plist.swift +++ b/Sources/ProjectDescription/Plist.swift @@ -1,5 +1,3 @@ -import Foundation - // MARK: - Plist public enum Plist { diff --git a/Sources/ProjectDescription/Plugin.swift b/Sources/ProjectDescription/Plugin.swift index 5d65b519e63..8d9519fe1c0 100644 --- a/Sources/ProjectDescription/Plugin.swift +++ b/Sources/ProjectDescription/Plugin.swift @@ -1,5 +1,3 @@ -import Foundation - /// A plugin representation. /// /// Supported plugins include: diff --git a/Sources/ProjectDescription/PluginLocation.swift b/Sources/ProjectDescription/PluginLocation.swift index ae726229177..9104c52e1b7 100644 --- a/Sources/ProjectDescription/PluginLocation.swift +++ b/Sources/ProjectDescription/PluginLocation.swift @@ -1,5 +1,3 @@ -import Foundation - /// A location to a plugin, either local or remote. public struct PluginLocation: Codable, Equatable, Sendable { /// The type of location `local` or `git`. diff --git a/Sources/ProjectDescription/PrivacyManifest.swift b/Sources/ProjectDescription/PrivacyManifest.swift index 8f1f0cf349a..50690f9a896 100644 --- a/Sources/ProjectDescription/PrivacyManifest.swift +++ b/Sources/ProjectDescription/PrivacyManifest.swift @@ -1,5 +1,3 @@ -import Foundation - /// Describe the data your app or third-party SDK collects and the reasons required APIs it uses. public struct PrivacyManifest: Codable, Equatable, Sendable { /// A Boolean that indicates whether your app or third-party SDK uses data for tracking as defined under the App diff --git a/Sources/ProjectDescription/Product.swift b/Sources/ProjectDescription/Product.swift index b473cb0f78f..d39a793933f 100644 --- a/Sources/ProjectDescription/Product.swift +++ b/Sources/ProjectDescription/Product.swift @@ -1,5 +1,3 @@ -import Foundation - /// Possible products types. public enum Product: String, Codable, Equatable, Sendable { /// An application. diff --git a/Sources/ProjectDescription/ProfileAction.swift b/Sources/ProjectDescription/ProfileAction.swift index cb9c27ab1d4..b18c9621f5d 100644 --- a/Sources/ProjectDescription/ProfileAction.swift +++ b/Sources/ProjectDescription/ProfileAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that profiles the built products. /// /// It's initialized with the `.profileAction` static method diff --git a/Sources/ProjectDescription/Project.swift b/Sources/ProjectDescription/Project.swift index 5489ba6ce4b..bc34a7ea76d 100644 --- a/Sources/ProjectDescription/Project.swift +++ b/Sources/ProjectDescription/Project.swift @@ -1,5 +1,3 @@ -import Foundation - /// A project representation. /// /// A project manifest needs to be defined in a `Project.swift` manifest file. diff --git a/Sources/ProjectDescription/ProjectOptions.swift b/Sources/ProjectDescription/ProjectOptions.swift index 9495c4317cc..d5b0fde200c 100644 --- a/Sources/ProjectDescription/ProjectOptions.swift +++ b/Sources/ProjectDescription/ProjectOptions.swift @@ -1,5 +1,3 @@ -import Foundation - extension Project { /// Options to configure a project. public struct Options: Codable, Equatable, Sendable { diff --git a/Sources/ProjectDescription/ResourceFileElement.swift b/Sources/ProjectDescription/ResourceFileElement.swift index 5f10bb2b3ef..699d0011a36 100644 --- a/Sources/ProjectDescription/ResourceFileElement.swift +++ b/Sources/ProjectDescription/ResourceFileElement.swift @@ -1,5 +1,3 @@ -import Foundation - /// A resource file element from a glob pattern or a folder reference. /// /// - glob: a glob pattern for files to include diff --git a/Sources/ProjectDescription/ResourceFileElements.swift b/Sources/ProjectDescription/ResourceFileElements.swift index 9a0e998c5d8..4a46bb7c767 100644 --- a/Sources/ProjectDescription/ResourceFileElements.swift +++ b/Sources/ProjectDescription/ResourceFileElements.swift @@ -1,5 +1,3 @@ -import Foundation - /// A collection of resource file. public struct ResourceFileElements: Codable, Equatable, Sendable { /// List of resource file elements diff --git a/Sources/ProjectDescription/ResourceSynthesizer.swift b/Sources/ProjectDescription/ResourceSynthesizer.swift index f0c4cfe771a..be6db289cdb 100644 --- a/Sources/ProjectDescription/ResourceSynthesizer.swift +++ b/Sources/ProjectDescription/ResourceSynthesizer.swift @@ -1,5 +1,3 @@ -import Foundation - /// A resource synthesizer for given file extensions. /// /// For example to synthesize resource accessors for strings, you can use: diff --git a/Sources/ProjectDescription/RunAction.swift b/Sources/ProjectDescription/RunAction.swift index 86f99aefefb..2bc37a6356a 100644 --- a/Sources/ProjectDescription/RunAction.swift +++ b/Sources/ProjectDescription/RunAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that runs the built products. /// /// It's initialized with the .runAction static method. diff --git a/Sources/ProjectDescription/RunActionOptions.swift b/Sources/ProjectDescription/RunActionOptions.swift index 7d488f57bdb..dd4773b5787 100644 --- a/Sources/ProjectDescription/RunActionOptions.swift +++ b/Sources/ProjectDescription/RunActionOptions.swift @@ -1,5 +1,3 @@ -import Foundation - /// Options for the `RunAction` action public struct RunActionOptions: Equatable, Codable, Sendable { /// Language to use when running the app. diff --git a/Sources/ProjectDescription/Scheme.swift b/Sources/ProjectDescription/Scheme.swift index 05a03e22bcb..9d5d9b020a7 100644 --- a/Sources/ProjectDescription/Scheme.swift +++ b/Sources/ProjectDescription/Scheme.swift @@ -1,5 +1,3 @@ -import Foundation - /// A custom scheme for a project. /// /// A scheme defines a collection of targets to Build, Run, Test, Profile, Analyze and Archive. diff --git a/Sources/ProjectDescription/SchemeDiagnosticsOptions.swift b/Sources/ProjectDescription/SchemeDiagnosticsOptions.swift index 93691c95227..8e09e8b3af7 100644 --- a/Sources/ProjectDescription/SchemeDiagnosticsOptions.swift +++ b/Sources/ProjectDescription/SchemeDiagnosticsOptions.swift @@ -1,5 +1,3 @@ -import Foundation - /// Options to configure scheme diagnostics for run and test actions. public struct SchemeDiagnosticsOptions: Equatable, Codable, Sendable { /// Enable the address sanitizer diff --git a/Sources/ProjectDescription/SchemeLanguage.swift b/Sources/ProjectDescription/SchemeLanguage.swift index c55bcd7c908..8a97024d301 100644 --- a/Sources/ProjectDescription/SchemeLanguage.swift +++ b/Sources/ProjectDescription/SchemeLanguage.swift @@ -1,5 +1,3 @@ -import Foundation - /// A language to use for run and test actions. public struct SchemeLanguage: Codable, Equatable, ExpressibleByStringLiteral, Sendable { public let identifier: String diff --git a/Sources/ProjectDescription/ScreenCaptureFormat.swift b/Sources/ProjectDescription/ScreenCaptureFormat.swift index bae08f82d30..c2ef1e7fcd3 100644 --- a/Sources/ProjectDescription/ScreenCaptureFormat.swift +++ b/Sources/ProjectDescription/ScreenCaptureFormat.swift @@ -1,5 +1,3 @@ -import Foundation - /// Preferred screen capture format for UI tests results in Xcode 15+ /// /// Available options are screen recordings and screenshots. diff --git a/Sources/ProjectDescription/Settings.swift b/Sources/ProjectDescription/Settings.swift index 4a755254f68..82d65c416fc 100644 --- a/Sources/ProjectDescription/Settings.swift +++ b/Sources/ProjectDescription/Settings.swift @@ -1,5 +1,3 @@ -import Foundation - public typealias SettingsDictionary = [String: SettingValue] /// A value or a collection of values used for settings configuration. diff --git a/Sources/ProjectDescription/SettingsTransformers.swift b/Sources/ProjectDescription/SettingsTransformers.swift index 9a0b9c066a4..5dad83770b5 100644 --- a/Sources/ProjectDescription/SettingsTransformers.swift +++ b/Sources/ProjectDescription/SettingsTransformers.swift @@ -1,5 +1,3 @@ -import Foundation - extension SettingsDictionary { public mutating func merge(_ other: SettingsDictionary) { merge(other) { $1 } diff --git a/Sources/ProjectDescription/SimulatedLocation.swift b/Sources/ProjectDescription/SimulatedLocation.swift index 3b4d9a519e2..a449b6a55c8 100644 --- a/Sources/ProjectDescription/SimulatedLocation.swift +++ b/Sources/ProjectDescription/SimulatedLocation.swift @@ -1,5 +1,3 @@ -import Foundation - /// Simulated location represents a GPS location that is used when running an app on the simulator. public struct SimulatedLocation: Codable, Equatable, Sendable { /// The identifier of the location (e.g. London, England) diff --git a/Sources/ProjectDescription/SourceFilesList.swift b/Sources/ProjectDescription/SourceFilesList.swift index 899549d7561..98cf459233d 100644 --- a/Sources/ProjectDescription/SourceFilesList.swift +++ b/Sources/ProjectDescription/SourceFilesList.swift @@ -1,5 +1,3 @@ -import Foundation - /// A glob pattern configuration representing source files and its compiler flags, if any. public struct SourceFileGlob: Codable, Equatable, Sendable { /// Type of the source file. diff --git a/Sources/ProjectDescription/Target.swift b/Sources/ProjectDescription/Target.swift index 8cbb7840977..d5277bb970a 100644 --- a/Sources/ProjectDescription/Target.swift +++ b/Sources/ProjectDescription/Target.swift @@ -1,5 +1,3 @@ -import Foundation - /// A target of a project. public struct Target: Codable, Equatable, Sendable { /// The name of the target. Also, the product name if not specified with ``productName``. diff --git a/Sources/ProjectDescription/TargetDependency.swift b/Sources/ProjectDescription/TargetDependency.swift index f2b88673609..c8e338f00fd 100644 --- a/Sources/ProjectDescription/TargetDependency.swift +++ b/Sources/ProjectDescription/TargetDependency.swift @@ -1,5 +1,3 @@ -import Foundation - /// Dependency status used by dependencies public enum LinkingStatus: String, Codable, Hashable, Sendable { /// Required dependency diff --git a/Sources/ProjectDescription/TargetReference.swift b/Sources/ProjectDescription/TargetReference.swift index 0ade25bd940..05e48b46358 100644 --- a/Sources/ProjectDescription/TargetReference.swift +++ b/Sources/ProjectDescription/TargetReference.swift @@ -1,5 +1,3 @@ -import Foundation - /// A target reference for a specified project. /// /// The project is specified through the path and should contain the target name. diff --git a/Sources/ProjectDescription/TargetScript.swift b/Sources/ProjectDescription/TargetScript.swift index a92e95c8441..59f5381bfaa 100644 --- a/Sources/ProjectDescription/TargetScript.swift +++ b/Sources/ProjectDescription/TargetScript.swift @@ -1,5 +1,3 @@ -import Foundation - /// A build phase action used to run a script. /// /// Target scripts, represented as target script build phases in the generated Xcode projects, are useful to define actions to be diff --git a/Sources/ProjectDescription/Template/Template.swift b/Sources/ProjectDescription/Template/Template.swift index fd45c1e7b31..3b1a2194a03 100644 --- a/Sources/ProjectDescription/Template/Template.swift +++ b/Sources/ProjectDescription/Template/Template.swift @@ -1,5 +1,3 @@ -import Foundation - /// A scaffold template model. public struct Template: Codable, Equatable, Sendable { /// Description of template diff --git a/Sources/ProjectDescription/TemplateString.swift b/Sources/ProjectDescription/TemplateString.swift index ce2cbcb9861..a7438a42406 100644 --- a/Sources/ProjectDescription/TemplateString.swift +++ b/Sources/ProjectDescription/TemplateString.swift @@ -1,5 +1,3 @@ -import Foundation - public struct TemplateString: Encodable, Decodable, Equatable { /// Contains a string that can be interpolated with options. let rawString: String diff --git a/Sources/ProjectDescription/TestAction.swift b/Sources/ProjectDescription/TestAction.swift index 57036fa7e56..08e10000d7b 100644 --- a/Sources/ProjectDescription/TestAction.swift +++ b/Sources/ProjectDescription/TestAction.swift @@ -1,5 +1,3 @@ -import Foundation - /// An action that tests the built products. /// /// You can create a test action with either a set of test targets or test plans using the `.targets` or `.testPlans` static diff --git a/Sources/ProjectDescription/TestActionOptions.swift b/Sources/ProjectDescription/TestActionOptions.swift index 78eb159c553..e9dcdb78951 100644 --- a/Sources/ProjectDescription/TestActionOptions.swift +++ b/Sources/ProjectDescription/TestActionOptions.swift @@ -1,5 +1,3 @@ -import Foundation - /// The type `TestActionOptions` represents a set of options for a test action. public struct TestActionOptions: Equatable, Codable, Sendable { /// Language used to run the tests. diff --git a/Sources/ProjectDescription/TestableTarget.swift b/Sources/ProjectDescription/TestableTarget.swift index 279757d3f52..8bc92de2bf5 100644 --- a/Sources/ProjectDescription/TestableTarget.swift +++ b/Sources/ProjectDescription/TestableTarget.swift @@ -1,5 +1,3 @@ -import Foundation - public struct TestableTarget: Equatable, Codable, ExpressibleByStringInterpolation, Sendable { /// With the introduction of Swift Testing and Xcode 16, you can now choose to run your tests /// in parallel across either the full suite of tests in a target with `.enabled`, just those created diff --git a/Sources/ProjectDescription/Workspace.swift b/Sources/ProjectDescription/Workspace.swift index 197e5cfcc0a..140a3a5921f 100644 --- a/Sources/ProjectDescription/Workspace.swift +++ b/Sources/ProjectDescription/Workspace.swift @@ -1,5 +1,3 @@ -import Foundation - /// A workspace representation. /// /// By default, `tuist generate` generates an Xcode workspace that has the same name as the current project. diff --git a/Tuist/ProjectDescriptionHelpers/Module.swift b/Tuist/ProjectDescriptionHelpers/Module.swift index 97eb0988be6..31778f63a8b 100644 --- a/Tuist/ProjectDescriptionHelpers/Module.swift +++ b/Tuist/ProjectDescriptionHelpers/Module.swift @@ -869,6 +869,22 @@ public enum Module: String, CaseIterable { .release(name: "Release", settings: [:], xcconfig: nil), ] ) + case .projectDescription, .projectAutomation: + return .settings( + base: ["BUILD_LIBRARY_FOR_DISTRIBUTION": "YES"], + configurations: [ + .debug( + name: "Debug", + settings: [:], + xcconfig: nil + ), + .release( + name: "Release", + settings: [:], + xcconfig: nil + ), + ] + ) default: return .settings( configurations: [