From 67406d6e7d2b2b7c944416206d5a6b0a147f3415 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fo=C5=99t?= Date: Sun, 5 Dec 2021 20:05:15 +0100 Subject: [PATCH] Swiftformat update (#3782) * Update swiftformat binary * Add swiftformat rules * Run format swift * Format files which used to be excluded * fixup! extensionacl * fixup! Format * Fix lint issues * Make linting errors in app_with_framework_where_framework_failing_swiftlint --- .swiftformat | 9 +- .swiftformat-version | 2 +- .swiftlint.yml | 3 + Project.swift | 896 +++++++++--------- .../CompatibleXcodeVersions.swift | 6 +- Sources/ProjectDescription/Config.swift | 25 +- .../ConfigurationName.swift | 6 +- .../Dependencies/CarthageDependencies.swift | 6 +- Sources/ProjectDescription/Environment.swift | 15 +- .../ProjectDescription/LaunchArgument.swift | 4 +- .../ProjectDescription/SchemeLanguage.swift | 12 +- Sources/ProjectDescription/Settings.swift | 12 +- .../SettingsTransformers.swift | 38 +- .../Template/Template.swift | 12 +- .../ProjectDescription/TestableTarget.swift | 7 +- Sources/ProjectDescription/Version.swift | 4 +- .../TuistAnalytics/Models/CommandEvent.swift | 2 +- Sources/TuistAnalytics/TuistAnalytics.swift | 2 +- .../Utilities/TuistAnalyticsDispatcher.swift | 6 +- Sources/TuistAsyncQueue/AsyncQueue.swift | 4 +- .../TuistAsyncQueue/AsyncQueuePersistor.swift | 12 +- .../MockAsyncQueueDispatcher.swift | 2 +- .../TuistAsyncQueueTesting/MockQueuer.swift | 4 +- .../Utilities/BuildGraphInspector.swift | 9 +- .../Utilities/TargetBuilder.swift | 3 +- .../Utilities/TargetRunner.swift | 3 +- .../XcodeBuild/XcodeBuildController.swift | 25 +- .../Utilities/MockBuildGraphInspector.swift | 4 +- .../Utilities/MockTargetRunner.swift | 5 +- Sources/TuistCache/Cache/Cache.swift | 6 +- .../TuistCache/Cache/CacheLocalStorage.swift | 8 +- .../TuistCache/Cache/CacheRemoteStorage.swift | 6 +- .../DependenciesContentHasher.swift | 10 +- .../ContentHashing/GraphContentHasher.swift | 4 +- .../ContentHashing/TargetContentHasher.swift | 3 +- .../TargetScriptsContentHasher.swift | 14 +- .../TuistCache/Linters/CacheGraphLinter.swift | 6 +- .../TargetsToCacheBinariesGraphMapper.swift | 4 +- .../TreeShakePrunedTargetsGraphMapper.swift | 10 +- .../Utilities/CacheFrameworkBuilder.swift | 13 +- .../Utilities/CacheXCFrameworkBuilder.swift | 5 +- .../Mocks/MockCacheArtifactBuilder.swift | 9 +- .../Mocks/MockCloudCacheResponseFactory.swift | 19 +- .../Mocks/MockCacheGraphContentHasher.swift | 5 +- Sources/TuistCloud/Client/CloudClient.swift | 10 +- .../Observable+XcodeBuildOutput.swift | 6 +- .../Cache/CacheDirectoriesProvider.swift | 3 +- Sources/TuistCore/Graph/GraphLoader.swift | 13 +- Sources/TuistCore/Graph/GraphTraverser.swift | 101 +- .../Graph/ModelExtensions/Project+Core.swift | 2 +- .../Graph/ModelExtensions/Scheme+Core.swift | 2 +- .../Graph/ModelExtensions/Target+Core.swift | 3 +- .../GraphTraverser/GraphTraversing.swift | 4 +- .../PrecompiledMetadataProvider.swift | 17 +- .../SystemFrameworksMetadataProvider.swift | 6 +- .../XCFrameworkMetadataProvider.swift | 20 +- Sources/TuistCore/Models/LintingIssue.swift | 4 +- .../Simulator/SimulatorController.swift | 24 +- Sources/TuistCore/Utils/BinaryLocator.swift | 3 +- .../Automation/MockXcodeBuildController.swift | 37 +- .../Cloud/CloudResponseError+TestData.swift | 8 +- .../Cloud/MockCloudClient.swift | 7 +- .../TuistTestCase+LintingIssue.swift | 13 +- .../GraphDependencyReference+TestData.swift | 26 +- .../WorkspaceWithProjects+TestData.swift | 4 +- .../GraphTraverser/MockGraphTraverser.swift | 71 +- .../Simulator/SimulatorDevice+TestData.swift | 21 +- .../Simulator/SimulatorRuntime+TestData.swift | 22 +- .../Carthage/Utils/CarthageController.swift | 3 +- .../DependenciesController.swift | 4 +- .../DependenciesGraphController.swift | 5 +- .../Models/PackageInfo.swift | 6 +- .../SwiftPackageManagerInteractor.swift | 5 +- .../Utils/PackageInfoMapper.swift | 105 +- .../SwiftPackageManagerGraphGenerator.swift | 8 +- ...wiftPackageManagerModuleMapGenerator.swift | 10 +- .../Carthage/MockCarthageInteractor.swift | 5 +- .../DependenciesGraph+TestData.swift | 84 +- .../Models/PackageInfo+TestData.swift | 27 +- .../MockSwiftPackageManagerController.swift | 9 +- .../Settings/VersionProvider.swift | 2 +- .../Generator/BuildPhaseGenerator.swift | 4 +- .../Generator/ConfigGenerator.swift | 8 +- .../Generator/LinkGenerator.swift | 4 +- .../ProjectDescriptorGenerator.swift | 6 +- .../Generator/ProjectFileElements.swift | 9 +- .../SchemeDescriptorsGenerator.swift | 97 +- .../GraphViz/GraphToGraphVizMapper.swift | 13 +- .../Linter/EnvironmentLinter.swift | 3 +- .../TuistGenerator/Linter/GraphLinter.swift | 57 +- .../TuistGenerator/Linter/SchemeLinter.swift | 41 +- .../Linter/SettingsLinter.swift | 10 +- .../Linter/StaticProductsGraphLinter.swift | 11 +- .../TuistGenerator/Linter/TargetLinter.swift | 41 +- .../Linter/TargetScriptLinter.swift | 2 +- .../GenerateInfoPlistProjectMapper.swift | 11 +- .../Mappers/ModuleMapMapper.swift | 16 +- .../Mappers/ResourcesProjectMapper.swift | 3 +- .../Utils/EmbedScriptGenerator.swift | 8 +- .../TuistGenerator/Utils/SortedPBXGroup.swift | 14 +- .../Utils/SwiftPackageManagerInteractor.swift | 2 +- .../Writers/XcodeProjWriter.swift | 6 +- .../TestData/ProjectDescriptor+TestData.swift | 10 +- .../TestData/SchemeDescriptor+TestData.swift | 4 +- .../WorkspaceDescriptor+TestData.swift | 12 +- .../Models/BinaryArchitecture.swift | 4 +- .../Dependencies/CarthageDependencies.swift | 8 +- .../SwiftPackageManagerDependencies.swift | 8 +- .../TuistGraph/Models/IDETemplateMacros.swift | 2 +- Sources/TuistGraph/Models/ProjectOption.swift | 2 +- .../Models/ResourceFileElement.swift | 4 +- .../TuistGraph/Models/TestableTarget.swift | 7 +- .../DependenciesGraph+TestData.swift | 27 +- .../Graph/Graph+TestData.swift | 16 +- .../Graph/GraphDependency+TestData.swift | 51 +- .../Graph/GraphTarget+TestData.swift | 8 +- .../Models/AnalyzeAction+TestData.swift | 4 +- .../Models/ArchiveAction+TestData.swift | 12 +- .../Models/Arguments+TestData.swift | 6 +- .../Models/BuildAction+TestData.swift | 8 +- .../Models/Cache+TestData.swift | 8 +- .../Models/Cloud+TestData.swift | 8 +- .../Models/Config+TestData.swift | 4 +- .../Models/Headers+TestData.swift | 8 +- .../Models/IDETemplateMacros+TestData.swift | 4 +- .../Metadata/FrameworkMetadata+TestData.swift | 4 +- .../Metadata/LibraryMetadata+TestData.swift | 4 +- .../XCFrameworkMetadata+TestData.swift | 4 +- .../Models/Plugins+TestData.swift | 4 +- .../Models/ProfileAction+TestData.swift | 8 +- .../Models/Project+TestData.swift | 6 +- .../Models/RawScriptBuildPhase+TestData.swift | 10 +- .../ResourceSynthesizerPlugin+TestData.swift | 4 +- .../Models/RunAction+TestData.swift | 14 +- .../Models/Scheme+TestData.swift | 18 +- .../Models/Settings+TestData.swift | 29 +- .../Models/Target+TestData.swift | 6 +- .../Models/TestAction+TestData.swift | 29 +- .../Models/TextSettings+TestData.swift | 4 +- .../Models/Workspace+TestData.swift | 4 +- .../XCFrameworkInfoPlist+TestData.swift | 12 +- Sources/TuistKit/Cache/CacheController.swift | 14 +- .../Commands/Cache/CacheWarmCommand.swift | 4 +- Sources/TuistKit/Commands/GraphCommand.swift | 13 +- ...igrationTargetsByDependenciesCommand.swift | 3 +- Sources/TuistKit/Generator/Generator.swift | 31 +- .../ProjectEditor/ProjectEditor.swift | 6 +- .../ProjectEditor/ProjectEditorMapper.swift | 13 +- Sources/TuistKit/Services/BuildService.swift | 6 +- .../Services/Cache/CacheProfileResolver.swift | 2 +- Sources/TuistKit/Services/CleanService.swift | 4 +- Sources/TuistKit/Services/GraphService.swift | 33 +- Sources/TuistKit/Services/InitService.swift | 3 +- .../TuistKit/Utils/ManifestGraphLoader.swift | 19 +- .../TuistLinting/Utilities/CodeLinter.swift | 10 +- .../TuistLoader/Linter/ManifestLinter.swift | 12 +- .../Loaders/CachedManifestLoader.swift | 4 +- .../TuistLoader/Loaders/ManifestLoader.swift | 10 +- .../Loaders/ManifestModelConverter.swift | 27 +- .../ArchiveAction+ManifestMapper.swift | 10 +- .../CopyFilesAction+ManifestMapper.swift | 7 +- .../CoreDataModel+ManifestMapper.swift | 4 +- .../Dependencies+ManifestMapper.swift | 5 +- .../ExecutionAction+ManifestMapper.swift | 4 +- .../InfoPlist+ManifestMapper.swift | 6 +- .../Project+ManifestMapper.swift | 6 +- .../Target+ManifestMapper.swift | 56 +- .../TargetAction+ManifestMapper.swift | 4 +- .../TestAction+ManifestMapper.swift | 3 +- .../Workspace+ManifestMapper.swift | 3 +- .../ResourceSynthesizerPathLocator.swift | 11 +- .../Utilities/EmptyBuildSettingsChecker.swift | 5 +- .../SettingsToXCConfigExtractor.swift | 11 +- Sources/TuistScaffold/TemplateGenerator.swift | 8 +- .../Certificate/CertificateParser.swift | 17 +- .../TuistSigning/Linter/SigningLinter.swift | 6 +- .../ProvisioningProfileParser.swift | 8 +- Sources/TuistSigning/SigningCipher.swift | 6 +- Sources/TuistSigning/SigningInstaller.swift | 21 +- Sources/TuistSigning/SigningInteractor.swift | 3 +- Sources/TuistSigning/SigningMatcher.swift | 4 +- .../CoreDataVersionExtractor.swift | 2 +- .../TuistSupport/Errors/ErrorHandler.swift | 3 +- .../Extensions/AnyPublisher+Extras.swift | 8 +- .../Extensions/Array+ExecutionContext.swift | 8 +- .../Extensions/Dictionary+AnyEquatable.swift | 4 +- .../Dictionary+ExecutionContext.swift | 8 +- .../Extensions/String+Extras.swift | 8 +- .../TuistSupport/Extensions/String+MD5.swift | 14 +- .../Extensions/String+Regex.swift | 2 +- .../Extensions/URLRequest+Sugar.swift | 4 +- Sources/TuistSupport/HTTP/FileClient.swift | 3 +- .../HTTP/HTTPRequestDispatcher.swift | 4 +- .../TuistSupport/Logging/OSLogHandler.swift | 7 +- .../System/Observable+System.swift | 26 +- .../System/Publisher+System.swift | 30 +- Sources/TuistSupport/System/System.swift | 24 +- .../TuistSupport/Utils/ColorizeSwift.swift | 2 +- .../Utils/DerivedDataLocator.swift | 2 +- .../Utils/DeveloperEnvironment.swift | 8 +- Sources/TuistSupport/Utils/FileHandler.swift | 6 +- Sources/TuistSupport/Utils/Functions.swift | 4 +- .../TuistSupport/Utils/GitEnvironment.swift | 38 +- .../Utils/HTTPRedirectListener.swift | 8 +- Sources/TuistSupport/Utils/TextTable.swift | 4 +- .../Utils/URLSessionScheduler.swift | 2 +- .../HTTPStatusCode+Extensions.swift | 51 +- .../Extensions/Data+TestData.swift | 4 +- .../Extensions/HTTPURLResponse+TestData.swift | 10 +- .../Extensions/NSError+TestData.swift | 4 +- .../Extensions/URL+TestData.swift | 4 +- .../Extensions/URLRequest+TestData.swift | 6 +- .../Extensions/XCTestCase+Extras.swift | 133 ++- .../HTTP/HTTPResource+TestData.swift | 6 +- .../HTTP/MockHTTPRequestDispatcher.swift | 4 +- .../TestCase/TuistTestCase.swift | 4 +- .../Utils/MockSystem.swift | 14 +- .../Project+Template.swift | 10 +- .../CarthageDependenciesTests.swift | 5 +- .../ProjectDescriptionTests/SchemeTests.swift | 26 +- .../SettingsTests.swift | 12 +- .../TargetDependencyTests.swift | 6 +- .../ProjectDescriptionTests/TargetTests.swift | 8 +- .../Utilities/BuildGraphInspectorTests.swift | 12 +- .../Utilities/TargetRunnerTests.swift | 5 +- .../ContentHashingIntegrationTests.swift | 112 ++- .../Cache/CacheGraphContentHasherTests.swift | 18 +- .../Cache/CacheGraphMutatorTests.swift | 6 +- .../Cache/CacheLocalStorageTests.swift | 5 +- .../Cache/CacheRemoteStorageTests.swift | 13 +- .../CopyFilesActionsContentHasherTests.swift | 11 +- .../CoreDataModelsContentHasherTests.swift | 3 +- .../InfoPlistContentHasherTests.swift | 10 +- .../SettingsContentHasherTests.swift | 11 +- .../SourceFilesContentHasherTests.swift | 5 +- .../TargetScriptsContentHasherTests.swift | 39 +- .../Session/CloudSessionControllerTests.swift | 67 +- .../ContentHashing/ContentHasherTests.swift | 10 +- .../Graph/GraphDependencyReferenceTests.swift | 4 +- .../Graph/GraphLoaderTests.swift | 9 +- .../Graph/GraphLoadingErrorTests.swift | 10 +- .../Graph/GraphTargetTests.swift | 10 +- .../Graph/GraphTraverserTests.swift | 627 ++++++++---- .../PrecompiledMetadataProviderTests.swift | 3 +- .../XCFrameworkMetadataProviderTests.swift | 3 +- .../NodeLoaders/XCFrameworkLoaderTests.swift | 5 +- .../Simulator/SimulatorControllerTests.swift | 23 +- .../SimulatorRuntimeVersionTests.swift | 30 +- .../Carthage/CarthageInteractorTests.swift | 4 +- .../SwiftPackageManagerInteractorTests.swift | 66 +- .../Utils/PackageInfoMapperTests.swift | 259 +++-- ...iftPackageManagerGraphGeneratorTests.swift | 75 +- .../HTTP/HTTPClientTests.swift | 5 +- .../Services/BundleServiceTests.swift | 5 +- .../SwiftPackageManagerInteractorTests.swift | 24 +- .../Generator/BuildPhaseGeneratorTests.swift | 40 +- .../Generator/ConfigGeneratorTests.swift | 5 +- .../InfoPlistContentProviderTests.swift | 8 +- .../Generator/LinkGeneratorTests.swift | 33 +- .../MockSchemeDescriptorsGenerator.swift | 10 +- .../Generator/Mocks/MockTargetGenerator.swift | 18 +- .../ProjectDescriptorGeneratorTests.swift | 6 +- .../Generator/ProjectFileElementsTests.swift | 34 +- .../SchemeDescriptorsGeneratorTests.swift | 65 +- .../Generator/TargetGeneratorTests.swift | 7 +- .../WorkspaceStructureGeneratorTests.swift | 4 +- .../GraphViz/GraphToGraphVizMapperTests.swift | 7 +- .../Linter/EnvironmentLinterTests.swift | 3 +- .../Linter/GraphLinterTests.swift | 263 +++-- .../Linter/PackageLinterTests.swift | 5 +- .../Linter/ProjectLinterTests.swift | 14 +- .../Linter/SchemeLinterTests.swift | 30 +- .../Linter/SettingsLinterTests.swift | 32 +- .../StaticProductsGraphLinterTests.swift | 258 +++-- .../Linter/TargetLinterTests.swift | 97 +- .../ResourcesProjectMapperTests.swift | 6 +- .../DefaultSettingsProviderTests.swift | 54 +- .../Utils/EmbedScriptGeneratorTests.swift | 12 +- .../Utils/SettingsHelperTests.swift | 8 +- .../CarthageDependenciesTests.swift | 10 +- .../Models/LintingIssueTests.swift | 9 +- .../TuistGraphTests/Models/TargetTests.swift | 17 +- ...ltipleConfigurationsIntegrationTests.swift | 110 ++- .../Generator/TestModelGenerator.swift | 53 +- ...acheFrameworkBuilderIntegrationTests.swift | 36 +- ...heXCFrameworkBuilderIntegrationTests.swift | 36 +- .../Cache/CacheControllerTests.swift | 32 +- .../Mocks/MockGeneratorFactory.swift | 21 +- .../Factories/ProjectMapperFactoryTests.swift | 3 +- .../WorkspaceMapperFactoryTests.swift | 30 +- .../ProjectEditorMapperTests.swift | 71 +- .../ProjectEditor/ProjectEditorTests.swift | 11 +- .../Services/BuildServiceTests.swift | 4 +- .../Services/CleanServiceTests.swift | 5 +- .../Services/FocusServiceTests.swift | 12 +- .../Services/Lint/LintCodeServiceTests.swift | 10 +- .../Services/RunServiceTests.swift | 27 +- .../Services/ScaffoldServiceTests.swift | 12 +- .../Services/TestServiceTests.swift | 4 +- ...iptionHelpersBuilderIntegrationTests.swift | 12 +- .../TuistTestCase+ManifestMappers.swift | 41 +- .../Linters/ManifestLinterTests.swift | 20 +- .../Loaders/ConfigLoaderTests.swift | 2 +- .../Loaders/ManifestLoaderErrorTests.swift | 20 +- .../CoreDataModel+ManifestMapperTests.swift | 25 +- .../FileElement+ManifestMapperTests.swift | 4 +- ...sourceFileElementManifestMapperTests.swift | 9 +- .../Target+ManifestMapperTests.swift | 5 +- ...TargetDependency+ManifestMapperTests.swift | 6 +- .../Models/GeneratorPathsTests.swift | 5 +- ...BuildSettingsCheckerIntegrationTests.swift | 4 +- .../TargetsExtractorIntegrationTests.swift | 5 +- .../EmptyBuildSettingsCheckerTests.swift | 20 +- .../TuistPluginTests/PluginServiceTests.swift | 6 +- .../TemplateGeneratorTests.swift | 21 +- .../SecurityControllerIntegrationTests.swift | 5 +- .../CertificateParserTests.swift | 3 +- .../Mocks/MockSigningMatcher.swift | 9 +- .../ProvisioningProfileParserTests.swift | 4 +- .../SecurityControllerTests.swift | 48 +- .../SigningCipherTests.swift | 10 +- .../SigningFilesLocatorTests.swift | 5 +- .../SigningInstallerTests.swift | 6 +- .../SigningInteractorTests.swift | 5 +- .../SigningLinterTests.swift | 9 +- .../Extensions/AbsolutePath+ExtrasTests.swift | 8 +- .../Utils/FileHandlerTests.swift | 5 +- .../Utils/GitEnvironmentTests.swift | 5 +- .../TuistSupportTests/Xcode/XcodeTests.swift | 5 +- Tuist/Dependencies.swift | 5 +- projects/fourier/vendor/swiftformat | Bin 2136028 -> 2673504 bytes .../App/AppDelegate.swift | 4 +- .../App/AppDelegate.swift | 5 +- .../Config.swift | 6 +- .../Project.swift | 4 +- .../App/AppDelegate.swift | 7 +- .../AppTests/AppTests.swift | 4 +- .../FrameworkTests/FrameworkTests.swift | 4 +- .../Project.swift | 2 +- .../Tuist/Config.swift | 4 +- .../App/AppDelegate.swift | 2 +- .../App/ClassA.swift | 1 - .../Framework/Framework.swift | 16 +- .../Project.swift | 46 +- .../Tuist/Config.swift | 4 +- .../App/AppDelegate.swift | 5 +- .../Config.swift | 6 +- .../Project.swift | 4 +- .../App/AppDelegate.swift | 7 +- .../Project.swift | 24 +- .../LocalPlugin/Tasks/CreateFile.swift | 4 +- .../LocalPlugin/Templates/custom/custom.swift | 2 +- .../fixtures/app_with_plugins/Project.swift | 2 +- .../app_with_plugins/Source/AppDelegate.swift | 8 +- .../app_with_plugins/Source/TestView.swift | 4 +- .../app_with_plugins/Tuist/Config.swift | 14 +- .../Project+Templates.swift | 6 +- .../App/AppDelegate.swift | 6 +- .../AppTests/AppTests.swift | 14 +- .../fixtures/app_with_tasks/Project.swift | 8 +- .../Targets/App/Sources/AppDelegate.swift | 8 +- .../Targets/App/Tests/AppTests.swift | 4 +- .../Targets/AppKit/Sources/AppKit.swift | 2 +- .../Targets/AppKit/Tests/AppKitTests.swift | 2 +- .../Targets/AppUI/Sources/AppUI.swift | 2 +- .../Targets/AppUI/Tests/AppUITests.swift | 2 +- .../app_with_tasks/Tuist/Config.swift | 2 +- .../Project+Templates.swift | 63 +- .../Tuist/Tasks/CreateFile.swift | 2 +- .../fixtures/app_with_tests/Project.swift | 6 +- .../Targets/App/Sources/AppDelegate.swift | 6 +- .../Targets/App/Tests/AppTests.swift | 4 +- .../Tests/MacFrameworkTests.swift | 2 +- .../Tests/tvOSFrameworkTests.swift | 2 +- .../app_with_tests/Tuist/Config.swift | 2 +- .../command_line_tool_basic/Project.swift | 22 +- .../CommandLineTool/main.swift | 4 +- .../DynamicFramework/DynamicFramework.swift | 6 +- .../Project.swift | 42 +- .../CommandLineTool/main.swift | 4 +- .../DynamicLib/DynamicLib.swift | 6 +- .../Project.swift | 42 +- .../CommandLineTool/main.swift | 2 +- .../Project.swift | 43 +- .../StaticLib/StaticLib.swift | 6 +- .../Project.swift | 22 +- .../Sources/Framework.swift | 2 +- .../Tuist/Config.swift | 4 +- .../fixtures/invalid_manifest/Project.swift | 6 +- .../Workspac.swift | 6 +- .../fixtures/ios_app_large/Project.swift | 22 +- .../ios_app_large/Sources/AppDelegate.swift | 5 +- .../fixtures/ios_app_large/Tuist/Config.swift | 6 +- .../App With Space/Project.swift | 28 +- .../App With Space/Sources/AppDelegate.swift | 8 +- .../ios_app_with_actions/App/Project.swift | 53 +- .../App/Sources/AppDelegate.swift | 8 +- .../AppClip1/Sources/MainAppClip.swift | 2 +- .../AppClip1Tests/Tests/AppClipTests.swift | 4 +- .../Tests/AppClipUITests.swift | 1 - .../ios_app_with_appclip/Project.swift | 108 ++- .../ios_app_with_coredata/Project.swift | 32 +- .../Sources/AppDelegate.swift | 10 +- .../ios_app_with_coredata/Sources/Model.swift | 7 +- .../App/Project.swift | 28 +- .../App/Sources/AppDelegate.swift | 8 +- .../Framework/Project.swift | 28 +- .../Framework/Sources/Model.swift | 26 +- .../Workspace.swift | 6 +- .../App/Project.swift | 2 +- .../App/Sources/AppDelegate.swift | 14 +- .../App/Tests/AppTests.swift | 2 +- .../FrameworkA/Sources/FrameworkA.swift | 10 +- .../Tuist/Config.swift | 7 +- .../Project+Templates.swift | 30 +- .../Workspace.swift | 6 +- .../App/Project.swift | 86 +- .../Frameworks/Framework1/Project.swift | 48 +- .../Frameworks/Framework2/Project.swift | 44 +- .../Tuist/Config.swift | 4 +- .../Workspace.swift | 90 +- .../App/Project.swift | 61 +- .../Frameworks/Framework1/Project.swift | 48 +- .../Frameworks/Framework2/Project.swift | 44 +- .../Tuist/Config.swift | 4 +- .../Workspace.swift | 20 +- .../App With Space/Project.swift | 28 +- .../App With Space/Sources/AppDelegate.swift | 8 +- .../App/Project.swift | 32 +- .../App/Sources/AppDelegate.swift | 8 +- .../ios_app_with_env_suppressed/Config.swift | 6 +- .../Sources/MessagesViewController.swift | 46 +- .../NotificationService.swift | 25 +- .../ios_app_with_extensions/Project.swift | 204 ++-- .../Sources/AppDelegate.swift | 8 +- .../Sources/StaticFramework.swift | 6 +- .../WidgetExtension/Sources/Widget.swift | 118 ++- .../App/Project.swift | 4 +- .../App/Sources/AppDelegate.swift | 3 +- .../Framework1/Project.swift | 2 +- .../StaticFramework/Project.swift | 42 +- .../Sources/StaticFrameworkResources.swift | 20 +- .../Tuist/Config.swift | 8 +- .../Workspace.swift | 6 +- .../App/Project.swift | 2 +- .../App/Sources/AppDelegate.swift | 11 +- .../App/Tests/AppDelegateTests.swift | 2 +- .../Framework1/Project.swift | 2 +- .../StaticFramework/Project.swift | 42 +- .../Sources/StaticFrameworkResouces.swift | 20 +- .../StaticFramework2/Project.swift | 46 +- .../Sources/StaticFramework2Resources.swift | 29 +- .../StaticFramework3/Project.swift | 28 +- .../Sources/ResourcesStaticFramework3.swift | 12 +- .../StaticFramework4/Project.swift | 28 +- .../Sources/ResourcesStaticFramework4.swift | 12 +- .../StaticFramework5/Project.swift | 26 +- .../Tuist/Config.swift | 4 +- .../Workspace.swift | 6 +- .../App/Project.swift | 48 +- .../Framework1/Project.swift | 50 +- .../Framework2/Project.swift | 44 +- .../Framework3/Project.swift | 48 +- .../Framework4/Project.swift | 44 +- .../Tuist/Config.swift | 4 +- .../Workspace.swift | 6 +- .../ios_app_with_frameworks/App/Project.swift | 54 +- .../App/Tests/AppDelegateTests.swift | 2 +- .../Framework1/Project.swift | 54 +- .../Framework2/Project.swift | 86 +- .../Framework2/Tests/MyPublicClassTests.swift | 2 +- .../Framework3/Project.swift | 20 +- .../Framework4/Project.swift | 20 +- .../Framework5/Project.swift | 20 +- .../Tuist/Config.swift | 6 +- .../ios_app_with_frameworks/Workspace.swift | 6 +- .../ios_app_with_headers/App/Project.swift | 50 +- .../App/Tests/AppDelegateTests.swift | 2 +- .../Framework1/Project.swift | 82 +- .../Framework1/Tests/MyPublicClassTests.swift | 2 +- .../ios_app_with_headers/Tuist/Config.swift | 4 +- .../ios_app_with_headers/Workspace.swift | 6 +- .../Projects/App/Project.swift | 4 +- .../Projects/App/Sources/AppDelegate.swift | 10 +- .../App/Tests/ios_app_with_helpersTests.swift | 4 +- .../Projects/AppKit/Project.swift | 4 +- .../Sources/ios_app_with_helpersKit.swift | 2 +- .../Tests/ios_app_with_helpersKitTests.swift | 4 +- .../Projects/AppSupport/Project.swift | 2 +- .../Sources/ios_app_with_helpersSupport.swift | 2 +- .../ios_app_with_helpersSupportTests.swift | 4 +- .../fixtures/ios_app_with_helpers/Setup.swift | 2 +- .../Tuist/Dependencies.swift | 4 +- .../Project+Templates.swift | 59 +- .../ios_app_with_helpers/Workspace.swift | 4 +- .../App/AppDelegate.swift | 5 +- .../Framework/Framework.swift | 4 +- .../Project.swift | 54 +- .../Project.swift | 22 +- .../Sources/AppDelegate.swift | 5 +- .../ios_app_with_intents/Project.swift | 34 +- .../Sources/AppDelegate.swift | 14 +- .../LocalPackage/MyFramework/Project.swift | 43 +- .../Sources/MyFrameworkClass.swift | 4 +- .../Packages/LocalPackage/Package.swift | 7 +- .../Sources/LocalPackage/LocalSource.swift | 6 +- .../Project.swift | 59 +- .../Sources/AppDelegate.swift | 8 +- .../Tests/AppTests.swift | 4 +- .../Frameworks/FrameworkA/Project.swift | 22 +- .../Packages/PackageA/Package.swift | 12 +- .../Sources/LibraryA/LibraryAClass.swift | 4 +- .../Sources/LibraryB/LibraryBClass.swift | 4 +- .../Tests/PackageATests/XCTestManifests.swift | 10 +- .../Project.swift | 66 +- .../Sources/AppDelegate.swift | 12 +- .../Tests/AppTests.swift | 4 +- .../App/Project.swift | 71 +- .../App/Tests/AppDelegateTests.swift | 2 +- .../Framework1/Project.swift | 56 +- .../Framework2/Project.swift | 52 +- .../Workspace.swift | 6 +- .../Project.swift | 64 +- .../Sources/AppDelegate.swift | 14 +- .../Tests/AppTests.swift | 4 +- .../Framework/FrameworkClass.swift | 4 +- .../Modules/StaticFramework/Project.swift | 50 +- .../Sources/FrameworkClass.swift | 6 +- .../Tests/MyObjcppClassTests.swift | 2 +- .../MyTestFramework/MyTestHelper.swift | 7 +- .../fixtures/ios_app_with_sdk/Project.swift | 125 +-- .../ios_app_with_sdk/Tests/AppTests.swift | 2 +- .../ios_app_with_sdk/Tuist/Config.swift | 4 +- .../fixtures/ios_app_with_setup/Project.swift | 64 +- .../Sources/AppDelegate.swift | 5 +- .../ios_app_with_setup/Tests/AppTests.swift | 4 +- .../ios_app_with_setup/Tuist/Config.swift | 4 +- .../App/AppDelegate.swift | 5 +- .../ios_app_with_signing/Project.swift | 78 +- .../Modules/A/Project.swift | 52 +- .../Modules/A/Sources/A.swift | 2 +- .../Modules/AppTestsSupport/Project.swift | 28 +- .../Sources/AppTestsSupport.swift | 2 +- .../Modules/B/Project.swift | 50 +- .../Modules/B/Sources/B.swift | 2 +- .../Modules/C/Project.swift | 52 +- .../Modules/C/Sources/C.swift | 4 +- .../Modules/D/Project.swift | 26 +- .../Modules/D/Sources/D.swift | 4 +- .../Prebuilt/Project.swift | 16 +- .../Project.swift | 58 +- .../Sources/AppDelegate.swift | 8 +- .../Tests/AppTests.swift | 8 +- .../Tuist/Config.swift | 4 +- .../Modules/A/Project.swift | 52 +- .../Modules/A/Sources/A.swift | 2 +- .../Modules/B/Project.swift | 52 +- .../Modules/B/Sources/B.swift | 2 +- .../Modules/C/Project.swift | 54 +- .../Modules/C/Sources/C.swift | 4 +- .../Modules/D/Project.swift | 26 +- .../Modules/D/Sources/D.swift | 4 +- .../Prebuilt/Project.swift | 16 +- .../Project.swift | 54 +- .../Sources/AppDelegate.swift | 8 +- .../Tuist/Config.swift | 4 +- .../Modules/A/Project.swift | 59 +- .../Modules/A/Sources/A.swift | 2 +- .../Modules/B/Project.swift | 50 +- .../Modules/B/Sources/B.swift | 2 +- .../Modules/C/Project.swift | 50 +- .../Modules/C/Sources/C.swift | 2 +- .../Project.swift | 48 +- .../Sources/AppDelegate.swift | 4 +- .../Tuist/Config.swift | 4 +- .../Packages/PackageA/Package.swift | 6 +- .../Sources/LibraryA/LibraryAClass.swift | 4 +- .../Tests/PackageATests/XCTestManifests.swift | 10 +- .../Prebuilt/Project.swift | 22 +- .../Sources/StaticFrameworkClass.swift | 2 +- .../Project.swift | 64 +- .../Sources/AppDelegate.swift | 12 +- .../Tests/AppTests.swift | 4 +- .../ios_app_with_templates/Project.swift | 4 +- .../Sources/AppDelegate.swift | 6 +- .../Tests/AppTests.swift | 4 +- .../ProjectDescriptionHelpers/Platform.swift | 4 +- .../Tuist/Templates/custom/custom.swift | 2 +- .../custom_using_copy_folder.swift | 4 +- .../custom_using_filters.swift | 2 +- .../App/Sources/AppDelegate.swift | 5 +- .../App/Tests/AppTests.swift | 2 +- .../App/UITests/AppUITest.swift | 4 +- .../AppCore/Tests/AppCoreTests.swift | 2 +- .../Tests/MacFrameworkTests.swift | 2 +- .../fixtures/ios_app_with_tests/Project.swift | 32 +- .../ios_app_with_tests/Tuist/Config.swift | 4 +- .../App/Tests/AppDelegateTests.swift | 2 +- .../App/UITests/AppUITest.swift | 2 - .../Framework1/Project.swift | 78 +- .../Framework1/Sources/Framework1File.swift | 3 +- .../Tests/Framework1FileTests.swift | 8 +- .../Framework2/Project.swift | 42 +- .../StaticFramework1/Project.swift | 38 +- .../Sources/Framework1File.swift | 3 +- .../Tests/Framework1FileTests.swift | 8 +- .../Tuist/Config.swift | 4 +- .../Workspace.swift | 6 +- .../App/Tests/AppDelegateTests.swift | 2 +- .../App/UITests/AppUITest.swift | 2 - .../Framework1/Project.swift | 76 +- .../Framework1/Sources/Framework1File.swift | 3 +- .../Tests/Framework1FileTests.swift | 8 +- .../Framework2/Project.swift | 42 +- .../Tuist/Config.swift | 4 +- .../Workspace.swift | 6 +- .../Packages/LibraryA/Package.swift | 6 +- .../LibraryA/Sources/LibraryA/LibraryA.swift | 4 +- .../ios_app_with_watchapp2/Project.swift | 94 +- .../Sources/AppDelegate.swift | 9 +- .../WatchAppExtension/ExtensionDelegate.swift | 9 +- .../InterfaceController.swift | 10 +- .../Frameworks/MyFramework/Project.swift | 63 +- .../MyFramework/Sources/MyFramework.swift | 4 +- .../MyFramework/Tests/MyFrameworkTests.swift | 4 +- .../MyStaticFramework/Project.swift | 43 +- .../Sources/MyStaticFramework.swift | 4 +- .../Frameworks/MyStaticLibrary/Project.swift | 43 +- .../Sources/MyStaticLibrary.swift | 4 +- .../ios_app_with_xcframeworks/Project.swift | 58 +- .../Sources/AppDelegate.swift | 8 +- .../Tests/xcframeworksTests.swift | 4 +- .../App/Project.swift | 60 +- .../App/Sources/AppDelegate.swift | 8 +- .../App/Tests/AppTests.swift | 4 +- .../Frameworks/FrameworkA/Project.swift | 60 +- .../FrameworkA/Sources/FrameworkA.swift | 4 +- .../FrameworkA/Tests/FrameworkATests.swift | 4 +- .../Frameworks/FrameworkB/Project.swift | 60 +- .../FrameworkB/Sources/FrameworkB.swift | 4 +- .../FrameworkB/Tests/FrameworkBTests.swift | 4 +- .../Workspace.swift | 12 +- .../App/Sources/AppDelegate.swift | 8 +- .../App/Tests/AppTests.swift | 4 +- .../Frameworks/CoreFramework/Project.swift | 52 +- .../CoreFramework/Tests/CoreClassTests.swift | 4 +- .../Frameworks/DataFramework/Project.swift | 62 +- .../DataFramework/Sources/DataClass.swift | 4 +- .../DataFramework/Tests/FrameworkATests.swift | 4 +- .../FeatureAFramework/Project.swift | 68 +- .../Sources/FrameworkA.swift | 8 +- .../Tests/FrameworkATests.swift | 4 +- .../Frameworks/FeatureContracts/Project.swift | 64 +- .../Sources/FeatureAContract.swift | 2 +- .../Sources/FeatureBContract.swift | 2 +- .../Tests/FrameworkAContractTests.swift | 4 +- .../UIComponentsFramework/Project.swift | 62 +- .../Sources/UIComponentA.swift | 4 +- .../Tests/UIComponentATests.swift | 4 +- .../Plugin/Plugin.swift | 2 +- .../String+BundleId.swift | 6 +- .../Project.swift | 62 +- .../Tuist/Config.swift | 2 +- .../Frameworks/CoreFramework/Project.swift | 50 +- .../CoreFramework/Tests/CoreClassTests.swift | 4 +- .../Frameworks/DataFramework/Project.swift | 60 +- .../DataFramework/Sources/DataClass.swift | 4 +- .../DataFramework/Tests/FrameworkATests.swift | 4 +- .../FeatureAFramework/Project.swift | 66 +- .../Sources/FrameworkA.swift | 8 +- .../Tests/FrameworkATests.swift | 4 +- .../Frameworks/FeatureContracts/Project.swift | 62 +- .../Sources/FeatureAContract.swift | 2 +- .../Sources/FeatureBContract.swift | 2 +- .../Tests/FrameworkAContractTests.swift | 4 +- .../UIComponentsFramework/Project.swift | 60 +- .../Sources/UIComponentA.swift | 4 +- .../Tests/UIComponentATests.swift | 4 +- .../StaticApp/Project.swift | 60 +- .../StaticApp/Sources/AppDelegate.swift | 8 +- .../StaticApp/Tests/AppTests.swift | 4 +- .../Workspace.swift | 12 +- .../macos_app_with_copy_files/Project.swift | 36 +- .../Sources/AppDelegate.swift | 4 +- .../Tuist/Config.swift | 4 +- .../macos_app_with_extensions/Project.swift | 12 +- .../Sources/WorkflowViewController.swift | 30 +- .../fixtures/manifest_with_logs/Project.swift | 23 +- .../Sources/AppDelegate.swift | 4 +- .../manifest_with_logs/Tuist/Config.swift | 4 +- .../ProjectDescriptionHelpers/Helper.swift | 4 +- .../FileHeaderTemplate.swift | 2 +- .../tvos_app_with_extensions/Project.swift | 74 +- .../Sources/AppDelegate.swift | 8 +- .../Sources/StaticFramework.swift | 6 +- .../TopShelfExtension/ContentProvider.swift | 4 +- .../App/Sources/AppDelegate.swift | 5 +- .../App/UITests/AppUITest.swift | 4 +- .../tvos_app_with_uitest/Tuist/Config.swift | 4 +- .../FileHeaderTemplate.swift | 2 +- 700 files changed, 8442 insertions(+), 5709 deletions(-) diff --git a/.swiftformat b/.swiftformat index 59ff98fb6..c8a48c7c3 100644 --- a/.swiftformat +++ b/.swiftformat @@ -1,7 +1,7 @@ # file options --symlinks ignore ---exclude Tests/XCTestManifests.swift,projects/tuist/fixtures/,projects/tuist/features/,Project.swift +--exclude Tests/XCTestManifests.swift,projects/tuist/features,projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint # format options @@ -31,6 +31,7 @@ --semicolons inline --stripunusedargs always --trimwhitespace always ---wraparguments preserve ---wrapcollections preserve ---wraparguments before-first \ No newline at end of file +--maxwidth 130 +--wrapcollections before-first +--wraparguments before-first +--extensionacl on-declarations diff --git a/.swiftformat-version b/.swiftformat-version index 64a2ba658..0afe921c6 100644 --- a/.swiftformat-version +++ b/.swiftformat-version @@ -1 +1 @@ -0.43.5 +0.48.18 diff --git a/.swiftlint.yml b/.swiftlint.yml index 6b024216f..16d5f1c48 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -16,6 +16,9 @@ identifier_name: min_length: error: 1 warning: 1 + max_length: + warning: 60 + error: 80 inclusive_language: override_allowed_terms: - masterKey diff --git a/Project.swift b/Project.swift index 400337df3..0e106ec23 100644 --- a/Project.swift +++ b/Project.swift @@ -44,459 +44,459 @@ func targets() -> [Target] { ] ), ] - + [ - Target.module( - name: "TuistSupport", - hasIntegrationTests: true, - dependencies: [ - .external(name: "ArgumentParser"), - .external(name: "Checksum"), - .external(name: "CombineExt"), - .external(name: "CryptoSwift"), - .external(name: "GraphViz"), - .external(name: "KeychainAccess"), - .external(name: "Logging"), - .external(name: "PathKit"), - .external(name: "Queuer"), - .external(name: "RxBlocking"), - .external(name: "RxRelay"), - .external(name: "RxSwift"), - .external(name: "Signals"), - .external(name: "Stencil"), - .external(name: "StencilSwiftKit"), - .external(name: "Swifter"), - .external(name: "SwiftToolsSupport-auto"), - .external(name: "XcodeProj"), - .external(name: "Zip"), - ] - ), - Target.module( - name: "TuistKit", - hasTesting: false, - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistSupport"), - .target(name: "TuistGenerator"), - .target(name: "TuistCache"), - .target(name: "TuistAutomation"), - .target(name: "ProjectDescription"), - .target(name: "ProjectAutomation"), - .target(name: "TuistLoader"), - .target(name: "TuistScaffold"), - .target(name: "TuistSigning"), - .target(name: "TuistDependencies"), - .target(name: "TuistLinting"), - .target(name: "TuistCloud"), - .target(name: "TuistMigration"), - .target(name: "TuistAsyncQueue"), - .target(name: "TuistAnalytics"), - .target(name: "TuistPlugin"), - .target(name: "TuistGraph"), - .target(name: "TuistTasks"), - ], - testDependencies: [ - .target(name: "TuistAutomation"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "ProjectDescription"), - .target(name: "ProjectAutomation"), - .target(name: "TuistLoaderTesting"), - .target(name: "TuistCacheTesting"), - .target(name: "TuistGeneratorTesting"), - .target(name: "TuistScaffoldTesting"), - .target(name: "TuistCloudTesting"), - .target(name: "TuistAutomationTesting"), - .target(name: "TuistSigningTesting"), - .target(name: "TuistDependenciesTesting"), - .target(name: "TuistLintingTesting"), - .target(name: "TuistMigrationTesting"), - .target(name: "TuistAsyncQueueTesting"), - .target(name: "TuistGraphTesting"), - .target(name: "TuistPlugin"), - .target(name: "TuistPluginTesting"), - .target(name: "TuistTasksTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistCoreTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "ProjectDescription"), - .target(name: "ProjectAutomation"), - .target(name: "TuistLoaderTesting"), - .target(name: "TuistCloudTesting"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistEnvKit", - hasTesting: false, - dependencies: [ - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - ] - ), - Target.module( - name: "TuistGraph", - dependencies: [ - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistSupport"), - .target(name: "TuistSupportTesting"), - ], - testingDependencies: [ - .target(name: "TuistSupport"), - .target(name: "TuistSupportTesting"), - ] - ), - Target.module( - name: "TuistCore", - hasIntegrationTests: true, - dependencies: [ - .target(name: "ProjectDescription"), - .target(name: "TuistSupport"), - .target(name: "TuistGraph"), - ], - testDependencies: [ - .target(name: "TuistSupport"), - .target(name: "TuistGraph"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting") - ], - testingDependencies: [ - .target(name: "TuistSupport"), - .target(name: "TuistGraph"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistSupportTesting"), - ] - ), - Target.module( - name: "TuistGenerator", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - .external(name: "SwiftGenKit"), - ], - testDependencies: [ - .target(name: "TuistCoreTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistCoreTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistCoreTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - .target(name: "TuistSigningTesting"), - ] - ), - Target.module( - name: "TuistCloud", - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistTasks", - hasTests: false, - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistSupport"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistCache", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - .target(name: "TuistCloud"), - ], - testDependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - .target(name: "TuistCloud"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - .target(name: "TuistCloud"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - .target(name: "TuistSupportTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - .target(name: "TuistCloud"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistScaffold", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistLoader", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - .target(name: "ProjectDescription"), - ], - testDependencies: [ - .target(name: "TuistGraphTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - ], - testingDependencies: [ - .target(name: "TuistCore"), - .target(name: "ProjectDescription"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistGraphTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "ProjectDescription"), - ] - ), - Target.module( - name: "TuistAsyncQueue", - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistPlugin", - dependencies: [ - .target(name: "TuistGraph"), - .target(name: "TuistLoader"), - .target(name: "TuistSupport"), - .target(name: "TuistScaffold"), - ], - testDependencies: [ - .target(name: "ProjectDescription"), - .target(name: "TuistLoader"), - .target(name: "TuistLoaderTesting"), - .target(name: "TuistGraphTesting"), - .target(name: "TuistSupport"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistScaffoldTesting"), - .target(name: "TuistCoreTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraph"), - ] - ), - Target.module( - name: "ProjectDescription", - hasTesting: false, - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistSupport"), - ] - ), - Target.module( - name: "ProjectAutomation", - hasTests: false, - hasTesting: false - ), - Target.module( - name: "TuistSigning", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistAnalytics", - hasTesting: false, - dependencies: [ - .target(name: "TuistAsyncQueue"), - .target(name: "TuistCloud"), - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistLoader"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - .target(name: "TuistCoreTesting"), - ] - ), - Target.module( - name: "TuistMigration", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistLinting", - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistCoreTesting"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistDependencies", - dependencies: [ - .target(name: "ProjectDescription"), - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting"), - .target(name: "TuistLoaderTesting"), - .target(name: "TuistSupportTesting"), - ], - testingDependencies: [ - .target(name: "TuistGraphTesting"), - ] - ), - Target.module( - name: "TuistAutomation", - hasIntegrationTests: true, - dependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistGraph"), - .target(name: "TuistSupport"), - ], - testDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistCoreTesting"), - .target(name: "TuistGraphTesting") - ], - testingDependencies: [ - .target(name: "TuistCore"), - .target(name: "TuistCoreTesting"), - .target(name: "ProjectDescription"), - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ], - integrationTestsDependencies: [ - .target(name: "TuistSupportTesting"), - .target(name: "TuistGraphTesting"), - ] - ) - ] - .flatMap { $0 } + + [ + Target.module( + name: "TuistSupport", + hasIntegrationTests: true, + dependencies: [ + .external(name: "ArgumentParser"), + .external(name: "Checksum"), + .external(name: "CombineExt"), + .external(name: "CryptoSwift"), + .external(name: "GraphViz"), + .external(name: "KeychainAccess"), + .external(name: "Logging"), + .external(name: "PathKit"), + .external(name: "Queuer"), + .external(name: "RxBlocking"), + .external(name: "RxRelay"), + .external(name: "RxSwift"), + .external(name: "Signals"), + .external(name: "Stencil"), + .external(name: "StencilSwiftKit"), + .external(name: "Swifter"), + .external(name: "SwiftToolsSupport-auto"), + .external(name: "XcodeProj"), + .external(name: "Zip"), + ] + ), + Target.module( + name: "TuistKit", + hasTesting: false, + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistSupport"), + .target(name: "TuistGenerator"), + .target(name: "TuistCache"), + .target(name: "TuistAutomation"), + .target(name: "ProjectDescription"), + .target(name: "ProjectAutomation"), + .target(name: "TuistLoader"), + .target(name: "TuistScaffold"), + .target(name: "TuistSigning"), + .target(name: "TuistDependencies"), + .target(name: "TuistLinting"), + .target(name: "TuistCloud"), + .target(name: "TuistMigration"), + .target(name: "TuistAsyncQueue"), + .target(name: "TuistAnalytics"), + .target(name: "TuistPlugin"), + .target(name: "TuistGraph"), + .target(name: "TuistTasks"), + ], + testDependencies: [ + .target(name: "TuistAutomation"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "ProjectDescription"), + .target(name: "ProjectAutomation"), + .target(name: "TuistLoaderTesting"), + .target(name: "TuistCacheTesting"), + .target(name: "TuistGeneratorTesting"), + .target(name: "TuistScaffoldTesting"), + .target(name: "TuistCloudTesting"), + .target(name: "TuistAutomationTesting"), + .target(name: "TuistSigningTesting"), + .target(name: "TuistDependenciesTesting"), + .target(name: "TuistLintingTesting"), + .target(name: "TuistMigrationTesting"), + .target(name: "TuistAsyncQueueTesting"), + .target(name: "TuistGraphTesting"), + .target(name: "TuistPlugin"), + .target(name: "TuistPluginTesting"), + .target(name: "TuistTasksTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistCoreTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "ProjectDescription"), + .target(name: "ProjectAutomation"), + .target(name: "TuistLoaderTesting"), + .target(name: "TuistCloudTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistEnvKit", + hasTesting: false, + dependencies: [ + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + ] + ), + Target.module( + name: "TuistGraph", + dependencies: [ + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistSupport"), + .target(name: "TuistSupportTesting"), + ], + testingDependencies: [ + .target(name: "TuistSupport"), + .target(name: "TuistSupportTesting"), + ] + ), + Target.module( + name: "TuistCore", + hasIntegrationTests: true, + dependencies: [ + .target(name: "ProjectDescription"), + .target(name: "TuistSupport"), + .target(name: "TuistGraph"), + ], + testDependencies: [ + .target(name: "TuistSupport"), + .target(name: "TuistGraph"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistSupport"), + .target(name: "TuistGraph"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistSupportTesting"), + ] + ), + Target.module( + name: "TuistGenerator", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + .external(name: "SwiftGenKit"), + ], + testDependencies: [ + .target(name: "TuistCoreTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistCoreTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistCoreTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + .target(name: "TuistSigningTesting"), + ] + ), + Target.module( + name: "TuistCloud", + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistTasks", + hasTests: false, + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistSupport"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistCache", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + .target(name: "TuistCloud"), + ], + testDependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + .target(name: "TuistCloud"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + .target(name: "TuistCloud"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + .target(name: "TuistSupportTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + .target(name: "TuistCloud"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistScaffold", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistLoader", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + .target(name: "ProjectDescription"), + ], + testDependencies: [ + .target(name: "TuistGraphTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + ], + testingDependencies: [ + .target(name: "TuistCore"), + .target(name: "ProjectDescription"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistGraphTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "ProjectDescription"), + ] + ), + Target.module( + name: "TuistAsyncQueue", + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistPlugin", + dependencies: [ + .target(name: "TuistGraph"), + .target(name: "TuistLoader"), + .target(name: "TuistSupport"), + .target(name: "TuistScaffold"), + ], + testDependencies: [ + .target(name: "ProjectDescription"), + .target(name: "TuistLoader"), + .target(name: "TuistLoaderTesting"), + .target(name: "TuistGraphTesting"), + .target(name: "TuistSupport"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistScaffoldTesting"), + .target(name: "TuistCoreTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraph"), + ] + ), + Target.module( + name: "ProjectDescription", + hasTesting: false, + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistSupport"), + ] + ), + Target.module( + name: "ProjectAutomation", + hasTests: false, + hasTesting: false + ), + Target.module( + name: "TuistSigning", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistAnalytics", + hasTesting: false, + dependencies: [ + .target(name: "TuistAsyncQueue"), + .target(name: "TuistCloud"), + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistLoader"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + .target(name: "TuistCoreTesting"), + ] + ), + Target.module( + name: "TuistMigration", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistLinting", + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistCoreTesting"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistDependencies", + dependencies: [ + .target(name: "ProjectDescription"), + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + .target(name: "TuistLoaderTesting"), + .target(name: "TuistSupportTesting"), + ], + testingDependencies: [ + .target(name: "TuistGraphTesting"), + ] + ), + Target.module( + name: "TuistAutomation", + hasIntegrationTests: true, + dependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistGraph"), + .target(name: "TuistSupport"), + ], + testDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistCoreTesting"), + .target(name: "TuistGraphTesting"), + ], + testingDependencies: [ + .target(name: "TuistCore"), + .target(name: "TuistCoreTesting"), + .target(name: "ProjectDescription"), + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ], + integrationTestsDependencies: [ + .target(name: "TuistSupportTesting"), + .target(name: "TuistGraphTesting"), + ] + ), + ] + .flatMap { $0 } } let project = Project( name: "Tuist", options: [ - .textSettings(indentWidth: 4, tabWidth: 4) + .textSettings(indentWidth: 4, tabWidth: 4), ], settings: .settings( configurations: [ diff --git a/Sources/ProjectDescription/CompatibleXcodeVersions.swift b/Sources/ProjectDescription/CompatibleXcodeVersions.swift index 4af07f0d6..e8887f76c 100644 --- a/Sources/ProjectDescription/CompatibleXcodeVersions.swift +++ b/Sources/ProjectDescription/CompatibleXcodeVersions.swift @@ -52,7 +52,11 @@ public enum CompatibleXcodeVersions: ExpressibleByArrayLiteral, ExpressibleByStr case "list": self = .list(try container.decode([String].self, forKey: .value)) default: - throw DecodingError.dataCorruptedError(forKey: CodignKeys.type, in: container, debugDescription: "Invalid type \(type)") + throw DecodingError.dataCorruptedError( + forKey: CodignKeys.type, + in: container, + debugDescription: "Invalid type \(type)" + ) } } } diff --git a/Sources/ProjectDescription/Config.swift b/Sources/ProjectDescription/Config.swift index 67c0f0292..aa844a2ed 100644 --- a/Sources/ProjectDescription/Config.swift +++ b/Sources/ProjectDescription/Config.swift @@ -101,7 +101,7 @@ public struct Config: Codable, Equatable { } extension Config.GenerationOptions { - enum CodingKeys: String, CodingKey { + internal enum CodingKeys: String, CodingKey { case xcodeProjectName case organizationName case developmentRegion @@ -115,6 +115,7 @@ extension Config.GenerationOptions { case lastXcodeUpgradeCheck } + // swiftlint:disable:next function_body_length public init(from decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) @@ -130,30 +131,36 @@ extension Config.GenerationOptions { var associatedValues = try container.nestedUnkeyedContainer(forKey: .developmentRegion) let developmentRegion = try associatedValues.decode(String.self) self = .developmentRegion(developmentRegion) - } else if container.allKeys.contains(.disableAutogeneratedSchemes), try container.decode(Bool.self, forKey: .disableAutogeneratedSchemes) { + } else if container.allKeys.contains(.disableAutogeneratedSchemes), + try container.decode(Bool.self, forKey: .disableAutogeneratedSchemes) + { self = .disableAutogeneratedSchemes } else if container.allKeys.contains(.disableSynthesizedResourceAccessors), - try container.decode(Bool.self, forKey: .disableSynthesizedResourceAccessors) + try container.decode(Bool.self, forKey: .disableSynthesizedResourceAccessors) { self = .disableSynthesizedResourceAccessors } else if container.allKeys.contains(.disableShowEnvironmentVarsInScriptPhases), - try container.decode(Bool.self, forKey: .disableShowEnvironmentVarsInScriptPhases) + try container.decode(Bool.self, forKey: .disableShowEnvironmentVarsInScriptPhases) { self = .disableShowEnvironmentVarsInScriptPhases } else if container.allKeys.contains(.enableCodeCoverage) { let mode = try container.decode(CodeCoverageMode.self, forKey: .enableCodeCoverage) self = .enableCodeCoverage(mode) - } else if container.allKeys.contains(.disablePackageVersionLocking), try container.decode(Bool.self, forKey: .disablePackageVersionLocking) { + } else if container.allKeys.contains(.disablePackageVersionLocking), + try container.decode(Bool.self, forKey: .disablePackageVersionLocking) + { self = .disablePackageVersionLocking } else if container.allKeys.contains(.resolveDependenciesWithSystemScm), - try container.decode(Bool.self, forKey: .resolveDependenciesWithSystemScm) + try container.decode(Bool.self, forKey: .resolveDependenciesWithSystemScm) { self = .resolveDependenciesWithSystemScm } else if container.allKeys.contains(.disableBundleAccessors), - try container.decode(Bool.self, forKey: .disableBundleAccessors) + try container.decode(Bool.self, forKey: .disableBundleAccessors) { self = .disableBundleAccessors - } else if container.allKeys.contains(.lastXcodeUpgradeCheck), try container.decodeNil(forKey: .lastXcodeUpgradeCheck) == false { + } else if container.allKeys.contains(.lastXcodeUpgradeCheck), + try container.decodeNil(forKey: .lastXcodeUpgradeCheck) == false + { var associatedValues = try container.nestedUnkeyedContainer(forKey: .lastXcodeUpgradeCheck) let version = try associatedValues.decode(Version.self) self = .lastXcodeUpgradeCheck(version) @@ -197,7 +204,7 @@ extension Config.GenerationOptions { } extension Config.GenerationOptions.CodeCoverageMode { - enum CodingKeys: String, CodingKey { + internal enum CodingKeys: String, CodingKey { case all case relevant case targets diff --git a/Sources/ProjectDescription/ConfigurationName.swift b/Sources/ProjectDescription/ConfigurationName.swift index 667857267..8888b7dd8 100644 --- a/Sources/ProjectDescription/ConfigurationName.swift +++ b/Sources/ProjectDescription/ConfigurationName.swift @@ -25,14 +25,14 @@ public struct ConfigurationName: ExpressibleByStringLiteral, Codable, Equatable // Defaults provided by Tuist -public extension ConfigurationName { +extension ConfigurationName { /// Returns a configuration named "Debug" - static var debug: ConfigurationName { + public static var debug: ConfigurationName { ConfigurationName("Debug") } // Returns a configuration named "Release" - static var release: ConfigurationName { + public static var release: ConfigurationName { ConfigurationName("Release") } } diff --git a/Sources/ProjectDescription/Dependencies/CarthageDependencies.swift b/Sources/ProjectDescription/Dependencies/CarthageDependencies.swift index bed68fe24..e5fa023bd 100644 --- a/Sources/ProjectDescription/Dependencies/CarthageDependencies.swift +++ b/Sources/ProjectDescription/Dependencies/CarthageDependencies.swift @@ -22,9 +22,9 @@ extension CarthageDependencies: ExpressibleByArrayLiteral { // MARK: - CarthageDependencies.Dependency & CarthageDependencies.Requirement & CarthageDependencies.Options -public extension CarthageDependencies { +extension CarthageDependencies { /// Specifies origin of Carthage dependency. - enum Dependency: Codable, Equatable { + public enum Dependency: Codable, Equatable { /// GitHub repositories (both GitHub.com and GitHub Enterprise). case github(path: String, requirement: Requirement) /// Other Git repositories. @@ -34,7 +34,7 @@ public extension CarthageDependencies { } /// Specifies version requirement for Carthage dependency. - enum Requirement: Codable, Equatable { + public enum Requirement: Codable, Equatable { case exact(Version) case upToNext(Version) case atLeast(Version) diff --git a/Sources/ProjectDescription/Environment.swift b/Sources/ProjectDescription/Environment.swift index 498d64b34..7debccf18 100644 --- a/Sources/ProjectDescription/Environment.swift +++ b/Sources/ProjectDescription/Environment.swift @@ -1,7 +1,7 @@ import Foundation @dynamicMemberLookup -public struct Environment { +public enum Environment { public enum Value: Equatable { case boolean(Bool) case string(String) @@ -26,12 +26,12 @@ public struct Environment { } } -public extension Optional where Wrapped == Environment.Value { +extension Optional where Wrapped == Environment.Value { /// Retrieve the Environment value as a string or return the specified default string value /// - Parameters: /// - default: default String value to be returned /// - Returns: String - func getString(default defaultString: String) -> String { + public func getString(default defaultString: String) -> String { if case let .string(value) = self { return value } return defaultString } @@ -40,15 +40,15 @@ public extension Optional where Wrapped == Environment.Value { /// - Parameters: /// - default: default Boolean value to be returned /// - Returns: Bool - func getBoolean(default defaultBoolean: Bool) -> Bool { + public func getBoolean(default defaultBoolean: Bool) -> Bool { if case let .boolean(value) = self { return value } return defaultBoolean } } -private extension String { +extension String { // Taken from https://github.com/apple/swift/blob/88b093e9d77d6201935a2c2fb13f27d961836777/stdlib/public/Darwin/Foundation/JSONEncoder.swift#L161 - func camelCaseToSnakeCase() -> String { + fileprivate func camelCaseToSnakeCase() -> String { guard !isEmpty else { return self } var words: [Range] = [] @@ -68,7 +68,8 @@ private extension String { // Find next lowercase character searchRange = upperCaseRange.lowerBound ..< searchRange.upperBound - guard let lowerCaseRange = rangeOfCharacter(from: CharacterSet.lowercaseLetters, options: [], range: searchRange) else { + guard let lowerCaseRange = rangeOfCharacter(from: CharacterSet.lowercaseLetters, options: [], range: searchRange) + else { // There are no more lower case letters. Just end here. wordStart = searchRange.lowerBound break diff --git a/Sources/ProjectDescription/LaunchArgument.swift b/Sources/ProjectDescription/LaunchArgument.swift index c781b2932..586e92619 100644 --- a/Sources/ProjectDescription/LaunchArgument.swift +++ b/Sources/ProjectDescription/LaunchArgument.swift @@ -21,8 +21,8 @@ public struct LaunchArgument: Equatable, Codable { } } -internal extension Array where Element == LaunchArgument { - init(launchArguments: [String: Bool]) { +extension Array where Element == LaunchArgument { + internal init(launchArguments: [String: Bool]) { self = launchArguments.map(LaunchArgument.init) .sorted { $0.name < $1.name } } diff --git a/Sources/ProjectDescription/SchemeLanguage.swift b/Sources/ProjectDescription/SchemeLanguage.swift index a9143654b..474824204 100644 --- a/Sources/ProjectDescription/SchemeLanguage.swift +++ b/Sources/ProjectDescription/SchemeLanguage.swift @@ -13,24 +13,24 @@ public struct SchemeLanguage: Codable, Equatable, ExpressibleByStringLiteral { } // Pre-defined languages -public extension SchemeLanguage { - static var doubleLengthPseudoLanguage: SchemeLanguage { +extension SchemeLanguage { + public static var doubleLengthPseudoLanguage: SchemeLanguage { SchemeLanguage(identifier: "IDELaunchSchemeLanguageDoubleLocalizedStrings") } - static var rightToLeftPseudoLanguage: SchemeLanguage { + public static var rightToLeftPseudoLanguage: SchemeLanguage { SchemeLanguage(identifier: "IDELaunchSchemeLanguageRightToLeftLayoutDirection") } - static var accentedPseudoLanguage: SchemeLanguage { + public static var accentedPseudoLanguage: SchemeLanguage { SchemeLanguage(identifier: "IDELaunchSchemeLanguageAccentedLatin") } - static var boundedStringPseudoLanguage: SchemeLanguage { + public static var boundedStringPseudoLanguage: SchemeLanguage { SchemeLanguage(identifier: "IDELaunchSchemeLanguageBoundedString") } - static var rightToLeftWithStringsPseudoLanguage: SchemeLanguage { + public static var rightToLeftWithStringsPseudoLanguage: SchemeLanguage { SchemeLanguage(identifier: "IDELaunchSchemeLanguageRLO") } } diff --git a/Sources/ProjectDescription/Settings.swift b/Sources/ProjectDescription/Settings.swift index a81afbcdf..5caa93a5c 100644 --- a/Sources/ProjectDescription/Settings.swift +++ b/Sources/ProjectDescription/Settings.swift @@ -4,7 +4,9 @@ public typealias SettingsDictionary = [String: SettingValue] // MARK: - SettingValue -public enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable, Codable { +public enum SettingValue: ExpressibleByStringInterpolation, ExpressibleByArrayLiteral, ExpressibleByBooleanLiteral, Equatable, + Codable +{ case string(String) case array([String]) @@ -86,7 +88,9 @@ public struct Configuration: Equatable, Codable { /// - settings: The base build settings to apply /// - xcconfig: The xcconfig file to associate with this configuration /// - Returns: A debug `CustomConfiguration` - public static func debug(name: ConfigurationName, settings: SettingsDictionary = [:], xcconfig: Path? = nil) -> Configuration { + public static func debug(name: ConfigurationName, settings: SettingsDictionary = [:], + xcconfig: Path? = nil) -> Configuration + { return Configuration( name: name, variant: .debug, @@ -102,7 +106,9 @@ public struct Configuration: Equatable, Codable { /// - settings: The base build settings to apply /// - xcconfig: The xcconfig file to associate with this configuration /// - Returns: A release `CustomConfiguration` - public static func release(name: ConfigurationName, settings: SettingsDictionary = [:], xcconfig: Path? = nil) -> Configuration { + public static func release(name: ConfigurationName, settings: SettingsDictionary = [:], + xcconfig: Path? = nil) -> Configuration + { return Configuration( name: name, variant: .release, diff --git a/Sources/ProjectDescription/SettingsTransformers.swift b/Sources/ProjectDescription/SettingsTransformers.swift index 77f129ccc..5fd973b98 100644 --- a/Sources/ProjectDescription/SettingsTransformers.swift +++ b/Sources/ProjectDescription/SettingsTransformers.swift @@ -1,21 +1,21 @@ import Foundation -public extension SettingsDictionary { - mutating func merge(_ other: SettingsDictionary) { +extension SettingsDictionary { + public mutating func merge(_ other: SettingsDictionary) { merge(other) { $1 } } - func merging(_ other: SettingsDictionary) -> SettingsDictionary { + public func merging(_ other: SettingsDictionary) -> SettingsDictionary { merging(other) { $1 } } } -private extension SettingValue { - init(_ string: String) { +extension SettingValue { + fileprivate init(_ string: String) { self = .init(stringLiteral: string) } - init(_ bool: Bool) { + fileprivate init(_ bool: Bool) { self = .init(booleanLiteral: bool) } } @@ -31,11 +31,11 @@ public enum SwiftOptimizationLevel: String { case oSize = "-Osize" } -public extension SettingsDictionary { +extension SettingsDictionary { // MARK: - Code signing /// Sets `"CODE_SIGN_STYLE"` to `"Manual"`,` "CODE_SIGN_IDENTITY"` to `identity`, and `"PROVISIONING_PROFILE_SPECIFIER"` to `provisioningProfileSpecifier` - func manualCodeSigning(identity: String? = nil, provisioningProfileSpecifier: String? = nil) -> SettingsDictionary { + public func manualCodeSigning(identity: String? = nil, provisioningProfileSpecifier: String? = nil) -> SettingsDictionary { var manualCodeSigning: SettingsDictionary = ["CODE_SIGN_STYLE": "Manual"] manualCodeSigning["PROVISIONING_PROFILE_SPECIFIER"] = provisioningProfileSpecifier.map { SettingValue($0) } @@ -49,7 +49,7 @@ public extension SettingsDictionary { } /// Sets `"CODE_SIGN_STYLE"` to `"Automatic"` and `"DEVELOPMENT_TEAM"` to `devTeam` - func automaticCodeSigning(devTeam: String) -> SettingsDictionary { + public func automaticCodeSigning(devTeam: String) -> SettingsDictionary { merging([ "CODE_SIGN_STYLE": "Automatic", "DEVELOPMENT_TEAM": SettingValue(devTeam), @@ -57,29 +57,29 @@ public extension SettingsDictionary { } /// Sets `"CODE_SIGN_IDENTITY"` to `"Apple Development"` - func codeSignIdentityAppleDevelopment() -> SettingsDictionary { + public func codeSignIdentityAppleDevelopment() -> SettingsDictionary { codeSignIdentity("Apple Development") } /// Sets `"CODE_SIGN_IDENTITY"` to `identity` - func codeSignIdentity(_ identity: String) -> SettingsDictionary { + public func codeSignIdentity(_ identity: String) -> SettingsDictionary { merging(["CODE_SIGN_IDENTITY": SettingValue(identity)]) } // MARK: - Versioning /// Sets `"CURRENT_PROJECT_VERSION"` to `version` - func currentProjectVersion(_ version: String) -> SettingsDictionary { + public func currentProjectVersion(_ version: String) -> SettingsDictionary { merging(["CURRENT_PROJECT_VERSION": SettingValue(version)]) } /// Sets `"VERSIONING_SYSTEM"` to `"apple-generic"` - func appleGenericVersioningSystem() -> SettingsDictionary { + public func appleGenericVersioningSystem() -> SettingsDictionary { merging(["VERSIONING_SYSTEM": "apple-generic"]) } /// Sets "VERSION_INFO_STRING" to `version`. If `prefix` and `suffix` are not `nil`, they're used as `"VERSION_INFO_PREFIX"` and `"VERSION_INFO_SUFFIX"` respectively. - func versionInfo(_ version: String, prefix: String? = nil, suffix: String? = nil) -> SettingsDictionary { + public func versionInfo(_ version: String, prefix: String? = nil, suffix: String? = nil) -> SettingsDictionary { var versionSettings: SettingsDictionary = ["VERSION_INFO_STRING": SettingValue(version)] versionSettings["VERSION_INFO_PREFIX"] = prefix.map { SettingValue($0) } versionSettings["VERSION_INFO_SUFFIX"] = suffix.map { SettingValue($0) } @@ -90,29 +90,29 @@ public extension SettingsDictionary { // MARK: - Swift Settings /// Sets `"SWIFT_VERSION"` to `version` - func swiftVersion(_ version: String) -> SettingsDictionary { + public func swiftVersion(_ version: String) -> SettingsDictionary { merging(["SWIFT_VERSION": SettingValue(version)]) } /// Sets `"OTHER_SWIFT_FLAGS"` to `flags` - func otherSwiftFlags(_ flags: String...) -> SettingsDictionary { + public func otherSwiftFlags(_ flags: String...) -> SettingsDictionary { merging(["OTHER_SWIFT_FLAGS": SettingValue(flags.joined(separator: " "))]) } /// Sets `"SWIFT_COMPILATION_MODE"` to the available `SwiftCompilationMode` (`"singlefile"` or `"wholemodule"`) - func swiftCompilationMode(_ mode: SwiftCompilationMode) -> SettingsDictionary { + public func swiftCompilationMode(_ mode: SwiftCompilationMode) -> SettingsDictionary { merging(["SWIFT_COMPILATION_MODE": SettingValue(mode)]) } /// Sets `"SWIFT_OPTIMIZATION_LEVEL"` to the available `SwiftOptimizationLevel` (`"-O"`, `"-Onone"` or `"-Osize"`) - func swiftOptimizationLevel(_ level: SwiftOptimizationLevel) -> SettingsDictionary { + public func swiftOptimizationLevel(_ level: SwiftOptimizationLevel) -> SettingsDictionary { merging(["SWIFT_OPTIMIZATION_LEVEL": SettingValue(level)]) } // MARK: - Bitcode /// Sets `"ENABLE_BITCODE"` to `"YES"` or `"NO"` - func bitcodeEnabled(_ enabled: Bool) -> SettingsDictionary { + public func bitcodeEnabled(_ enabled: Bool) -> SettingsDictionary { merging(["ENABLE_BITCODE": SettingValue(enabled)]) } } diff --git a/Sources/ProjectDescription/Template/Template.swift b/Sources/ProjectDescription/Template/Template.swift index 0cb3fdc56..07323490c 100644 --- a/Sources/ProjectDescription/Template/Template.swift +++ b/Sources/ProjectDescription/Template/Template.swift @@ -124,12 +124,12 @@ public struct Template: Codable, Equatable { } } -public extension Template.Item { +extension Template.Item { /// - Parameters: /// - path: Path where to generate file /// - contents: String Contents /// - Returns: `Template.Item` that is `.string` - static func string(path: String, contents: String) -> Template.Item { + public static func string(path: String, contents: String) -> Template.Item { Template.Item(path: path, contents: .string(contents)) } @@ -137,7 +137,7 @@ public extension Template.Item { /// - path: Path where to generate file /// - templatePath: Path of file where the template is defined /// - Returns: `Template.Item` that is `.file` - static func file(path: String, templatePath: Path) -> Template.Item { + public static func file(path: String, templatePath: Path) -> Template.Item { Template.Item(path: path, contents: .file(templatePath)) } @@ -145,13 +145,13 @@ public extension Template.Item { /// - path: Path where will be copied the folder /// - sourcePath: Path of folder which will be copied /// - Returns: `Template.Item` that is `.directory` - static func directory(path: String, sourcePath: Path) -> Template.Item { + public static func directory(path: String, sourcePath: Path) -> Template.Item { Template.Item(path: path, contents: .directory(sourcePath)) } } -public extension String.StringInterpolation { - mutating func appendInterpolation(_ value: Template.Attribute) { +extension String.StringInterpolation { + public mutating func appendInterpolation(_ value: Template.Attribute) { switch value { case let .required(name), let .optional(name, default: _): appendInterpolation("{{ \(name) }}") diff --git a/Sources/ProjectDescription/TestableTarget.swift b/Sources/ProjectDescription/TestableTarget.swift index 8dbec5aa3..be0b8849e 100644 --- a/Sources/ProjectDescription/TestableTarget.swift +++ b/Sources/ProjectDescription/TestableTarget.swift @@ -6,7 +6,12 @@ public struct TestableTarget: Equatable, Codable, ExpressibleByStringInterpolati public let isParallelizable: Bool public let isRandomExecutionOrdering: Bool - public init(target: TargetReference, skipped: Bool = false, parallelizable: Bool = false, randomExecutionOrdering: Bool = false) { + public init( + target: TargetReference, + skipped: Bool = false, + parallelizable: Bool = false, + randomExecutionOrdering: Bool = false + ) { self.target = target isSkipped = skipped isParallelizable = parallelizable diff --git a/Sources/ProjectDescription/Version.swift b/Sources/ProjectDescription/Version.swift index 0a2b89984..d575447a9 100644 --- a/Sources/ProjectDescription/Version.swift +++ b/Sources/ProjectDescription/Version.swift @@ -90,12 +90,12 @@ extension Version: CustomStringConvertible { } } -public extension Version { +extension Version { /// Create a version object from string. /// /// - Parameters: /// - string: The string to parse. - init?(string: String) { + public init?(string: String) { let prereleaseStartIndex = string.firstIndex(of: "-") let metadataStartIndex = string.firstIndex(of: "+") diff --git a/Sources/TuistAnalytics/Models/CommandEvent.swift b/Sources/TuistAnalytics/Models/CommandEvent.swift index ad9b5c4b7..c0ecc95e2 100644 --- a/Sources/TuistAnalytics/Models/CommandEvent.swift +++ b/Sources/TuistAnalytics/Models/CommandEvent.swift @@ -15,7 +15,7 @@ public struct CommandEvent: Codable, Equatable, AsyncQueueEvent { public let machineHardwareName: String public let isCI: Bool - public let id: UUID = UUID() + public let id = UUID() public let date = Date() public let dispatcherId = TuistAnalyticsDispatcher.dispatcherId diff --git a/Sources/TuistAnalytics/TuistAnalytics.swift b/Sources/TuistAnalytics/TuistAnalytics.swift index ba30cda10..5098f10f3 100644 --- a/Sources/TuistAnalytics/TuistAnalytics.swift +++ b/Sources/TuistAnalytics/TuistAnalytics.swift @@ -4,7 +4,7 @@ import TuistAsyncQueue import TuistGraph import TuistLoader -public final class TuistAnalytics { +public enum TuistAnalytics { public static func bootstrap(config: Config) throws { AsyncQueue.sharedInstance.register(dispatcher: TuistAnalyticsDispatcher(cloud: config.cloud)) AsyncQueue.sharedInstance.start() // Re-try to send all events that got persisted and haven't been sent yet diff --git a/Sources/TuistAnalytics/Utilities/TuistAnalyticsDispatcher.swift b/Sources/TuistAnalytics/Utilities/TuistAnalyticsDispatcher.swift index d964c41f2..f48fe03a0 100644 --- a/Sources/TuistAnalytics/Utilities/TuistAnalyticsDispatcher.swift +++ b/Sources/TuistAnalytics/Utilities/TuistAnalyticsDispatcher.swift @@ -22,7 +22,11 @@ public struct TuistAnalyticsDispatcher: AsyncQueueDispatching { if let cloud = cloud { backends = [ backbone, - TuistAnalyticsCloudBackend(config: cloud, resourceFactory: CloudAnalyticsResourceFactory(cloudConfig: cloud), client: cloudClient), + TuistAnalyticsCloudBackend( + config: cloud, + resourceFactory: CloudAnalyticsResourceFactory(cloudConfig: cloud), + client: cloudClient + ), ] } else { backends = [backbone] diff --git a/Sources/TuistAsyncQueue/AsyncQueue.swift b/Sources/TuistAsyncQueue/AsyncQueue.swift index 17c045234..bca7081cf 100644 --- a/Sources/TuistAsyncQueue/AsyncQueue.swift +++ b/Sources/TuistAsyncQueue/AsyncQueue.swift @@ -14,14 +14,14 @@ public protocol AsyncQueuing { public class AsyncQueue: AsyncQueuing { // MARK: - Attributes - private let disposeBag: DisposeBag = DisposeBag() + private let disposeBag = DisposeBag() private let queue: Queuing private let ciChecker: CIChecking private let persistor: AsyncQueuePersisting private var dispatchers: [String: AsyncQueueDispatching] = [:] private let persistedEventsSchedulerType: SchedulerType - public static let sharedInstance: AsyncQueue = AsyncQueue() + public static let sharedInstance = AsyncQueue() // MARK: - Init diff --git a/Sources/TuistAsyncQueue/AsyncQueuePersistor.swift b/Sources/TuistAsyncQueue/AsyncQueuePersistor.swift index 9d5c6faea..a457afb0c 100644 --- a/Sources/TuistAsyncQueue/AsyncQueuePersistor.swift +++ b/Sources/TuistAsyncQueue/AsyncQueuePersistor.swift @@ -27,7 +27,7 @@ final class AsyncQueuePersistor: AsyncQueuePersisting { // MARK: - Attributes let directory: AbsolutePath - let jsonEncoder: JSONEncoder = JSONEncoder() + let jsonEncoder = JSONEncoder() // MARK: - Init @@ -36,7 +36,7 @@ final class AsyncQueuePersistor: AsyncQueuePersisting { } func write(event: T) -> Completable { - Completable.create { (observer) -> Disposable in + Completable.create { observer -> Disposable in let path = self.directory.appending(component: self.filename(event: event)) do { try self.createDirectoryIfNeeded() @@ -55,7 +55,7 @@ final class AsyncQueuePersistor: AsyncQueuePersisting { } func delete(filename: String) -> Completable { - Completable.create { (observer) -> Disposable in + Completable.create { observer -> Disposable in let path = self.directory.appending(component: filename) guard FileHandler.shared.exists(path) else { return Disposables.create() } do { @@ -69,15 +69,15 @@ final class AsyncQueuePersistor: AsyncQueuePersisting { } func readAll() -> Single<[AsyncQueueEventTuple]> { - Single.create { (observer) -> Disposable in + Single.create { observer -> Disposable in let paths = FileHandler.shared.glob(self.directory, glob: "*.json") var events: [AsyncQueueEventTuple] = [] paths.forEach { eventPath in let fileName = eventPath.basenameWithoutExt let components = fileName.split(separator: ".") guard components.count == 3, - let timestamp = Double(components[0]), - let id = UUID(uuidString: String(components[2])) + let timestamp = Double(components[0]), + let id = UUID(uuidString: String(components[2])) else { /// Changing the naming convention is a breaking change. When detected /// we delete the event. diff --git a/Sources/TuistAsyncQueueTesting/MockAsyncQueueDispatcher.swift b/Sources/TuistAsyncQueueTesting/MockAsyncQueueDispatcher.swift index f579c9b73..bf997e4f5 100644 --- a/Sources/TuistAsyncQueueTesting/MockAsyncQueueDispatcher.swift +++ b/Sources/TuistAsyncQueueTesting/MockAsyncQueueDispatcher.swift @@ -43,7 +43,7 @@ public class MockAsyncQueueDispatcher: AsyncQueueDispatching { public var invokedDispatchPersistedCount = 0 public var invokedDispatchPersistedCallBack: () -> Void = {} public var invokedDispatchPersistedDataParameter: Data? - public var invokedDispatchPersistedParametersDataList = [Data]() // swiftlint:disable:this identifier_name + public var invokedDispatchPersistedParametersDataList = [Data]() public var stubbedDispatchPersistedError: Error? public func dispatchPersisted(data: Data, completion: @escaping () -> Void) throws { diff --git a/Sources/TuistAsyncQueueTesting/MockQueuer.swift b/Sources/TuistAsyncQueueTesting/MockQueuer.swift index 1745c0e09..da24730d2 100644 --- a/Sources/TuistAsyncQueueTesting/MockQueuer.swift +++ b/Sources/TuistAsyncQueueTesting/MockQueuer.swift @@ -7,7 +7,7 @@ public final class MockQueuer: Queuing { public var invokedAddOperation = false public var invokedAddOperationCount = 0 public var invokedAddOperationParameterOperation: Operation? - public var invokedAddOperationParametersOperationsList = [Operation]() // swiftlint:disable:this identifier_name + public var invokedAddOperationParametersOperationsList = [Operation]() public func addOperation(_ operation: Operation) { invokedAddOperation = true @@ -25,7 +25,7 @@ public final class MockQueuer: Queuing { } public var invokedWaitUntilAllOperationsAreFinished = false - public var invokedWaitUntilAllOperationsAreFinishedCount = 0 // swiftlint:disable:this identifier_name + public var invokedWaitUntilAllOperationsAreFinishedCount = 0 public func waitUntilAllOperationsAreFinished() { invokedWaitUntilAllOperationsAreFinished = true diff --git a/Sources/TuistAutomation/Utilities/BuildGraphInspector.swift b/Sources/TuistAutomation/Utilities/BuildGraphInspector.swift index 09f5dfc4b..af17d0a3c 100644 --- a/Sources/TuistAutomation/Utilities/BuildGraphInspector.swift +++ b/Sources/TuistAutomation/Utilities/BuildGraphInspector.swift @@ -55,7 +55,9 @@ public protocol BuildGraphInspecting { public final class BuildGraphInspector: BuildGraphInspecting { public init() {} - public func buildArguments(project: Project, target: Target, configuration: String?, skipSigning: Bool) -> [XcodeBuildArgument] { + public func buildArguments(project: Project, target: Target, configuration: String?, + skipSigning: Bool) -> [XcodeBuildArgument] + { var arguments: [XcodeBuildArgument] if target.platform == .macOS { arguments = [.sdk(target.platform.xcodeDeviceSDK)] @@ -68,7 +70,10 @@ public final class BuildGraphInspector: BuildGraphInspecting { if (target.settings ?? project.settings)?.configurations.first(where: { $0.key.name == configuration }) != nil { arguments.append(.configuration(configuration)) } else { - logger.warning("The scheme's targets don't have the given configuration \(configuration). Defaulting to the scheme's default.") + logger + .warning( + "The scheme's targets don't have the given configuration \(configuration). Defaulting to the scheme's default." + ) } } diff --git a/Sources/TuistAutomation/Utilities/TargetBuilder.swift b/Sources/TuistAutomation/Utilities/TargetBuilder.swift index 92be663e6..999e6176e 100644 --- a/Sources/TuistAutomation/Utilities/TargetBuilder.swift +++ b/Sources/TuistAutomation/Utilities/TargetBuilder.swift @@ -91,7 +91,8 @@ public final class TargetBuilder: TargetBuilding { .last() if let buildOutputPath = buildOutputPath { - let configuration = configuration ?? target.project.settings.defaultDebugBuildConfiguration()?.name ?? BuildConfiguration.debug.name + let configuration = configuration ?? target.project.settings.defaultDebugBuildConfiguration()? + .name ?? BuildConfiguration.debug.name try copyBuildProducts( to: buildOutputPath, projectPath: workspacePath, diff --git a/Sources/TuistAutomation/Utilities/TargetRunner.swift b/Sources/TuistAutomation/Utilities/TargetRunner.swift index 5aebc5bf1..b2474fbcc 100644 --- a/Sources/TuistAutomation/Utilities/TargetRunner.swift +++ b/Sources/TuistAutomation/Utilities/TargetRunner.swift @@ -83,7 +83,8 @@ public final class TargetRunner: TargetRunning { ) throws { try assertCanRunTarget(target.target) - let configuration = configuration ?? target.project.settings.defaultDebugBuildConfiguration()?.name ?? BuildConfiguration.debug.name + let configuration = configuration ?? target.project.settings.defaultDebugBuildConfiguration()?.name ?? BuildConfiguration + .debug.name let xcodeBuildDirectory = try xcodeProjectBuildDirectoryLocator.locate( platform: target.target.platform, projectPath: workspacePath, diff --git a/Sources/TuistAutomation/XcodeBuild/XcodeBuildController.swift b/Sources/TuistAutomation/XcodeBuild/XcodeBuildController.swift index aadd28fc3..37e79eaf8 100644 --- a/Sources/TuistAutomation/XcodeBuild/XcodeBuildController.swift +++ b/Sources/TuistAutomation/XcodeBuild/XcodeBuildController.swift @@ -142,10 +142,12 @@ public final class XcodeBuildController: XcodeBuildControlling { return run(command: command, isVerbose: environment.isVerbose) } - public func showBuildSettings(_ target: XcodeBuildTarget, - scheme: String, - configuration: String) -> Single<[String: XcodeBuildSettings]> - { + // swiftlint:disable:next function_body_length + public func showBuildSettings( + _ target: XcodeBuildTarget, + scheme: String, + configuration: String + ) -> Single<[String: XcodeBuildSettings]> { var command = ["/usr/bin/xcrun", "xcodebuild", "archive", "-showBuildSettings", "-skipUnavailableActions"] // Configuration @@ -167,13 +169,17 @@ public final class XcodeBuildController: XcodeBuildControlling { .timeout(DispatchTimeInterval.seconds(20), scheduler: ConcurrentDispatchQueueScheduler(queue: .global())) .retry(5) .flatMap { string -> Observable in - Observable.create { (observer) -> Disposable in + Observable.create { observer -> Disposable in var currentSettings: [String: String] = [:] var currentTarget: String? let flushTarget = { () -> Void in if let currentTarget = currentTarget { - let buildSettings = XcodeBuildSettings(currentSettings, target: currentTarget, configuration: configuration) + let buildSettings = XcodeBuildSettings( + currentSettings, + target: currentTarget, + configuration: configuration + ) observer.onNext(buildSettings) } @@ -182,7 +188,10 @@ public final class XcodeBuildController: XcodeBuildControlling { } string.enumerateLines { line, _ in - if let result = XcodeBuildController.targetSettingsRegex.firstMatch(in: line, range: NSRange(line.startIndex..., in: line)) { + if let result = XcodeBuildController.targetSettingsRegex.firstMatch( + in: line, + range: NSRange(line.startIndex..., in: line) + ) { let targetRange = Range(result.range(at: 1), in: line)! flushTarget() @@ -205,7 +214,7 @@ public final class XcodeBuildController: XcodeBuildControlling { return Disposables.create() } } - .reduce([String: XcodeBuildSettings](), accumulator: { (acc, buildSettings) -> [String: XcodeBuildSettings] in + .reduce([String: XcodeBuildSettings](), accumulator: { acc, buildSettings -> [String: XcodeBuildSettings] in var acc = acc acc[buildSettings.target] = buildSettings return acc diff --git a/Sources/TuistAutomationTesting/Utilities/MockBuildGraphInspector.swift b/Sources/TuistAutomationTesting/Utilities/MockBuildGraphInspector.swift index 99afc093f..25866a6b2 100644 --- a/Sources/TuistAutomationTesting/Utilities/MockBuildGraphInspector.swift +++ b/Sources/TuistAutomationTesting/Utilities/MockBuildGraphInspector.swift @@ -37,7 +37,9 @@ public final class MockBuildGraphInspector: BuildGraphInspecting { } public var buildArgumentsStub: ((Project, Target, String?, Bool) -> [XcodeBuildArgument])? - public func buildArguments(project: Project, target: Target, configuration: String?, skipSigning: Bool) -> [XcodeBuildArgument] { + public func buildArguments(project: Project, target: Target, configuration: String?, + skipSigning: Bool) -> [XcodeBuildArgument] + { if let buildArgumentsStub = buildArgumentsStub { return buildArgumentsStub(project, target, configuration, skipSigning) } else { diff --git a/Sources/TuistAutomationTesting/Utilities/MockTargetRunner.swift b/Sources/TuistAutomationTesting/Utilities/MockTargetRunner.swift index 4abfff9da..afd7a2ecf 100644 --- a/Sources/TuistAutomationTesting/Utilities/MockTargetRunner.swift +++ b/Sources/TuistAutomationTesting/Utilities/MockTargetRunner.swift @@ -6,7 +6,10 @@ import TuistGraph public final class MockTargetRunner: TargetRunning { public init() {} - public var runTargetStub: ((GraphTarget, AbsolutePath, String, String?, Version?, Version?, String?, [String]) throws -> Void)? + public var runTargetStub: ( + (GraphTarget, AbsolutePath, String, String?, Version?, Version?, String?, [String]) throws + -> Void + )? public func runTarget( _ target: GraphTarget, workspacePath: AbsolutePath, diff --git a/Sources/TuistCache/Cache/Cache.swift b/Sources/TuistCache/Cache/Cache.swift index 7b6248a0f..abd568993 100644 --- a/Sources/TuistCache/Cache/Cache.swift +++ b/Sources/TuistCache/Cache/Cache.swift @@ -25,11 +25,11 @@ public final class Cache: CacheStoring { public func exists(name: String, hash: String) -> Single { /// It calls exists sequentially until one of the storages returns true. - return storages.reduce(Single.just(false)) { (result, next) -> Single in + return storages.reduce(Single.just(false)) { result, next -> Single in result.flatMap { exists in guard !exists else { return result } return next.exists(name: name, hash: hash) - }.catchError { (_) -> Single in + }.catchError { _ -> Single in next.exists(name: name, hash: hash) } } @@ -37,7 +37,7 @@ public final class Cache: CacheStoring { public func fetch(name: String, hash: String) -> Single { return storages - .reduce(nil) { (result, next) -> Single in + .reduce(nil) { result, next -> Single in if let result = result { return result.catchError { _ in next.fetch(name: name, hash: hash) } } else { diff --git a/Sources/TuistCache/Cache/CacheLocalStorage.swift b/Sources/TuistCache/Cache/CacheLocalStorage.swift index af10306b7..d76137098 100644 --- a/Sources/TuistCache/Cache/CacheLocalStorage.swift +++ b/Sources/TuistCache/Cache/CacheLocalStorage.swift @@ -39,14 +39,14 @@ public final class CacheLocalStorage: CacheStoring { // MARK: - CacheStoring public func exists(name _: String, hash: String) -> Single { - Single.create { (completed) -> Disposable in + Single.create { completed -> Disposable in completed(.success(self.lookupCompiledArtifact(directory: self.cacheDirectory.appending(component: hash)) != nil)) return Disposables.create() } } public func fetch(name _: String, hash: String) -> Single { - Single.create { (completed) -> Disposable in + Single.create { completed -> Disposable in if let path = self.lookupCompiledArtifact(directory: self.cacheDirectory.appending(component: hash)) { completed(.success(path)) } else { @@ -57,7 +57,7 @@ public final class CacheLocalStorage: CacheStoring { } public func store(name _: String, hash: String, paths: [AbsolutePath]) -> Completable { - let copy = Completable.create { (completed) -> Disposable in + let copy = Completable.create { completed -> Disposable in let hashFolder = self.cacheDirectory.appending(component: hash) do { @@ -94,7 +94,7 @@ public final class CacheLocalStorage: CacheStoring { } fileprivate func createCacheDirectory() -> Completable { - Completable.create { (completed) -> Disposable in + Completable.create { completed -> Disposable in do { if !FileHandler.shared.exists(self.cacheDirectory) { try FileHandler.shared.createFolder(self.cacheDirectory) diff --git a/Sources/TuistCache/Cache/CacheRemoteStorage.swift b/Sources/TuistCache/Cache/CacheRemoteStorage.swift index d96b32132..3f750e9da 100644 --- a/Sources/TuistCache/Cache/CacheRemoteStorage.swift +++ b/Sources/TuistCache/Cache/CacheRemoteStorage.swift @@ -34,7 +34,9 @@ public final class CacheRemoteStorage: CacheStoring { // MARK: - Init - public convenience init(cloudConfig: Cloud, cloudClient: CloudClienting, cacheDirectoriesProvider: CacheDirectoriesProviding) { + public convenience init(cloudConfig: Cloud, cloudClient: CloudClienting, + cacheDirectoriesProvider: CacheDirectoriesProviding) + { self.init( cloudClient: cloudClient, fileArchiverFactory: FileArchivingFactory(), @@ -115,7 +117,7 @@ public final class CacheRemoteStorage: CacheStoring { return cloudClient .request(storeResource) - .map { (responseTuple) -> URL in responseTuple.object.data.url } + .map { responseTuple -> URL in responseTuple.object.data.url } .flatMapCompletable { (url: URL) in let deleteCompletable = self.deleteZipArchiveCompletable(archiver: archiver) return self.fileClient.upload(file: destinationZipPath, hash: hash, to: url) diff --git a/Sources/TuistCache/ContentHashing/DependenciesContentHasher.swift b/Sources/TuistCache/ContentHashing/DependenciesContentHasher.swift index 0acfb6315..2ac8b9324 100644 --- a/Sources/TuistCache/ContentHashing/DependenciesContentHasher.swift +++ b/Sources/TuistCache/ContentHashing/DependenciesContentHasher.swift @@ -52,16 +52,20 @@ public final class DependenciesContentHasher: DependenciesContentHashing { // MARK: - DependenciesContentHashing public func hash(graphTarget: GraphTarget, hashedTargets: inout [GraphHashedTarget: String]) throws -> String { - let hashes = try graphTarget.target.dependencies.map { try hash(graphTarget: graphTarget, dependency: $0, hashedTargets: &hashedTargets) } + let hashes = try graphTarget.target.dependencies + .map { try hash(graphTarget: graphTarget, dependency: $0, hashedTargets: &hashedTargets) } return hashes.compactMap { $0 }.joined() } // MARK: - Private - private func hash(graphTarget: GraphTarget, dependency: TargetDependency, hashedTargets: inout [GraphHashedTarget: String]) throws -> String { + private func hash(graphTarget: GraphTarget, dependency: TargetDependency, + hashedTargets: inout [GraphHashedTarget: String]) throws -> String + { switch dependency { case let .target(targetName): - guard let dependencyHash = hashedTargets[GraphHashedTarget(projectPath: graphTarget.path, targetName: targetName)] else { + guard let dependencyHash = hashedTargets[GraphHashedTarget(projectPath: graphTarget.path, targetName: targetName)] + else { throw DependenciesContentHasherError.missingTargetHash( sourceTargetName: graphTarget.target.name, dependencyProjectPath: graphTarget.path, diff --git a/Sources/TuistCache/ContentHashing/GraphContentHasher.swift b/Sources/TuistCache/ContentHashing/GraphContentHasher.swift index 775473f38..39843fb0d 100644 --- a/Sources/TuistCache/ContentHashing/GraphContentHasher.swift +++ b/Sources/TuistCache/ContentHashing/GraphContentHasher.swift @@ -17,13 +17,13 @@ public protocol GraphContentHashing { ) throws -> [GraphTarget: String] } -public extension GraphContentHashing { +extension GraphContentHashing { /// Hashes graph /// - Parameters: /// - graph: Graph to hash /// - filter: If `true`, `TargetNode` is hashed, otherwise it is skipped /// - additionalStrings: Additional strings to be used when hashing graph - func contentHashes( + public func contentHashes( for graph: Graph, filter: (GraphTarget) -> Bool = { _ in true }, additionalStrings: [String] = [] diff --git a/Sources/TuistCache/ContentHashing/TargetContentHasher.swift b/Sources/TuistCache/ContentHashing/TargetContentHasher.swift index 99cba8cab..f10104e98 100644 --- a/Sources/TuistCache/ContentHashing/TargetContentHasher.swift +++ b/Sources/TuistCache/ContentHashing/TargetContentHasher.swift @@ -6,7 +6,8 @@ import TuistSupport public protocol TargetContentHashing { func contentHash(for target: GraphTarget, hashedTargets: inout [GraphHashedTarget: String]) throws -> String - func contentHash(for target: GraphTarget, hashedTargets: inout [GraphHashedTarget: String], additionalStrings: [String]) throws -> String + func contentHash(for target: GraphTarget, hashedTargets: inout [GraphHashedTarget: String], + additionalStrings: [String]) throws -> String } /// `TargetContentHasher` diff --git a/Sources/TuistCache/ContentHashing/TargetScriptsContentHasher.swift b/Sources/TuistCache/ContentHashing/TargetScriptsContentHasher.swift index 1d0fa81a3..347149cc7 100644 --- a/Sources/TuistCache/ContentHashing/TargetScriptsContentHasher.swift +++ b/Sources/TuistCache/ContentHashing/TargetScriptsContentHasher.swift @@ -32,11 +32,15 @@ public final class TargetScriptsContentHasher: TargetScriptsContentHashing { pathsToHash.append(contentsOf: script.outputPaths) pathsToHash.append(contentsOf: script.outputFileListPaths) let fileHashes = try pathsToHash.map { try contentHasher.hash(path: $0) } - stringsToHash.append(contentsOf: fileHashes + - [script.name, - script.tool ?? "", // TODO: don't default to "" - script.order.rawValue] + - script.arguments) + stringsToHash.append( + contentsOf: fileHashes + + [ + script.name, + script.tool ?? "", // TODO: don't default to "" + script.order.rawValue, + ] + + script.arguments + ) } return try contentHasher.hash(stringsToHash) } diff --git a/Sources/TuistCache/Linters/CacheGraphLinter.swift b/Sources/TuistCache/Linters/CacheGraphLinter.swift index 878960f38..db6c9e250 100644 --- a/Sources/TuistCache/Linters/CacheGraphLinter.swift +++ b/Sources/TuistCache/Linters/CacheGraphLinter.swift @@ -20,9 +20,11 @@ public final class CacheGraphLinter: CacheGraphLinting { let targetsWithScripts = targets.filter { $0.target.scripts.count != 0 } if !targetsWithScripts.isEmpty { let message: Logger.Message = """ - The following targets contain scripts that might introduce non-cacheable side-effects: \(targetsWithScripts.map(\.target.name).joined(separator: ", ")). + The following targets contain scripts that might introduce non-cacheable side-effects: \(targetsWithScripts + .map(\.target.name).joined(separator: ", ")). Note that a side-effect is an action that affects the target built products based on a given input (e.g. Xcode build variable). - These warnings can be ignored when the scripts do not have side effects. Please report eventual use cases to the community forum \(Constants.communityURL). + These warnings can be ignored when the scripts do not have side effects. Please report eventual use cases to the community forum \(Constants + .communityURL). """ logger.warning(message) } diff --git a/Sources/TuistCache/Mappers/Graph/TargetsToCacheBinariesGraphMapper.swift b/Sources/TuistCache/Mappers/Graph/TargetsToCacheBinariesGraphMapper.swift index a8b67cda0..4447472ac 100644 --- a/Sources/TuistCache/Mappers/Graph/TargetsToCacheBinariesGraphMapper.swift +++ b/Sources/TuistCache/Mappers/Graph/TargetsToCacheBinariesGraphMapper.swift @@ -117,7 +117,7 @@ public final class TargetsToCacheBinariesGraphMapper: GraphMapping { } private func hashes(graph: Graph) -> Single<[GraphTarget: String]> { - Single.create { (observer) -> Disposable in + Single.create { observer -> Disposable in do { let hashes = try self.cacheGraphContentHasher.contentHashes( for: graph, @@ -149,7 +149,7 @@ public final class TargetsToCacheBinariesGraphMapper: GraphMapping { .zip( hashes.map(context: .concurrent) { target, hash in self.cache.exists(name: target.target.name, hash: hash) - .flatMap { (exists) -> Single<(target: GraphTarget, path: AbsolutePath?)> in + .flatMap { exists -> Single<(target: GraphTarget, path: AbsolutePath?)> in guard exists else { return Single.just((target: target, path: nil)) } return self.cache.fetch(name: target.target.name, hash: hash).map { (target: target, path: $0) } } diff --git a/Sources/TuistCache/Mappers/Graph/TreeShakePrunedTargetsGraphMapper.swift b/Sources/TuistCache/Mappers/Graph/TreeShakePrunedTargetsGraphMapper.swift index 74df518a0..7063af0bf 100644 --- a/Sources/TuistCache/Mappers/Graph/TreeShakePrunedTargetsGraphMapper.swift +++ b/Sources/TuistCache/Mappers/Graph/TreeShakePrunedTargetsGraphMapper.swift @@ -7,9 +7,9 @@ public final class TreeShakePrunedTargetsGraphMapper: GraphMapping { public init() {} public func map(graph: Graph) throws -> (Graph, [SideEffectDescriptor]) { - let sourceTargets: Set = Set(graph.targets.flatMap { (projectPath, targets) -> [TargetReference] in + let sourceTargets: Set = Set(graph.targets.flatMap { projectPath, targets -> [TargetReference] in guard graph.projects[projectPath] != nil else { return [] } - return targets.compactMap { (_, target) -> TargetReference? in + return targets.compactMap { _, target -> TargetReference? in if target.prune { return nil } return TargetReference(projectPath: projectPath, name: target.name) } @@ -64,8 +64,10 @@ public final class TreeShakePrunedTargetsGraphMapper: GraphMapping { return workspace } - fileprivate func treeShake(targets: [Target], path: AbsolutePath, graph: Graph, sourceTargets: Set) -> [Target] { - targets.compactMap { (target) -> Target? in + fileprivate func treeShake(targets: [Target], path: AbsolutePath, graph: Graph, + sourceTargets: Set) -> [Target] + { + targets.compactMap { target -> Target? in guard let target = graph.targets[path, default: [:]][target.name] else { return nil } let targetReference = TargetReference(projectPath: path, name: target.name) guard sourceTargets.contains(targetReference) else { return nil } diff --git a/Sources/TuistCache/Utilities/CacheFrameworkBuilder.swift b/Sources/TuistCache/Utilities/CacheFrameworkBuilder.swift index 0aaf42418..0edfdf0e3 100644 --- a/Sources/TuistCache/Utilities/CacheFrameworkBuilder.swift +++ b/Sources/TuistCache/Utilities/CacheFrameworkBuilder.swift @@ -114,10 +114,15 @@ public final class CacheFrameworkBuilder: CacheArtifactBuilding { case .macOS: return .just("platform=OS X,arch=x86_64") } - return simulatorController.findAvailableDevice(platform: mappedPlatform, version: version, minVersion: nil, deviceName: deviceName) - .flatMap { (deviceAndRuntime) -> Single in - .just("id=\(deviceAndRuntime.device.udid)") - } + return simulatorController.findAvailableDevice( + platform: mappedPlatform, + version: version, + minVersion: nil, + deviceName: deviceName + ) + .flatMap { deviceAndRuntime -> Single in + .just("id=\(deviceAndRuntime.device.udid)") + } } fileprivate func xcodebuild(projectTarget: XcodeBuildTarget, diff --git a/Sources/TuistCache/Utilities/CacheXCFrameworkBuilder.swift b/Sources/TuistCache/Utilities/CacheXCFrameworkBuilder.swift index 62dadcf4d..71c9773d3 100644 --- a/Sources/TuistCache/Utilities/CacheXCFrameworkBuilder.swift +++ b/Sources/TuistCache/Utilities/CacheXCFrameworkBuilder.swift @@ -77,7 +77,10 @@ public final class CacheXCFrameworkBuilder: CacheArtifactBuilding { let xcframeworkPath = outputDirectory.appending(component: "\(productName).xcframework") try buildXCFramework(frameworks: frameworkpaths, output: xcframeworkPath) - try FileHandler.shared.move(from: xcframeworkPath, to: outputDirectory.appending(component: xcframeworkPath.basename)) + try FileHandler.shared.move( + from: xcframeworkPath, + to: outputDirectory.appending(component: xcframeworkPath.basename) + ) } } } diff --git a/Sources/TuistCacheTesting/Cache/Mocks/MockCacheArtifactBuilder.swift b/Sources/TuistCacheTesting/Cache/Mocks/MockCacheArtifactBuilder.swift index e06747501..b0225a987 100644 --- a/Sources/TuistCacheTesting/Cache/Mocks/MockCacheArtifactBuilder.swift +++ b/Sources/TuistCacheTesting/Cache/Mocks/MockCacheArtifactBuilder.swift @@ -23,8 +23,13 @@ public final class MockCacheArtifactBuilder: CacheArtifactBuilding { public var invokedBuildSchemeProject = false public var invokedBuildSchemeProjectCount = 0 // swiftlint:disable:next large_tuple - public var invokedBuildSchemeProjectParameters: (scheme: Scheme, projectTarget: XcodeBuildTarget, outputDirectory: AbsolutePath)? - public var invokedBuildchemeProjectParametersList = [(scheme: Scheme, projectTarget: XcodeBuildTarget, outputDirectory: AbsolutePath)]() + public var invokedBuildSchemeProjectParameters: ( + scheme: Scheme, + projectTarget: XcodeBuildTarget, + outputDirectory: AbsolutePath + )? + public var invokedBuildchemeProjectParametersList = + [(scheme: Scheme, projectTarget: XcodeBuildTarget, outputDirectory: AbsolutePath)]() public var stubbedBuildSchemeProjectError: Error? public func build( scheme: Scheme, diff --git a/Sources/TuistCacheTesting/Cache/Mocks/MockCloudCacheResponseFactory.swift b/Sources/TuistCacheTesting/Cache/Mocks/MockCloudCacheResponseFactory.swift index db8226a76..edec7429b 100644 --- a/Sources/TuistCacheTesting/Cache/Mocks/MockCloudCacheResponseFactory.swift +++ b/Sources/TuistCacheTesting/Cache/Mocks/MockCloudCacheResponseFactory.swift @@ -21,7 +21,9 @@ public class MockCloudCacheResourceFactory: CloudCacheResourceFactorying { parseError: { _, _ in CloudEmptyResponseError() } ) - public func existsResource(name: String, hash: String) throws -> HTTPResource, CloudEmptyResponseError> { + public func existsResource(name: String, + hash: String) throws -> HTTPResource, CloudEmptyResponseError> + { invokedExistsResource = true invokedExistsResourceCount += 1 invokedExistsResourceParameters = (name, hash, ()) @@ -56,7 +58,12 @@ public class MockCloudCacheResourceFactory: CloudCacheResourceFactorying { public var invokedStoreResource = false public var invokedStoreResourceCount = 0 - public var invokedStoreResourceParameters: (name: String, hash: String, contentMD5: String)? // swiftlint:disable:this large_tuple + // swiftlint:disable:next large_tuple + public var invokedStoreResourceParameters: ( + name: String, + hash: String, + contentMD5: String + )? public var invokedStoreResourceParametersList = [(name: String, hash: String, contentMD5: String)]() public var stubbedStoreResourceError: Error? public var stubbedStoreResourceResult: CloudCacheResource = HTTPResource( @@ -78,8 +85,12 @@ public class MockCloudCacheResourceFactory: CloudCacheResourceFactorying { public var invokedVerifyUploadResource = false public var invokedVerifyUploadResourceCount = 0 - public var invokedVerifyUploadResourceParameters: (name: String, hash: String, contentMD5: String)? // swiftlint:disable:this large_tuple - // swiftlint:disable:next identifier_name + // swiftlint:disable:next large_tuple + public var invokedVerifyUploadResourceParameters: ( + name: String, + hash: String, + contentMD5: String + )? public var invokedVerifyUploadResourceParametersList = [(name: String, hash: String, contentMD5: String)]() public var stubbedVerifyUploadResourceError: Error? public var stubbedVerifyUploadResourceResult: CloudVerifyUploadResource = HTTPResource( diff --git a/Sources/TuistCacheTesting/ContentHashing/Mocks/MockCacheGraphContentHasher.swift b/Sources/TuistCacheTesting/ContentHashing/Mocks/MockCacheGraphContentHasher.swift index 11cce7508..f001120af 100644 --- a/Sources/TuistCacheTesting/ContentHashing/Mocks/MockCacheGraphContentHasher.swift +++ b/Sources/TuistCacheTesting/ContentHashing/Mocks/MockCacheGraphContentHasher.swift @@ -6,7 +6,10 @@ import TuistGraph public final class MockCacheGraphContentHasher: CacheGraphContentHashing { public init() {} - public var contentHashesStub: ((Graph, TuistGraph.Cache.Profile, CacheOutputType, Set) throws -> [GraphTarget: String])? + public var contentHashesStub: ( + (Graph, TuistGraph.Cache.Profile, CacheOutputType, Set) throws + -> [GraphTarget: String] + )? public func contentHashes( for graph: Graph, cacheProfile: TuistGraph.Cache.Profile, diff --git a/Sources/TuistCloud/Client/CloudClient.swift b/Sources/TuistCloud/Client/CloudClient.swift index a92c94946..77710c07a 100644 --- a/Sources/TuistCloud/Client/CloudClient.swift +++ b/Sources/TuistCloud/Client/CloudClient.swift @@ -13,7 +13,11 @@ public class CloudClient: CloudClienting { private var noRedirectDelegate: NoRedirectDelegate? // swiftlint:disable:this weak_delegate lazy var requestDispatcher: HTTPRequestDispatching = { noRedirectDelegate = NoRedirectDelegate() - return HTTPRequestDispatcher(session: URLSession(configuration: .default, delegate: noRedirectDelegate, delegateQueue: nil)) + return HTTPRequestDispatcher(session: URLSession( + configuration: .default, + delegate: noRedirectDelegate, + delegateQueue: nil + )) }() // MARK: - Init @@ -25,7 +29,7 @@ public class CloudClient: CloudClienting { // MARK: - Public public func request(_ resource: HTTPResource) -> Single<(object: T, response: HTTPURLResponse)> { - Single>.create { (observer) -> Disposable in + Single>.create { observer -> Disposable in do { observer(.success(try self.resourceWithHeaders(resource))) } catch { @@ -38,7 +42,7 @@ public class CloudClient: CloudClienting { // MARK: - Fileprivate private func resourceWithHeaders(_ resource: HTTPResource) throws -> HTTPResource { - try resource.mappingRequest { (request) -> URLRequest in + try resource.mappingRequest { request -> URLRequest in var request = request if request.allHTTPHeaderFields == nil { request.allHTTPHeaderFields = [:] } request.allHTTPHeaderFields?["Content-Type"] = "application/json;" diff --git a/Sources/TuistCore/Automation/Extensions/Observable+XcodeBuildOutput.swift b/Sources/TuistCore/Automation/Extensions/Observable+XcodeBuildOutput.swift index 5091ad3a4..baa9ee341 100644 --- a/Sources/TuistCore/Automation/Extensions/Observable+XcodeBuildOutput.swift +++ b/Sources/TuistCore/Automation/Extensions/Observable+XcodeBuildOutput.swift @@ -2,8 +2,8 @@ import Foundation import RxSwift import TuistSupport -public extension Observable where Element == SystemEvent { - func printFormattedOutput() -> Observable> { +extension Observable where Element == SystemEvent { + public func printFormattedOutput() -> Observable> { `do`(onNext: { event in switch event { case let .standardError(error): @@ -14,7 +14,7 @@ public extension Observable where Element == SystemEvent { }) } - func printRawErrors() -> Observable> { + public func printRawErrors() -> Observable> { `do`(onNext: { event in switch event { case let .standardError(error): diff --git a/Sources/TuistCore/Cache/CacheDirectoriesProvider.swift b/Sources/TuistCore/Cache/CacheDirectoriesProvider.swift index 18d44e9b3..8389c72fc 100644 --- a/Sources/TuistCore/Cache/CacheDirectoriesProvider.swift +++ b/Sources/TuistCore/Cache/CacheDirectoriesProvider.swift @@ -10,7 +10,8 @@ public protocol CacheDirectoriesProviding { public final class CacheDirectoriesProvider: CacheDirectoriesProviding { public let cacheDirectory: AbsolutePath - private static let defaultDirectory = AbsolutePath(URL(fileURLWithPath: NSHomeDirectory()).path).appending(component: ".tuist") + private static let defaultDirectory = AbsolutePath(URL(fileURLWithPath: NSHomeDirectory()).path) + .appending(component: ".tuist") public init(config: Config?) { if let cacheDirectory = config?.cache?.path { diff --git a/Sources/TuistCore/Graph/GraphLoader.swift b/Sources/TuistCore/Graph/GraphLoader.swift index 67b6f7141..52b10cb7b 100644 --- a/Sources/TuistCore/Graph/GraphLoader.swift +++ b/Sources/TuistCore/Graph/GraphLoader.swift @@ -130,7 +130,7 @@ public final class GraphLoader: GraphLoading { throw GraphLoadingError.missingProject(path) } guard let referencedTargetProject = cache.allTargets[path], - let target = referencedTargetProject[name] + let target = referencedTargetProject[name] else { throw GraphLoadingError.targetNotFound(name, path) } @@ -281,7 +281,12 @@ public final class GraphLoader: GraphLoading { status: SDKStatus, source: SDKSource) throws -> GraphDependency { - let metadata = try systemFrameworkMetadataProvider.loadMetadata(sdkName: name, status: status, platform: platform, source: source) + let metadata = try systemFrameworkMetadataProvider.loadMetadata( + sdkName: name, + status: status, + platform: platform, + source: source + ) return .sdk(name: metadata.name, path: metadata.path, status: metadata.status, source: metadata.source) } @@ -354,8 +359,8 @@ public final class GraphLoader: GraphLoading { } } -private extension Package { - var name: String { +extension Package { + fileprivate var name: String { switch self { case let .local(path: path): return path.pathString diff --git a/Sources/TuistCore/Graph/GraphTraverser.swift b/Sources/TuistCore/Graph/GraphTraverser.swift index 8b584c87f..c85856d2e 100644 --- a/Sources/TuistCore/Graph/GraphTraverser.swift +++ b/Sources/TuistCore/Graph/GraphTraverser.swift @@ -36,7 +36,7 @@ public class GraphTraverser: GraphTraversing { } public func allTargets() -> Set { - Set(projects.flatMap { (projectPath, project) -> [GraphTarget] in + Set(projects.flatMap { projectPath, project -> [GraphTarget] in let targets = graph.targets[projectPath, default: [:]] return targets.values.map { target in GraphTarget(path: projectPath, target: target, project: project) @@ -96,7 +96,7 @@ public class GraphTraverser: GraphTraversing { let targetDependencies = dependencies .compactMap(\.targetDependency) - return Set(targetDependencies.flatMap { (dependencyName, dependencyPath) -> [GraphTarget] in + return Set(targetDependencies.flatMap { dependencyName, dependencyPath -> [GraphTarget] in guard let projectDependencies = graph.targets[dependencyPath], let dependencyTarget = projectDependencies[dependencyName], @@ -115,9 +115,9 @@ public class GraphTraverser: GraphTraversing { let localTargetDependencies = dependencies .compactMap(\.targetDependency) .filter { $0.path == path } - return Set(localTargetDependencies.flatMap { (dependencyName, dependencyPath) -> [GraphTarget] in + return Set(localTargetDependencies.flatMap { dependencyName, dependencyPath -> [GraphTarget] in guard let projectDependencies = graph.targets[dependencyPath], - let dependencyTarget = projectDependencies[dependencyName] + let dependencyTarget = projectDependencies[dependencyName] else { return [] } @@ -144,10 +144,14 @@ public class GraphTraverser: GraphTraversing { public func testTargetsDependingOn(path: AbsolutePath, name: String) -> Set { guard let project = graph.projects[path] else { return Set() } - return Set(graph.targets[path]?.values - .filter { $0.product.testsBundle } - .filter { graph.dependencies[.target(name: $0.name, path: path)]?.contains(.target(name: name, path: path)) == true } - .map { GraphTarget(path: path, target: $0, project: project) } ?? []) + return Set( + graph.targets[path]?.values + .filter { $0.product.testsBundle } + .filter { + graph.dependencies[.target(name: $0.name, path: path)]?.contains(.target(name: name, path: path)) == true + } + .map { GraphTarget(path: path, target: $0, project: project) } ?? [] + ) } public func target(from dependency: GraphDependency) -> GraphTarget? { @@ -163,8 +167,10 @@ public class GraphTraverser: GraphTraversing { let validProducts: [Product] = [ .appExtension, .stickerPackExtension, .watch2Extension, .tvTopShelfExtension, .messagesExtension, ] - return Set(directLocalTargetDependencies(path: path, name: name) - .filter { validProducts.contains($0.target.product) }) + return Set( + directLocalTargetDependencies(path: path, name: name) + .filter { validProducts.contains($0.target.product) } + ) } public func appClipDependencies(path: AbsolutePath, name: String) -> GraphTarget? { @@ -173,21 +179,29 @@ public class GraphTraverser: GraphTraversing { } public func directStaticDependencies(path: AbsolutePath, name: String) -> Set { - Set(graph.dependencies[.target(name: name, path: path)]? - .compactMap { (dependency: GraphDependency) -> (path: AbsolutePath, name: String)? in - guard case let GraphDependency.target(name, path) = dependency else { - return nil + Set( + graph.dependencies[.target(name: name, path: path)]? + .compactMap { (dependency: GraphDependency) -> (path: AbsolutePath, name: String)? in + guard case let GraphDependency.target(name, path) = dependency else { + return nil + } + return (path, name) } - return (path, name) - } - .compactMap { graph.targets[$0.path]?[$0.name] } - .filter { $0.product.isStatic } - .map { .product(target: $0.name, productName: $0.productNameWithExtension, platformFilter: $0.targetDependencyBuildFilesPlatformFilter) } - ?? []) + .compactMap { graph.targets[$0.path]?[$0.name] } + .filter { $0.product.isStatic } + .map { + .product( + target: $0.name, + productName: $0.productNameWithExtension, + platformFilter: $0.targetDependencyBuildFilesPlatformFilter + ) + } + ?? [] + ) } public func embeddableFrameworks(path: AbsolutePath, name: String) -> Set { - guard let target = self.target(path: path, name: name), canEmbedProducts(target: target.target) else { return Set() } + guard let target = target(path: path, name: name), canEmbedProducts(target: target.target) else { return Set() } var references: Set = Set([]) @@ -237,14 +251,14 @@ public class GraphTraverser: GraphTraversing { name: String, shouldExcludeHostAppDependencies: Bool ) throws -> Set { - guard let target = self.target(path: path, name: name) else { return Set() } + guard let target = target(path: path, name: name) else { return Set() } var references = Set() // System libraries and frameworks if target.target.canLinkStaticProducts() { let transitiveSystemLibraries = transitiveStaticTargets(from: .target(name: name, path: path)) - .flatMap { (dependency) -> [GraphDependencyReference] in + .flatMap { dependency -> [GraphDependencyReference] in let dependencies = self.graph.dependencies[dependency, default: []] return dependencies.compactMap { dependencyDependency -> GraphDependencyReference? in guard case let GraphDependency.sdk(_, path, status, source) = dependencyDependency else { return nil } @@ -299,16 +313,16 @@ public class GraphTraverser: GraphTraversing { // however, for search paths it's fine to keep them included let hostApplicationStaticTargets: Set if target.target.product == .unitTests, shouldExcludeHostAppDependencies, - let hostApp = hostApplication(path: path, name: name) + let hostApp = hostApplication(path: path, name: name) { - hostApplicationStaticTargets = transitiveStaticDependencies(from: .target(name: hostApp.target.name, path: hostApp.project.path)) + hostApplicationStaticTargets = + transitiveStaticDependencies(from: .target(name: hostApp.target.name, path: hostApp.project.path)) } else { hostApplicationStaticTargets = Set() } let transitiveStaticTargetReferences = transitiveStaticTargets - // swiftlint:disable:next identifier_name let staticDependenciesDynamicLibrariesAndFrameworks = transitiveStaticTargets.flatMap { dependency in self.graph.dependencies[dependency, default: []] .lazy @@ -316,16 +330,17 @@ public class GraphTraverser: GraphTraversing { .filter(isDependencyDynamicTarget) } - // swiftlint:disable:next identifier_name let staticDependenciesPrecompiledLibrariesAndFrameworks = transitiveStaticTargets.flatMap { dependency in self.graph.dependencies[dependency, default: []] .lazy .filter(\.isPrecompiled) } - let allDependencies = (transitiveStaticTargetReferences - + staticDependenciesDynamicLibrariesAndFrameworks - + staticDependenciesPrecompiledLibrariesAndFrameworks) + let allDependencies = ( + transitiveStaticTargetReferences + + staticDependenciesDynamicLibrariesAndFrameworks + + staticDependenciesPrecompiledLibrariesAndFrameworks + ) references.formUnion( allDependencies @@ -346,7 +361,7 @@ public class GraphTraverser: GraphTraversing { } public func copyProductDependencies(path: AbsolutePath, name: String) -> Set { - guard let target = self.target(path: path, name: name) else { return Set() } + guard let target = target(path: path, name: name) else { return Set() } var dependencies = Set() @@ -388,9 +403,9 @@ public class GraphTraverser: GraphTraversing { public func runPathSearchPaths(path: AbsolutePath, name: String) -> Set { guard let target = target(path: path, name: name), - canEmbedProducts(target: target.target), - target.target.product == .unitTests, - hostApplication(path: path, name: name) == nil + canEmbedProducts(target: target.target), + target.target.product == .unitTests, + hostApplication(path: path, name: name) == nil else { return Set() } @@ -425,7 +440,7 @@ public class GraphTraverser: GraphTraversing { guard let targets = graph.targets[path] else { return nil } guard let project = graph.projects[path] else { return nil } - return targets.values.compactMap { (target) -> GraphTarget? in + return targets.values.compactMap { target -> GraphTarget? in let dependencies = self.graph.dependencies[.target(name: target.name, path: path), default: Set()] let dependsOnTarget = dependencies.contains(where: { dependency in // swiftlint:disable:next identifier_name @@ -576,7 +591,7 @@ public class GraphTraverser: GraphTraversing { func isDependencyStaticTarget(dependency: GraphDependency) -> Bool { guard case let GraphDependency.target(name, path) = dependency, - let target = self.target(path: path, name: name) else { return false } + let target = target(path: path, name: name) else { return false } return target.target.product.isStatic } @@ -589,7 +604,7 @@ public class GraphTraverser: GraphTraversing { case .bundle: return false case .packageProduct: return false case let .target(name, path): - guard let target = self.target(path: path, name: name) else { return false } + guard let target = target(path: path, name: name) else { return false } return target.target.product.isStatic case .sdk: return false } @@ -597,13 +612,13 @@ public class GraphTraverser: GraphTraversing { func isDependencyDynamicLibrary(dependency: GraphDependency) -> Bool { guard case let GraphDependency.target(name, path) = dependency, - let target = self.target(path: path, name: name) else { return false } + let target = target(path: path, name: name) else { return false } return target.target.product == .dynamicLibrary } func isDependencyFramework(dependency: GraphDependency) -> Bool { guard case let GraphDependency.target(name, path) = dependency, - let target = self.target(path: path, name: name) else { return false } + let target = target(path: path, name: name) else { return false } return target.target.product == .framework } @@ -615,7 +630,7 @@ public class GraphTraverser: GraphTraversing { case .bundle: return false case .packageProduct: return false case let .target(name, path): - guard let target = self.target(path: path, name: name) else { return false } + guard let target = target(path: path, name: name) else { return false } return target.target.product.isDynamic case .sdk: return false } @@ -636,13 +651,13 @@ public class GraphTraverser: GraphTraversing { func canDependencyEmbedProducts(dependency: GraphDependency) -> Bool { guard case let GraphDependency.target(name, path) = dependency, - let target = self.target(path: path, name: name) else { return false } + let target = target(path: path, name: name) else { return false } return canEmbedProducts(target: target.target) } func canDependencyLinkStaticProducts(dependency: GraphDependency) -> Bool { guard case let GraphDependency.target(name, path) = dependency, - let target = self.target(path: path, name: name) else { return false } + let target = target(path: path, name: name) else { return false } return target.target.canLinkStaticProducts() } @@ -692,7 +707,7 @@ public class GraphTraverser: GraphTraversing { source: source ) case let .target(name, path): - guard let target = self.target(path: path, name: name) else { return nil } + guard let target = target(path: path, name: name) else { return nil } return .product( target: target.target.name, productName: target.target.productNameWithExtension, diff --git a/Sources/TuistCore/Graph/ModelExtensions/Project+Core.swift b/Sources/TuistCore/Graph/ModelExtensions/Project+Core.swift index 2505ac105..3e15b85ba 100644 --- a/Sources/TuistCore/Graph/ModelExtensions/Project+Core.swift +++ b/Sources/TuistCore/Graph/ModelExtensions/Project+Core.swift @@ -8,7 +8,7 @@ extension Project { /// - Parameter graph: Dependencies graph. /// - Returns: Sorted targets. public func sortedTargetsForProjectScheme(graph: Graph) -> [Target] { - targets.sorted { (first, second) -> Bool in + targets.sorted { first, second -> Bool in // First criteria: Test bundles at the end if first.product.testsBundle, !second.product.testsBundle { return false diff --git a/Sources/TuistCore/Graph/ModelExtensions/Scheme+Core.swift b/Sources/TuistCore/Graph/ModelExtensions/Scheme+Core.swift index 3b3aabb63..ba58c98cd 100644 --- a/Sources/TuistCore/Graph/ModelExtensions/Scheme+Core.swift +++ b/Sources/TuistCore/Graph/ModelExtensions/Scheme+Core.swift @@ -18,6 +18,6 @@ extension Scheme { ] let targets = targetSources.compactMap { $0 }.flatMap { $0 }.uniqued() - return targets.sorted { ($0.name < $1.name) } + return targets.sorted { $0.name < $1.name } } } diff --git a/Sources/TuistCore/Graph/ModelExtensions/Target+Core.swift b/Sources/TuistCore/Graph/ModelExtensions/Target+Core.swift index 2e6c13bc7..1895b0d0b 100644 --- a/Sources/TuistCore/Graph/ModelExtensions/Target+Core.swift +++ b/Sources/TuistCore/Graph/ModelExtensions/Target+Core.swift @@ -11,7 +11,8 @@ public enum TargetError: FatalError, Equatable { public var description: String { switch self { case let .invalidSourcesGlob(targetName: targetName, invalidGlobs: invalidGlobs): - return "The target \(targetName) has the following invalid source files globs:\n" + invalidGlobs.invalidGlobsDescription + return "The target \(targetName) has the following invalid source files globs:\n" + invalidGlobs + .invalidGlobsDescription } } } diff --git a/Sources/TuistCore/GraphTraverser/GraphTraversing.swift b/Sources/TuistCore/GraphTraverser/GraphTraversing.swift index 2237b66d6..4f70433c9 100644 --- a/Sources/TuistCore/GraphTraverser/GraphTraversing.swift +++ b/Sources/TuistCore/GraphTraverser/GraphTraversing.swift @@ -172,8 +172,8 @@ public protocol GraphTraversing { func dependsOnXCTest(path: AbsolutePath, name: String) -> Bool } -public extension GraphTraversing { - func apps() -> Set { +extension GraphTraversing { + public func apps() -> Set { targets(product: .app) } } diff --git a/Sources/TuistCore/MetadataProviders/PrecompiledMetadataProvider.swift b/Sources/TuistCore/MetadataProviders/PrecompiledMetadataProvider.swift index 7561fe547..61b49e929 100644 --- a/Sources/TuistCore/MetadataProviders/PrecompiledMetadataProvider.swift +++ b/Sources/TuistCore/MetadataProviders/PrecompiledMetadataProvider.swift @@ -106,8 +106,11 @@ public class PrecompiledMetadataProvider: PrecompiledMetadataProviding { } } - // swiftlint:disable:next large_tuple - private func readMetadatasFromFatHeader(binary: FileHandle, binaryPath: AbsolutePath) throws -> [(BinaryArchitecture, BinaryLinking, UUID?)] { + private func readMetadatasFromFatHeader( + binary: FileHandle, + binaryPath: AbsolutePath + // swiftlint:disable:next large_tuple + ) throws -> [(BinaryArchitecture, BinaryLinking, UUID?)] { let currentOffset = binary.currentOffset let magic: UInt32 = binary.read() binary.seek(to: currentOffset) @@ -262,18 +265,18 @@ public class PrecompiledMetadataProvider: PrecompiledMetadataProviding { } } -private extension FileHandle { - var currentOffset: UInt64 { offsetInFile } +extension FileHandle { + fileprivate var currentOffset: UInt64 { offsetInFile } - func seek(to offset: UInt64) { + fileprivate func seek(to offset: UInt64) { seek(toFileOffset: offset) } - func read() -> T { + fileprivate func read() -> T { readData(ofLength: MemoryLayout.size).withUnsafeBytes { $0.load(as: T.self) } } - func readString(ofLength length: Int) -> String? { + fileprivate func readString(ofLength length: Int) -> String? { let sizeData = readData(ofLength: length) return String(data: sizeData, encoding: .ascii) } diff --git a/Sources/TuistCore/MetadataProviders/SystemFrameworksMetadataProvider.swift b/Sources/TuistCore/MetadataProviders/SystemFrameworksMetadataProvider.swift index 6b536c669..0d552fb9a 100644 --- a/Sources/TuistCore/MetadataProviders/SystemFrameworksMetadataProvider.swift +++ b/Sources/TuistCore/MetadataProviders/SystemFrameworksMetadataProvider.swift @@ -44,10 +44,12 @@ extension SystemFrameworkMetadataProviding { public final class SystemFrameworkMetadataProvider: SystemFrameworkMetadataProviding { public init() {} - public func loadMetadata(sdkName: String, status: SDKStatus, platform: Platform, source: SDKSource) throws -> SystemFrameworkMetadata { + public func loadMetadata(sdkName: String, status: SDKStatus, platform: Platform, + source: SDKSource) throws -> SystemFrameworkMetadata + { let sdkNamePath = AbsolutePath("/\(sdkName)") guard let sdkExtension = sdkNamePath.extension, - let sdkType = SDKType(rawValue: sdkExtension) + let sdkType = SDKType(rawValue: sdkExtension) else { throw SystemFrameworkMetadataProviderError.unsupportedSDK(name: sdkName) } diff --git a/Sources/TuistCore/MetadataProviders/XCFrameworkMetadataProvider.swift b/Sources/TuistCore/MetadataProviders/XCFrameworkMetadataProvider.swift index 463cff9dd..7e612341a 100644 --- a/Sources/TuistCore/MetadataProviders/XCFrameworkMetadataProvider.swift +++ b/Sources/TuistCore/MetadataProviders/XCFrameworkMetadataProvider.swift @@ -93,13 +93,20 @@ public final class XCFrameworkMetadataProvider: PrecompiledMetadataProvider, XCF guard let library = libraries.first(where: { let hasValidArchitectures = !$0.architectures.filter(archs.contains).isEmpty - guard hasValidArchitectures, let binaryPath = try? path(for: $0, binaryName: binaryName, xcframeworkPath: xcframeworkPath) else { + guard hasValidArchitectures, let binaryPath = try? path( + for: $0, + binaryName: binaryName, + xcframeworkPath: xcframeworkPath + ) else { return false } guard FileHandler.shared.exists(binaryPath) else { // The missing slice relative to the XCFramework folder. e.g ios-x86_64-simulator/Alamofire.framework/Alamofire let relativeArchitectureBinaryPath = binaryPath.components.suffix(3).joined(separator: "/") - logger.warning("\(xcframeworkPath.basename) is missing architecture \(relativeArchitectureBinaryPath) defined in the Info.plist") + logger + .warning( + "\(xcframeworkPath.basename) is missing architecture \(relativeArchitectureBinaryPath) defined in the Info.plist" + ) return false } return true @@ -110,7 +117,9 @@ public final class XCFrameworkMetadataProvider: PrecompiledMetadataProvider, XCF return try path(for: library, binaryName: binaryName, xcframeworkPath: xcframeworkPath) } - private func path(for library: XCFrameworkInfoPlist.Library, binaryName: String, xcframeworkPath: AbsolutePath) throws -> AbsolutePath { + private func path(for library: XCFrameworkInfoPlist.Library, binaryName: String, + xcframeworkPath: AbsolutePath) throws -> AbsolutePath + { let binaryPath: AbsolutePath switch library.path.extension { @@ -122,7 +131,10 @@ public final class XCFrameworkMetadataProvider: PrecompiledMetadataProvider, XCF binaryPath = AbsolutePath(library.identifier, relativeTo: xcframeworkPath) .appending(RelativePath(library.path.pathString)) default: - throw XCFrameworkMetadataProviderError.fileTypeNotRecognised(file: library.path, frameworkName: xcframeworkPath.basename) + throw XCFrameworkMetadataProviderError.fileTypeNotRecognised( + file: library.path, + frameworkName: xcframeworkPath.basename + ) } return binaryPath } diff --git a/Sources/TuistCore/Models/LintingIssue.swift b/Sources/TuistCore/Models/LintingIssue.swift index 5eccf61ab..2e1a89310 100644 --- a/Sources/TuistCore/Models/LintingIssue.swift +++ b/Sources/TuistCore/Models/LintingIssue.swift @@ -35,8 +35,8 @@ public struct LintingIssue: CustomStringConvertible, Equatable { // MARK: - Array Extension (Linting issues) -public extension Array where Element == LintingIssue { - func printAndThrowIfNeeded() throws { +extension Array where Element == LintingIssue { + public func printAndThrowIfNeeded() throws { if count == 0 { return } let errorIssues = filter { $0.severity == .error } diff --git a/Sources/TuistCore/Simulator/SimulatorController.swift b/Sources/TuistCore/Simulator/SimulatorController.swift index df411f3a9..d05e89477 100644 --- a/Sources/TuistCore/Simulator/SimulatorController.swift +++ b/Sources/TuistCore/Simulator/SimulatorController.swift @@ -104,13 +104,13 @@ public final class SimulatorController: SimulatorControlling { let data = output.standardOutput.data(using: .utf8)! let json = try JSONSerialization.jsonObject(with: data, options: []) guard let dictionary = json as? [String: Any], - let devicesJSON = dictionary["devices"] as? [String: [[String: Any]]] + let devicesJSON = dictionary["devices"] as? [String: [[String: Any]]] else { return .just([]) } - let devices = try devicesJSON.flatMap { (runtimeIdentifier, devicesJSON) -> [SimulatorDevice] in - try devicesJSON.map { (deviceJSON) -> SimulatorDevice in + let devices = try devicesJSON.flatMap { runtimeIdentifier, devicesJSON -> [SimulatorDevice] in + try devicesJSON.map { deviceJSON -> SimulatorDevice in var deviceJSON = deviceJSON deviceJSON["runtimeIdentifier"] = runtimeIdentifier let deviceJSONData = try JSONSerialization.data(withJSONObject: deviceJSON, options: []) @@ -135,7 +135,7 @@ public final class SimulatorController: SimulatorControlling { let data = output.standardOutput.data(using: .utf8)! let json = try JSONSerialization.jsonObject(with: data, options: []) guard let dictionary = json as? [String: Any], - let runtimesJSON = dictionary["runtimes"] as? [Any] + let runtimesJSON = dictionary["runtimes"] as? [Any] else { return .just([]) } @@ -151,11 +151,11 @@ public final class SimulatorController: SimulatorControlling { public func devicesAndRuntimes() -> Single<[SimulatorDeviceAndRuntime]> { runtimes() - .flatMap { (runtimes) -> Single<([SimulatorDevice], [SimulatorRuntime])> in + .flatMap { runtimes -> Single<([SimulatorDevice], [SimulatorRuntime])> in self.devices().map { ($0, runtimes) } } - .map { (input) -> [SimulatorDeviceAndRuntime] in - input.0.compactMap { (device) -> SimulatorDeviceAndRuntime? in + .map { input -> [SimulatorDeviceAndRuntime] in + input.0.compactMap { device -> SimulatorDeviceAndRuntime? in guard let runtime = input.1.first(where: { $0.identifier == device.runtimeIdentifier }) else { return nil } return SimulatorDeviceAndRuntime(device: device, runtime: runtime) } @@ -226,22 +226,22 @@ public final class SimulatorController: SimulatorControlling { minVersion: nil, deviceName: deviceName ) - .flatMap { (deviceAndRuntime) -> Single in + .flatMap { deviceAndRuntime -> Single in .just("id=\(deviceAndRuntime.device.udid)") } } } -public extension SimulatorControlling { - func findAvailableDevice(platform: Platform) -> Single { +extension SimulatorControlling { + public func findAvailableDevice(platform: Platform) -> Single { self.findAvailableDevice(platform: platform, version: nil, minVersion: nil, deviceName: nil) } } -private extension SimulatorDevice { +extension SimulatorDevice { /// Attempts to boot the simulator. /// - returns: The `SimulatorDevice` with updated `isShutdown` field. - func booted() throws -> Self { + fileprivate func booted() throws -> Self { guard isShutdown else { return self } try System.shared.run(["/usr/bin/xcrun", "simctl", "boot", udid]) return SimulatorDevice( diff --git a/Sources/TuistCore/Utils/BinaryLocator.swift b/Sources/TuistCore/Utils/BinaryLocator.swift index fa2460e1b..220f431bf 100644 --- a/Sources/TuistCore/Utils/BinaryLocator.swift +++ b/Sources/TuistCore/Utils/BinaryLocator.swift @@ -72,7 +72,8 @@ public final class BinaryLocator: BinaryLocating { .removingLastComponent() .appending(RelativePath("projects/cocoapods-interactor/bin/cocoapods-interactor")) #else - let path = AbsolutePath(Bundle(for: BinaryLocator.self).bundleURL.path).appending(RelativePath("cocoapods-interactor/bin/cocoapods-interactor")) + let path = AbsolutePath(Bundle(for: BinaryLocator.self).bundleURL.path) + .appending(RelativePath("cocoapods-interactor/bin/cocoapods-interactor")) #endif guard FileHandler.shared.exists(path) else { throw BinaryLocatorError.cocoapodsInteractorNotFound diff --git a/Sources/TuistCoreTesting/Automation/MockXcodeBuildController.swift b/Sources/TuistCoreTesting/Automation/MockXcodeBuildController.swift index 3e6ce7a2c..badfcd649 100644 --- a/Sources/TuistCoreTesting/Automation/MockXcodeBuildController.swift +++ b/Sources/TuistCoreTesting/Automation/MockXcodeBuildController.swift @@ -15,11 +15,15 @@ final class MockXcodeBuildController: XcodeBuildControlling { if let buildStub = buildStub { return buildStub(target, scheme, clean, arguments) } else { - return Observable.error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to build")) + return Observable + .error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to build")) } } - var testStub: ((XcodeBuildTarget, String, Bool, XcodeBuildDestination, AbsolutePath?, AbsolutePath?, [XcodeBuildArgument]) -> Observable>)? // swiftlint:disable:this line_length + var testStub: ( + (XcodeBuildTarget, String, Bool, XcodeBuildDestination, AbsolutePath?, AbsolutePath?, [XcodeBuildArgument]) + -> Observable> + )? func test( _ target: XcodeBuildTarget, scheme: String, @@ -32,11 +36,15 @@ final class MockXcodeBuildController: XcodeBuildControlling { if let testStub = testStub { return testStub(target, scheme, clean, destination, derivedDataPath, resultBundlePath, arguments) } else { - return Observable.error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to test")) + return Observable + .error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to test")) } } - var archiveStub: ((XcodeBuildTarget, String, Bool, AbsolutePath, [XcodeBuildArgument]) -> Observable>)? + var archiveStub: ( + (XcodeBuildTarget, String, Bool, AbsolutePath, [XcodeBuildArgument]) + -> Observable> + )? func archive(_ target: XcodeBuildTarget, scheme: String, clean: Bool, @@ -46,7 +54,8 @@ final class MockXcodeBuildController: XcodeBuildControlling { if let archiveStub = archiveStub { return archiveStub(target, scheme, clean, archivePath, arguments) } else { - return Observable.error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to archive")) + return Observable + .error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to archive")) } } @@ -55,16 +64,28 @@ final class MockXcodeBuildController: XcodeBuildControlling { if let createXCFrameworkStub = createXCFrameworkStub { return createXCFrameworkStub(frameworks, output) } else { - return Observable.error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to createXCFramework")) + return Observable + .error( + TestError( + "\(String(describing: MockXcodeBuildController.self)) received an unexpected call to createXCFramework" + ) + ) } } var showBuildSettingsStub: ((XcodeBuildTarget, String, String) -> Single<[String: XcodeBuildSettings]>)? - func showBuildSettings(_ target: XcodeBuildTarget, scheme: String, configuration: String) -> Single<[String: XcodeBuildSettings]> { + func showBuildSettings(_ target: XcodeBuildTarget, scheme: String, + configuration: String) -> Single<[String: XcodeBuildSettings]> + { if let showBuildSettingsStub = showBuildSettingsStub { return showBuildSettingsStub(target, scheme, configuration) } else { - return Single.error(TestError("\(String(describing: MockXcodeBuildController.self)) received an unexpected call to showBuildSettings")) + return Single + .error( + TestError( + "\(String(describing: MockXcodeBuildController.self)) received an unexpected call to showBuildSettings" + ) + ) } } } diff --git a/Sources/TuistCoreTesting/Cloud/CloudResponseError+TestData.swift b/Sources/TuistCoreTesting/Cloud/CloudResponseError+TestData.swift index fd801468f..9cac0a21d 100644 --- a/Sources/TuistCoreTesting/Cloud/CloudResponseError+TestData.swift +++ b/Sources/TuistCoreTesting/Cloud/CloudResponseError+TestData.swift @@ -1,14 +1,14 @@ import Foundation @testable import TuistCore -public extension CloudResponseError.Error { - static func test(code: String = "Code", message: String = "Message") -> CloudResponseError.Error { +extension CloudResponseError.Error { + public static func test(code: String = "Code", message: String = "Message") -> CloudResponseError.Error { .init(code: code, message: message) } } -public extension CloudResponseError { - static func test(status: String = "Error status", errors: [Error]? = [.test()]) -> CloudResponseError { +extension CloudResponseError { + public static func test(status: String = "Error status", errors: [Error]? = [.test()]) -> CloudResponseError { .init(status: status, errors: errors) } } diff --git a/Sources/TuistCoreTesting/Cloud/MockCloudClient.swift b/Sources/TuistCoreTesting/Cloud/MockCloudClient.swift index b5b41e272..c70f4dcf8 100644 --- a/Sources/TuistCoreTesting/Cloud/MockCloudClient.swift +++ b/Sources/TuistCoreTesting/Cloud/MockCloudClient.swift @@ -63,7 +63,12 @@ public final class MockCloudClient: CloudClienting { return Single.error(error) } else { let objectCandidate = stubbedObjectPerURLRequest[urlRequest] ?? stubbedObject - guard let object = objectCandidate as? T else { fatalError("This function input parameter type should be the same as the one provided in this object's initializer.\nReceived type: \(String(describing: objectCandidate.self))\nExpected type: \(T.self)") } + guard let object = objectCandidate as? T + else { + fatalError( + "This function input parameter type should be the same as the one provided in this object's initializer.\nReceived type: \(String(describing: objectCandidate.self))\nExpected type: \(T.self)" + ) + } let responseCandidate = stubbedResponsePerURLRequest[urlRequest] ?? stubbedResponse return Single.just((object, responseCandidate!)) } diff --git a/Sources/TuistCoreTesting/Extensions/TuistTestCase+LintingIssue.swift b/Sources/TuistCoreTesting/Extensions/TuistTestCase+LintingIssue.swift index e07b932c7..4ded5bf34 100644 --- a/Sources/TuistCoreTesting/Extensions/TuistTestCase+LintingIssue.swift +++ b/Sources/TuistCoreTesting/Extensions/TuistTestCase+LintingIssue.swift @@ -4,14 +4,16 @@ import TuistCore import TuistSupportTesting import XCTest -public extension TuistTestCase { +extension TuistTestCase { // MARK: - XCTAssertions /// Fails the test if the list of linting issues doesn't contain the given linting issue. /// - Parameters: /// - issues: List of issues in which the issue will be checked. /// - issue: Issue to be checked in the list. If it doesn't exist, the test will fail. - func XCTContainsLintingIssue(_ issues: [LintingIssue], _ issue: LintingIssue, file: StaticString = #file, line: UInt = #line) { + public func XCTContainsLintingIssue(_ issues: [LintingIssue], _ issue: LintingIssue, file: StaticString = #file, + line: UInt = #line) + { if !issues.contains(issue) { XCTFail("The list doesn't contain the issue '\(issue)' and it should", file: file, line: line) } @@ -21,7 +23,12 @@ public extension TuistTestCase { /// - Parameters: /// - issues: List of issues in which the issue will be checked. /// - issue: Issue to be checked in the list. If it doesn't exist, the test will fail. - func XCTDoesNotContainLintingIssue(_ issues: [LintingIssue], _ issue: LintingIssue, file: StaticString = #file, line: UInt = #line) { + public func XCTDoesNotContainLintingIssue( + _ issues: [LintingIssue], + _ issue: LintingIssue, + file: StaticString = #file, + line: UInt = #line + ) { if issues.contains(issue) { XCTFail("The list contains the issue '\(issue)' and it shouldn't", file: file, line: line) } diff --git a/Sources/TuistCoreTesting/Graph/GraphDependencyReference+TestData.swift b/Sources/TuistCoreTesting/Graph/GraphDependencyReference+TestData.swift index 0cda8eb4c..b723a15a3 100644 --- a/Sources/TuistCoreTesting/Graph/GraphDependencyReference+TestData.swift +++ b/Sources/TuistCoreTesting/Graph/GraphDependencyReference+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic import TuistCore import TuistGraph -public extension GraphDependencyReference { - static func testFramework( +extension GraphDependencyReference { + public static func testFramework( path: AbsolutePath = "/frameworks/tuist.framework", binaryPath: AbsolutePath = "/frameworks/tuist.framework/tuist", isCarthage: Bool = false, @@ -26,7 +26,7 @@ public extension GraphDependencyReference { ) } - static func testXCFramework( + public static func testXCFramework( path: AbsolutePath = "/frameworks/tuist.xcframework", infoPlist: XCFrameworkInfoPlist = .test(), primaryBinaryPath: AbsolutePath = "/frameworks/tuist.xcframework/ios-arm64/tuist", @@ -41,10 +41,10 @@ public extension GraphDependencyReference { ) } - static func testLibrary(path: AbsolutePath = "/libraries/library.a", - linking: BinaryLinking = .static, - architectures: [BinaryArchitecture] = [BinaryArchitecture.arm64], - product: Product = .staticLibrary) -> GraphDependencyReference + public static func testLibrary(path: AbsolutePath = "/libraries/library.a", + linking: BinaryLinking = .static, + architectures: [BinaryArchitecture] = [BinaryArchitecture.arm64], + product: Product = .staticLibrary) -> GraphDependencyReference { GraphDependencyReference.library( path: path, @@ -54,9 +54,9 @@ public extension GraphDependencyReference { ) } - static func testSDK(path: AbsolutePath = "/path/CoreData.framework", - status: SDKStatus = .required, - source: SDKSource = .system) -> GraphDependencyReference + public static func testSDK(path: AbsolutePath = "/path/CoreData.framework", + status: SDKStatus = .required, + source: SDKSource = .system) -> GraphDependencyReference { GraphDependencyReference.sdk( path: path, @@ -65,9 +65,9 @@ public extension GraphDependencyReference { ) } - static func testProduct(target: String = "Target", - productName: String = "Target.framework", - platformFilter: BuildFilePlatformFilter = .ios) -> GraphDependencyReference + public static func testProduct(target: String = "Target", + productName: String = "Target.framework", + platformFilter: BuildFilePlatformFilter = .ios) -> GraphDependencyReference { GraphDependencyReference.product( target: target, diff --git a/Sources/TuistCoreTesting/Graph/WorkspaceWithProjects+TestData.swift b/Sources/TuistCoreTesting/Graph/WorkspaceWithProjects+TestData.swift index 8f1e2aceb..0104c3629 100644 --- a/Sources/TuistCoreTesting/Graph/WorkspaceWithProjects+TestData.swift +++ b/Sources/TuistCoreTesting/Graph/WorkspaceWithProjects+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic import TuistGraph @testable import TuistCore -public extension WorkspaceWithProjects { - static func test( +extension WorkspaceWithProjects { + public static func test( workspace: Workspace = .test(), projects: [Project] = [.test()] ) -> WorkspaceWithProjects { diff --git a/Sources/TuistCoreTesting/GraphTraverser/MockGraphTraverser.swift b/Sources/TuistCoreTesting/GraphTraverser/MockGraphTraverser.swift index 9c0993fc0..7b953e53a 100644 --- a/Sources/TuistCoreTesting/GraphTraverser/MockGraphTraverser.swift +++ b/Sources/TuistCoreTesting/GraphTraverser/MockGraphTraverser.swift @@ -180,7 +180,8 @@ final class MockGraphTraverser: GraphTraversing { var invokedTestTargetsDependingOn = false var invokedTestTargetsDependingOnCount = 0 var invokedTestTargetsDependingOnParameters: (path: AbsolutePath, name: String)? - var invokedTestTargetsDependingOnParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedTestTargetsDependingOnParametersList = + [(path: AbsolutePath, name: String)]() var stubbedTestTargetsDependingOnResult: Set! = [] func testTargetsDependingOn(path: AbsolutePath, name: String) -> Set { @@ -193,10 +194,14 @@ final class MockGraphTraverser: GraphTraversing { var invokedDirectLocalTargetDependencies = false - var invokedDirectLocalTargetDependenciesCount = 0 // swiftlint:disable:this identifier_name - var invokedDirectLocalTargetDependenciesParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedDirectLocalTargetDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name - var stubbedDirectLocalTargetDependenciesResult: Set! = [] // swiftlint:disable:this identifier_name + var invokedDirectLocalTargetDependenciesCount = 0 + var invokedDirectLocalTargetDependenciesParameters: ( + path: AbsolutePath, + name: String + )? + var invokedDirectLocalTargetDependenciesParametersList = + [(path: AbsolutePath, name: String)]() + var stubbedDirectLocalTargetDependenciesResult: Set! = [] func directLocalTargetDependencies(path: AbsolutePath, name: String) -> Set { invokedDirectLocalTargetDependencies = true @@ -208,8 +213,9 @@ final class MockGraphTraverser: GraphTraversing { var invokedDirectTargetDependencies = false var invokedDirectTargetDependenciesCount = 0 - var invokedDirectTargetDependenciesParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedDirectTargetDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedDirectTargetDependenciesParameters: (path: AbsolutePath, name: String)? + var invokedDirectTargetDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedDirectTargetDependenciesResult: Set! = [] func directTargetDependencies(path: AbsolutePath, name: String) -> Set { @@ -222,8 +228,9 @@ final class MockGraphTraverser: GraphTraversing { var invokedAppExtensionDependencies = false var invokedAppExtensionDependenciesCount = 0 - var invokedAppExtensionDependenciesParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedAppExtensionDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedAppExtensionDependenciesParameters: (path: AbsolutePath, name: String)? + var invokedAppExtensionDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedAppExtensionDependenciesResult: Set! = [] func appExtensionDependencies(path: AbsolutePath, name: String) -> Set { @@ -236,8 +243,9 @@ final class MockGraphTraverser: GraphTraversing { var invokedResourceBundleDependencies = false var invokedResourceBundleDependenciesCount = 0 - var invokedResourceBundleDependenciesParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedResourceBundleDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedResourceBundleDependenciesParameters: (path: AbsolutePath, name: String)? + var invokedResourceBundleDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedResourceBundleDependenciesResult: Set! = [] func resourceBundleDependencies(path: AbsolutePath, name: String) -> Set { @@ -250,8 +258,9 @@ final class MockGraphTraverser: GraphTraversing { var invokedDirectStaticDependencies = false var invokedDirectStaticDependenciesCount = 0 - var invokedDirectStaticDependenciesParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedDirectStaticDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedDirectStaticDependenciesParameters: (path: AbsolutePath, name: String)? + var invokedDirectStaticDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedDirectStaticDependenciesResult: Set! = [] func directStaticDependencies(path: AbsolutePath, name: String) -> Set { @@ -279,7 +288,8 @@ final class MockGraphTraverser: GraphTraversing { var invokedEmbeddableFrameworks = false var invokedEmbeddableFrameworksCount = 0 var invokedEmbeddableFrameworksParameters: (path: AbsolutePath, name: String)? - var invokedEmbeddableFrameworksParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedEmbeddableFrameworksParametersList = + [(path: AbsolutePath, name: String)]() var stubbedEmbeddableFrameworksResult: Set! = [] func embeddableFrameworks(path: AbsolutePath, name: String) -> Set { @@ -293,7 +303,8 @@ final class MockGraphTraverser: GraphTraversing { var invokedLinkableDependencies = false var invokedLinkableDependenciesCount = 0 var invokedLinkableDependenciesParameters: (path: AbsolutePath, name: String)? - var invokedLinkableDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedLinkableDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedLinkableDependenciesError: Error? var stubbedLinkableDependenciesResult: Set! = [] @@ -310,8 +321,9 @@ final class MockGraphTraverser: GraphTraversing { var invokedSearchablePathDependencies = false var invokedSearchablePathDependenciesCount = 0 - var invokedSearchablePathDependenciesParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedSearchablePathDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedSearchablePathDependenciesParameters: (path: AbsolutePath, name: String)? + var invokedSearchablePathDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedSearchablePathDependenciesError: Error? var stubbedSearchablePathDependenciesResult: Set! = [] @@ -329,7 +341,8 @@ final class MockGraphTraverser: GraphTraversing { var invokedCopyProductDependencies = false var invokedCopyProductDependenciesCount = 0 var invokedCopyProductDependenciesParameters: (path: AbsolutePath, name: String)? - var invokedCopyProductDependenciesParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedCopyProductDependenciesParametersList = + [(path: AbsolutePath, name: String)]() var stubbedCopyProductDependenciesResult: Set! = [] func copyProductDependencies(path: AbsolutePath, name: String) -> Set { @@ -341,10 +354,14 @@ final class MockGraphTraverser: GraphTraversing { } var invokedLibrariesPublicHeadersFolders = false - var invokedLibrariesPublicHeadersFoldersCount = 0 // swiftlint:disable:this identifier_name - var invokedLibrariesPublicHeadersFoldersParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedLibrariesPublicHeadersFoldersParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name - var stubbedLibrariesPublicHeadersFoldersResult: Set! = [] // swiftlint:disable:this identifier_name + var invokedLibrariesPublicHeadersFoldersCount = 0 + var invokedLibrariesPublicHeadersFoldersParameters: ( + path: AbsolutePath, + name: String + )? + var invokedLibrariesPublicHeadersFoldersParametersList = + [(path: AbsolutePath, name: String)]() + var stubbedLibrariesPublicHeadersFoldersResult: Set! = [] func librariesPublicHeadersFolders(path: AbsolutePath, name: String) -> Set { invokedLibrariesPublicHeadersFolders = true @@ -357,7 +374,8 @@ final class MockGraphTraverser: GraphTraversing { var invokedLibrariesSearchPaths = false var invokedLibrariesSearchPathsCount = 0 var invokedLibrariesSearchPathsParameters: (path: AbsolutePath, name: String)? - var invokedLibrariesSearchPathsParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedLibrariesSearchPathsParametersList = + [(path: AbsolutePath, name: String)]() var stubbedLibrariesSearchPathsResult: Set! = [] func librariesSearchPaths(path: AbsolutePath, name: String) -> Set { @@ -370,8 +388,9 @@ final class MockGraphTraverser: GraphTraversing { var invokedLibrariesSwiftIncludePaths = false var invokedLibrariesSwiftIncludePathsCount = 0 - var invokedLibrariesSwiftIncludePathsParameters: (path: AbsolutePath, name: String)? // swiftlint:disable:this identifier_name - var invokedLibrariesSwiftIncludePathsParametersList = [(path: AbsolutePath, name: String)]() // swiftlint:disable:this identifier_name + var invokedLibrariesSwiftIncludePathsParameters: (path: AbsolutePath, name: String)? + var invokedLibrariesSwiftIncludePathsParametersList = + [(path: AbsolutePath, name: String)]() var stubbedLibrariesSwiftIncludePathsResult: Set! = [] func librariesSwiftIncludePaths(path: AbsolutePath, name: String) -> Set { @@ -413,7 +432,7 @@ final class MockGraphTraverser: GraphTraversing { var invokedAllProjectDependencies = false var invokedAllProjectDependenciesCount = 0 var invokedAllProjectDependenciesParameters: (path: AbsolutePath, Void)? - var invokedAllProjectDependenciesParametersList = [(path: AbsolutePath, Void)]() // swiftlint:disable:this identifier_name + var invokedAllProjectDependenciesParametersList = [(path: AbsolutePath, Void)]() var stubbedAllProjectDependenciesError: Error? var stubbedAllProjectDependenciesResult: Set! = [] diff --git a/Sources/TuistCoreTesting/Simulator/SimulatorDevice+TestData.swift b/Sources/TuistCoreTesting/Simulator/SimulatorDevice+TestData.swift index b23ccf9ac..4c5718aac 100644 --- a/Sources/TuistCoreTesting/Simulator/SimulatorDevice+TestData.swift +++ b/Sources/TuistCoreTesting/Simulator/SimulatorDevice+TestData.swift @@ -3,16 +3,17 @@ import TSCBasic @testable import TuistCore extension SimulatorDevice { - static func test(dataPath: AbsolutePath = "/Library/Developer/CoreSimulator/Devices/3A8C9673-C1FD-4E33-8EFA-AEEBF43161CC/data", - logPath: AbsolutePath = "/Library/Logs/CoreSimulator/3A8C9673-C1FD-4E33-8EFA-AEEBF43161CC", - udid: String = "3A8C9673-C1FD-4E33-8EFA-AEEBF43161CC", - isAvailable: Bool = true, - deviceTypeIdentifier: String = "com.apple.CoreSimulator.SimDeviceType.iPad-Air--3rd-generation-", - state: String = "Shutdown", - name: String = "iPad Air (3rd generation)", - availabilityError: String? = nil, - runtimeIdentifier: String = "com.apple.CoreSimulator.SimRuntime.iOS-13-5") -> SimulatorDevice - { + static func test( + dataPath: AbsolutePath = "/Library/Developer/CoreSimulator/Devices/3A8C9673-C1FD-4E33-8EFA-AEEBF43161CC/data", + logPath: AbsolutePath = "/Library/Logs/CoreSimulator/3A8C9673-C1FD-4E33-8EFA-AEEBF43161CC", + udid: String = "3A8C9673-C1FD-4E33-8EFA-AEEBF43161CC", + isAvailable: Bool = true, + deviceTypeIdentifier: String = "com.apple.CoreSimulator.SimDeviceType.iPad-Air--3rd-generation-", + state: String = "Shutdown", + name: String = "iPad Air (3rd generation)", + availabilityError: String? = nil, + runtimeIdentifier: String = "com.apple.CoreSimulator.SimRuntime.iOS-13-5" + ) -> SimulatorDevice { SimulatorDevice( dataPath: dataPath, logPath: logPath, diff --git a/Sources/TuistCoreTesting/Simulator/SimulatorRuntime+TestData.swift b/Sources/TuistCoreTesting/Simulator/SimulatorRuntime+TestData.swift index 06fd97d9a..f8ddfdbef 100644 --- a/Sources/TuistCoreTesting/Simulator/SimulatorRuntime+TestData.swift +++ b/Sources/TuistCoreTesting/Simulator/SimulatorRuntime+TestData.swift @@ -3,16 +3,18 @@ import TSCBasic @testable import TuistCore extension SimulatorRuntime { - // swiftlint:disable:next line_length - static func test(bundlePath: AbsolutePath = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime", - buildVersion: String = "17F61", - // swiftlint:disable:next line_length - runtimeRoot: AbsolutePath = "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot", - identifier: String = "com.apple.CoreSimulator.SimRuntime.iOS-13-5", - version: SimulatorRuntimeVersion = "13.5", - isAvailable: Bool = true, - name: String = "iOS 13.5") -> SimulatorRuntime - { + static func test( + bundlePath: AbsolutePath = + "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime", + buildVersion: String = "17F61", + runtimeRoot: AbsolutePath = + // swiftlint:disable:next line_length + "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot", + identifier: String = "com.apple.CoreSimulator.SimRuntime.iOS-13-5", + version: SimulatorRuntimeVersion = "13.5", + isAvailable: Bool = true, + name: String = "iOS 13.5" + ) -> SimulatorRuntime { SimulatorRuntime( bundlePath: bundlePath, buildVersion: buildVersion, diff --git a/Sources/TuistDependencies/Carthage/Utils/CarthageController.swift b/Sources/TuistDependencies/Carthage/Utils/CarthageController.swift index 8e5d578a2..da79dee1c 100644 --- a/Sources/TuistDependencies/Carthage/Utils/CarthageController.swift +++ b/Sources/TuistDependencies/Carthage/Utils/CarthageController.swift @@ -39,7 +39,8 @@ enum CarthageControllerError: FatalError, Equatable { """ case let .xcframeworksProductionNotSupported(installedVersion): return """ - The version of Carthage installed in your environment (\(installedVersion.description)) doesn't suppport production of XCFrameworks. + The version of Carthage installed in your environment (\(installedVersion + .description)) doesn't suppport production of XCFrameworks. You have to update the tool to at least 0.37.0 version. """ } diff --git a/Sources/TuistDependencies/DependenciesController.swift b/Sources/TuistDependencies/DependenciesController.swift index 67a44c38e..369cb7451 100644 --- a/Sources/TuistDependencies/DependenciesController.swift +++ b/Sources/TuistDependencies/DependenciesController.swift @@ -177,7 +177,9 @@ public final class DependenciesController: DependenciesControlling { try carthageInteractor.clean(dependenciesDirectory: dependenciesDirectory) } - if let swiftPackageManagerDependencies = dependencies.swiftPackageManager, !swiftPackageManagerDependencies.packages.isEmpty { + if let swiftPackageManagerDependencies = dependencies.swiftPackageManager, + !swiftPackageManagerDependencies.packages.isEmpty + { let swiftPackageManagerDependenciesGraph = try swiftPackageManagerInteractor.install( dependenciesDirectory: dependenciesDirectory, dependencies: swiftPackageManagerDependencies, diff --git a/Sources/TuistDependencies/DependenciesGraph/DependenciesGraphController.swift b/Sources/TuistDependencies/DependenciesGraph/DependenciesGraphController.swift index ee01b82dd..1311df101 100644 --- a/Sources/TuistDependencies/DependenciesGraph/DependenciesGraphController.swift +++ b/Sources/TuistDependencies/DependenciesGraph/DependenciesGraphController.swift @@ -78,7 +78,10 @@ public final class DependenciesGraphController: DependenciesGraphControlling { do { return try JSONDecoder().decode(TuistGraph.DependenciesGraph.self, from: graphData) } catch { - logger.debug("Failed to load dependencies graph, running `tuist dependencies fetch` should solve the problem.\nError: \(error)") + logger + .debug( + "Failed to load dependencies graph, running `tuist dependencies fetch` should solve the problem.\nError: \(error)" + ) throw DependenciesGraphControllerError.failedToDecodeDependenciesGraph } } diff --git a/Sources/TuistDependencies/SwiftPackageManager/Models/PackageInfo.swift b/Sources/TuistDependencies/SwiftPackageManager/Models/PackageInfo.swift index 1cca3b3f7..c5e28b466 100644 --- a/Sources/TuistDependencies/SwiftPackageManager/Models/PackageInfo.swift +++ b/Sources/TuistDependencies/SwiftPackageManager/Models/PackageInfo.swift @@ -297,7 +297,8 @@ extension PackageInfo.Target.Dependency: Decodable { init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: CodingKeys.self) guard let key = values.allKeys.first(where: values.contains) else { - throw DecodingError.dataCorrupted(.init(codingPath: decoder.codingPath, debugDescription: "Did not find a matching key")) + throw DecodingError + .dataCorrupted(.init(codingPath: decoder.codingPath, debugDescription: "Did not find a matching key")) } var unkeyedValues = try values.nestedUnkeyedContainer(forKey: key) @@ -331,7 +332,8 @@ extension PackageInfo.Product.ProductType: Decodable { init(from decoder: Decoder) throws { let values = try decoder.container(keyedBy: CodingKeys.self) guard let key = values.allKeys.first(where: values.contains) else { - throw DecodingError.dataCorrupted(.init(codingPath: decoder.codingPath, debugDescription: "Did not find a matching key")) + throw DecodingError + .dataCorrupted(.init(codingPath: decoder.codingPath, debugDescription: "Did not find a matching key")) } switch key { case .library: diff --git a/Sources/TuistDependencies/SwiftPackageManager/SwiftPackageManagerInteractor.swift b/Sources/TuistDependencies/SwiftPackageManager/SwiftPackageManagerInteractor.swift index a64333a42..453e4e6c9 100644 --- a/Sources/TuistDependencies/SwiftPackageManager/SwiftPackageManagerInteractor.swift +++ b/Sources/TuistDependencies/SwiftPackageManager/SwiftPackageManagerInteractor.swift @@ -96,7 +96,10 @@ public final class SwiftPackageManagerInteractor: SwiftPackageManagerInteracting if shouldUpdate { try swiftPackageManagerController.update(at: pathsProvider.destinationSwiftPackageManagerDirectory, printOutput: true) } else { - try swiftPackageManagerController.resolve(at: pathsProvider.destinationSwiftPackageManagerDirectory, printOutput: true) + try swiftPackageManagerController.resolve( + at: pathsProvider.destinationSwiftPackageManagerDirectory, + printOutput: true + ) } try saveDependencies( diff --git a/Sources/TuistDependencies/SwiftPackageManager/Utils/PackageInfoMapper.swift b/Sources/TuistDependencies/SwiftPackageManager/Utils/PackageInfoMapper.swift index 537d68e41..932cfac4b 100644 --- a/Sources/TuistDependencies/SwiftPackageManager/Utils/PackageInfoMapper.swift +++ b/Sources/TuistDependencies/SwiftPackageManager/Utils/PackageInfoMapper.swift @@ -16,7 +16,11 @@ enum PackageInfoMapperError: FatalError, Equatable { case minDeploymentTargetParsingFailed(ProjectDescription.Platform) /// Thrown when no supported platforms are found for a package. - case noSupportedPlatforms(name: String, configured: Set, package: Set) + case noSupportedPlatforms( + name: String, + configured: Set, + package: Set + ) /// Thrown when `PackageInfo.Target.Dependency.byName` dependency cannot be resolved. case unknownByNameDependency(String) @@ -31,7 +35,10 @@ enum PackageInfoMapperError: FatalError, Equatable { case unknownProductTarget(package: String, product: String, target: String) /// Thrown when unsupported `PackageInfo.Target.TargetBuildSettingDescription` `Tool`/`SettingName` pair is found. - case unsupportedSetting(PackageInfo.Target.TargetBuildSettingDescription.Tool, PackageInfo.Target.TargetBuildSettingDescription.SettingName) + case unsupportedSetting( + PackageInfo.Target.TargetBuildSettingDescription.Tool, + PackageInfo.Target.TargetBuildSettingDescription.SettingName + ) /// Error type. var type: ErrorType { @@ -164,7 +171,10 @@ public final class PackageInfoMapper: PackageInfoMapping { result[target.name] = Path(packageToFolder[packageInfo.key]!.appending(RelativePath(path)).pathString) } else { // remote binaries are checked out by SPM in artifacts//.xcframework - result[target.name] = Path(artifactsFolderForPackage.appending(component: "\(target.name).xcframework").pathString) + result[target.name] = Path( + artifactsFolderForPackage.appending(component: "\(target.name).xcframework") + .pathString + ) } } } @@ -194,37 +204,44 @@ public final class PackageInfoMapper: PackageInfoMapping { } } - let resolvedDependencies: [String: [ResolvedDependency]] = try packageInfos.values.reduce(into: [:]) { result, packageInfo in - try packageInfo.targets - .filter { targetToProducts[$0.name] != nil } - .forEach { target in - guard result[target.name] == nil else { return } - result[target.name] = try ResolvedDependency.from( - dependencies: target.dependencies, - packageInfo: packageInfo, - packageInfos: packageInfos, - productToPackage: productToPackage, - targetDependencyToFramework: targetDependencyToFramework - ) - } - } + let resolvedDependencies: [String: [ResolvedDependency]] = try packageInfos.values + .reduce(into: [:]) { result, packageInfo in + try packageInfo.targets + .filter { targetToProducts[$0.name] != nil } + .forEach { target in + guard result[target.name] == nil else { return } + result[target.name] = try ResolvedDependency.from( + dependencies: target.dependencies, + packageInfo: packageInfo, + packageInfos: packageInfos, + productToPackage: productToPackage, + targetDependencyToFramework: targetDependencyToFramework + ) + } + } - let externalDependencies: [String: [ProjectDescription.TargetDependency]] = try packageInfos.reduce(into: [:]) { result, packageInfo in - try packageInfo.value.products.forEach { product in - result[product.name] = try product.targets.flatMap { target in - try ResolvedDependency.fromTarget(name: target, targetDependencyToFramework: targetDependencyToFramework).map { - switch $0 { - case let .xcframework(path): - return .xcframework(path: path) - case let .target(name): - return .project(target: name, path: Path(packageToFolder[packageInfo.key]!.pathString)) - case .externalTarget: - throw PackageInfoMapperError.unknownProductTarget(package: packageInfo.key, product: product.name, target: target) - } + let externalDependencies: [String: [ProjectDescription.TargetDependency]] = try packageInfos + .reduce(into: [:]) { result, packageInfo in + try packageInfo.value.products.forEach { product in + result[product.name] = try product.targets.flatMap { target in + try ResolvedDependency.fromTarget(name: target, targetDependencyToFramework: targetDependencyToFramework) + .map { + switch $0 { + case let .xcframework(path): + return .xcframework(path: path) + case let .target(name): + return .project(target: name, path: Path(packageToFolder[packageInfo.key]!.pathString)) + case .externalTarget: + throw PackageInfoMapperError.unknownProductTarget( + package: packageInfo.key, + product: product.name, + target: target + ) + } + } } } } - } let targetToPlatforms: [String: ProjectDescription.Platform] = try packageInfos.reduce(into: [:]) { result, packageInfo in try packageInfo.value.targets.forEach { target in @@ -334,7 +351,8 @@ extension ProjectDescription.Target { return nil } - guard let product = ProjectDescription.Product.from(name: target.name, products: products, productTypes: productTypes) else { + guard let product = ProjectDescription.Product.from(name: target.name, products: products, productTypes: productTypes) + else { logger.debug("Target \(target.name) ignored by product type") return nil } @@ -399,7 +417,10 @@ extension ProjectDescription.Platform { packageName: String ) throws -> Self { let configuredPlatforms = Set(configured.map(\.descriptionPlatform)) - let packagePlatforms = Set(package.isEmpty ? ProjectDescription.Platform.allCases : try package.map { try $0.descriptionPlatform() }) + let packagePlatforms = Set( + package.isEmpty ? ProjectDescription.Platform.allCases : try package + .map { try $0.descriptionPlatform() } + ) let validPlatforms = configuredPlatforms.intersection(packagePlatforms) if validPlatforms.contains(.iOS) { @@ -583,7 +604,8 @@ extension ProjectDescription.Headers { // https://github.com/apple/swift-package-manager/blob/9b9bed7eaf0f38eeccd0d8ca06ae08f6689d1c3f/Sources/Xcodeproj/pbxproj.swift#L588-L609 switch moduleMapType { case .header, .nestedHeader: - let publicHeaders = FileHandler.shared.filesAndDirectoriesContained(in: publicHeadersPath)!.filter { $0.extension == "h" } + let publicHeaders = FileHandler.shared.filesAndDirectoriesContained(in: publicHeadersPath)! + .filter { $0.extension == "h" } return Headers(public: ProjectDescription.FileList(globs: publicHeaders.map { Path($0.pathString) })) case .none, .custom, .directory: return nil @@ -697,7 +719,9 @@ extension ProjectDescription.Settings { if !defines.isEmpty { let sortedDefines = defines.sorted { $0.key < $1.key } - settingsDictionary["GCC_PREPROCESSOR_DEFINITIONS"] = .array(["$(inherited)"] + sortedDefines.map { key, value in "\(key)=\(value)" }) + settingsDictionary["GCC_PREPROCESSOR_DEFINITIONS"] = .array(["$(inherited)"] + sortedDefines.map { key, value in + "\(key)=\(value)" + }) } if !swiftDefines.isEmpty { @@ -721,7 +745,8 @@ extension ProjectDescription.Settings { } if let settingsToOverride = targetSettings[target.name] { - let projectDescriptionSettingsToOverride = ProjectDescription.SettingsDictionary.from(settingsDictionary: settingsToOverride) + let projectDescriptionSettingsToOverride = ProjectDescription.SettingsDictionary + .from(settingsDictionary: settingsToOverride) settingsDictionary.merge(projectDescriptionSettingsToOverride) } @@ -758,7 +783,7 @@ extension ProjectDescription.Settings { return packageInfo.targets .filter { $0.name == target } .map { - return PackageTarget(package: package, target: $0) + PackageTarget(package: package, target: $0) } case .xcframework: return [] @@ -942,11 +967,11 @@ extension PackageInfo { ) -> ProjectDescription.Settings? { var settingsDictionary: ProjectDescription.SettingsDictionary = [:] - if let cLanguageStandard = self.cLanguageStandard { + if let cLanguageStandard = cLanguageStandard { settingsDictionary["GCC_C_LANGUAGE_STANDARD"] = .string(cLanguageStandard) } - if let cxxLanguageStandard = self.cxxLanguageStandard { + if let cxxLanguageStandard = cxxLanguageStandard { settingsDictionary["CLANG_CXX_LANGUAGE_STANDARD"] = .string(cxxLanguageStandard) } @@ -1023,7 +1048,9 @@ extension PackageInfoMapper { if packageInfo.targets.contains(where: { $0.name == name }) { return Self.fromTarget(name: name, targetDependencyToFramework: targetDependencyToFramework) } else { - guard let packageNameAndInfo = packageInfos.first(where: { $0.value.products.contains { $0.name == name } }) else { + guard let packageNameAndInfo = packageInfos + .first(where: { $0.value.products.contains { $0.name == name } }) + else { throw PackageInfoMapperError.unknownByNameDependency(name) } diff --git a/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerGraphGenerator.swift b/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerGraphGenerator.swift index 2c7ce62b5..bbdb4426f 100644 --- a/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerGraphGenerator.swift +++ b/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerGraphGenerator.swift @@ -79,7 +79,8 @@ public final class SwiftPackageManagerGraphGenerator: SwiftPackageManagerGraphGe let checkoutsFolder = path.appending(component: "checkouts") let workspacePath = path.appending(component: "workspace-state.json") - let workspaceState = try JSONDecoder().decode(SwiftPackageManagerWorkspaceState.self, from: try FileHandler.shared.readFile(workspacePath)) + let workspaceState = try JSONDecoder() + .decode(SwiftPackageManagerWorkspaceState.self, from: try FileHandler.shared.readFile(workspacePath)) let packageInfos: [(name: String, folder: AbsolutePath, info: PackageInfo)] packageInfos = try workspaceState.object.dependencies.map(context: .concurrent) { dependency in let name = dependency.packageRef.name @@ -140,6 +141,9 @@ public final class SwiftPackageManagerGraphGenerator: SwiftPackageManagerGraphGe result[Path(packageInfo.folder.pathString)] = manifest } - return DependenciesGraph(externalDependencies: preprocessInfo.productToExternalDependencies, externalProjects: externalProjects) + return DependenciesGraph( + externalDependencies: preprocessInfo.productToExternalDependencies, + externalProjects: externalProjects + ) } } diff --git a/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerModuleMapGenerator.swift b/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerModuleMapGenerator.swift index 312fa41a9..ab3f3df7a 100644 --- a/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerModuleMapGenerator.swift +++ b/Sources/TuistDependencies/SwiftPackageManager/Utils/SwiftPackageManagerModuleMapGenerator.swift @@ -26,7 +26,9 @@ public protocol SwiftPackageManagerModuleMapGenerating { public final class SwiftPackageManagerModuleMapGenerator: SwiftPackageManagerModuleMapGenerating { public init() {} - public func generate(moduleName: String, publicHeadersPath: AbsolutePath) throws -> (type: ModuleMapType, path: AbsolutePath?) { + public func generate(moduleName: String, + publicHeadersPath: AbsolutePath) throws -> (type: ModuleMapType, path: AbsolutePath?) + { let umbrellaHeaderPath = publicHeadersPath.appending(component: moduleName + ".h") let nestedUmbrellaHeaderPath = publicHeadersPath.appending(component: moduleName).appending(component: moduleName + ".h") @@ -77,9 +79,9 @@ public final class SwiftPackageManagerModuleMapGenerator: SwiftPackageManagerMod if publicHeadersFolderContent.contains(publicHeadersPath.appending(moduleMapPath)) { return publicHeadersPath.appending(moduleMapPath) } else if publicHeadersFolderContent.count == 1, - let nestedHeadersPath = publicHeadersFolderContent.first, - FileHandler.shared.isFolder(nestedHeadersPath), - FileHandler.shared.exists(nestedHeadersPath.appending(moduleMapPath)) + let nestedHeadersPath = publicHeadersFolderContent.first, + FileHandler.shared.isFolder(nestedHeadersPath), + FileHandler.shared.exists(nestedHeadersPath.appending(moduleMapPath)) { return nestedHeadersPath.appending(moduleMapPath) } else { diff --git a/Sources/TuistDependenciesTesting/Carthage/MockCarthageInteractor.swift b/Sources/TuistDependenciesTesting/Carthage/MockCarthageInteractor.swift index e5541b55a..162f79121 100644 --- a/Sources/TuistDependenciesTesting/Carthage/MockCarthageInteractor.swift +++ b/Sources/TuistDependenciesTesting/Carthage/MockCarthageInteractor.swift @@ -10,7 +10,10 @@ public final class MockCarthageInteractor: CarthageInteracting { public init() {} var invokedInstall = false - var installStub: ((AbsolutePath, TuistGraph.CarthageDependencies, Set, Bool) throws -> TuistCore.DependenciesGraph)? + var installStub: ( + (AbsolutePath, TuistGraph.CarthageDependencies, Set, Bool) throws -> TuistCore + .DependenciesGraph + )? public func install( dependenciesDirectory: AbsolutePath, diff --git a/Sources/TuistDependenciesTesting/DependenciesGraph/DependenciesGraph+TestData.swift b/Sources/TuistDependenciesTesting/DependenciesGraph/DependenciesGraph+TestData.swift index 73dadb7e6..d4ff1cc25 100644 --- a/Sources/TuistDependenciesTesting/DependenciesGraph/DependenciesGraph+TestData.swift +++ b/Sources/TuistDependenciesTesting/DependenciesGraph/DependenciesGraph+TestData.swift @@ -4,9 +4,9 @@ import TSCBasic import TuistCore import TuistDependencies -public extension TuistCore.DependenciesGraph { +extension TuistCore.DependenciesGraph { /// A snapshot of `graph.json` file. - static var testJson: String { + public static var testJson: String { """ { "externalDependencies" : { @@ -22,14 +22,14 @@ public extension TuistCore.DependenciesGraph { """ } - static func test( + public static func test( externalDependencies: [String: [TargetDependency]] = [:], externalProjects: [Path: Project] = [:] ) -> Self { return .init(externalDependencies: externalDependencies, externalProjects: externalProjects) } - static func testXCFramework( + public static func testXCFramework( name: String = "Test", path: Path = Path(AbsolutePath.root.appending(RelativePath("Test.xcframework")).pathString) ) -> Self { @@ -42,7 +42,7 @@ public extension TuistCore.DependenciesGraph { } // swiftlint:disable:next function_body_length - static func test(spmFolder: Path, packageFolder: Path) -> Self { + public static func test(spmFolder: Path, packageFolder: Path) -> Self { return .init( externalDependencies: [ "Tuist": [.project(target: "Tuist", path: packageFolder)], @@ -78,11 +78,20 @@ public extension TuistCore.DependenciesGraph { ], dependencies: [ .target(name: "TuistKit"), - .project(target: "ALibrary", path: Self.packageFolder(spmFolder: spmFolder, packageName: "ADependency")), - .project(target: "ALibraryUtils", path: Self.packageFolder(spmFolder: spmFolder, packageName: "ADependency")), + .project( + target: "ALibrary", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "ADependency") + ), + .project( + target: "ALibraryUtils", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "ADependency") + ), ], settings: Self.spmSettings(with: [ - "HEADER_SEARCH_PATHS": ["$(SRCROOT)/customPath/cSearchPath", "$(SRCROOT)/customPath/cxxSearchPath"], + "HEADER_SEARCH_PATHS": [ + "$(SRCROOT)/customPath/cSearchPath", + "$(SRCROOT)/customPath/cxxSearchPath", + ], "OTHER_CFLAGS": ["CUSTOM_C_FLAG"], "OTHER_CPLUSPLUSFLAGS": ["CUSTOM_CXX_FLAG"], "OTHER_SWIFT_FLAGS": ["CUSTOM_SWIFT_FLAG1", "CUSTOM_SWIFT_FLAG2"], @@ -101,7 +110,10 @@ public extension TuistCore.DependenciesGraph { "\(packageFolder.pathString)/Sources/TuistKit/**", ], dependencies: [ - .project(target: "AnotherLibrary", path: Self.packageFolder(spmFolder: spmFolder, packageName: "another-dependency")), + .project( + target: "AnotherLibrary", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "another-dependency") + ), ], settings: Self.spmSettings() ), @@ -112,7 +124,7 @@ public extension TuistCore.DependenciesGraph { ) } - static func aDependency(spmFolder: Path) -> Self { + public static func aDependency(spmFolder: Path) -> Self { let packageFolder = Self.packageFolder(spmFolder: spmFolder, packageName: "ADependency") return .init( externalDependencies: [ @@ -159,7 +171,7 @@ public extension TuistCore.DependenciesGraph { ) } - static func anotherDependency(spmFolder: Path) -> Self { + public static func anotherDependency(spmFolder: Path) -> Self { let packageFolder = Self.packageFolder(spmFolder: spmFolder, packageName: "another-dependency") return .init( externalDependencies: [ @@ -190,7 +202,7 @@ public extension TuistCore.DependenciesGraph { ) } - static func alamofire(spmFolder: Path) -> Self { + public static func alamofire(spmFolder: Path) -> Self { let packageFolder = Self.packageFolder(spmFolder: spmFolder, packageName: "Alamofire") return .init( externalDependencies: [ @@ -226,7 +238,7 @@ public extension TuistCore.DependenciesGraph { } // swiftlint:disable:next function_body_length - static func googleAppMeasurement(spmFolder: Path) -> Self { + public static func googleAppMeasurement(spmFolder: Path) -> Self { let packageFolder = Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleAppMeasurement") let artifactsFolder = Self.artifactsFolder(spmFolder: spmFolder, packageName: "GoogleAppMeasurement") @@ -263,9 +275,18 @@ public extension TuistCore.DependenciesGraph { target: "GULAppDelegateSwizzler", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") ), - .project(target: "GULMethodSwizzler", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities")), - .project(target: "GULNSData", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities")), - .project(target: "GULNetwork", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities")), + .project( + target: "GULMethodSwizzler", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") + ), + .project( + target: "GULNSData", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") + ), + .project( + target: "GULNetwork", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") + ), .project(target: "nanopb", path: Self.packageFolder(spmFolder: spmFolder, packageName: "nanopb")), .sdk(name: "libsqlite3.tbd", status: .required), .sdk(name: "libc++.tbd", status: .required), @@ -285,14 +306,25 @@ public extension TuistCore.DependenciesGraph { "\(packageFolder.pathString)/GoogleAppMeasurementWithoutAdIdSupportWrapper/**", ], dependencies: [ - .xcframework(path: "\(artifactsFolder.pathString)/GoogleAppMeasurementWithoutAdIdSupport.xcframework"), + .xcframework( + path: "\(artifactsFolder.pathString)/GoogleAppMeasurementWithoutAdIdSupport.xcframework" + ), .project( target: "GULAppDelegateSwizzler", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") ), - .project(target: "GULMethodSwizzler", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities")), - .project(target: "GULNSData", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities")), - .project(target: "GULNetwork", path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities")), + .project( + target: "GULMethodSwizzler", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") + ), + .project( + target: "GULNSData", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") + ), + .project( + target: "GULNetwork", + path: Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") + ), .project(target: "nanopb", path: Self.packageFolder(spmFolder: spmFolder, packageName: "nanopb")), .sdk(name: "libsqlite3.tbd", status: .required), .sdk(name: "libc++.tbd", status: .required), @@ -309,7 +341,7 @@ public extension TuistCore.DependenciesGraph { } // swiftlint:disable:next function_body_length - static func googleUtilities(spmFolder: Path, customProductTypes: [String: Product] = [:]) -> Self { + public static func googleUtilities(spmFolder: Path, customProductTypes: [String: Product] = [:]) -> Self { let packageFolder = Self.packageFolder(spmFolder: spmFolder, packageName: "GoogleUtilities") return .init( externalDependencies: [ @@ -377,7 +409,7 @@ public extension TuistCore.DependenciesGraph { ) } - static func nanopb(spmFolder: Path) -> Self { + public static func nanopb(spmFolder: Path) -> Self { let packageFolder = Self.packageFolder(spmFolder: spmFolder, packageName: "nanopb") return .init( externalDependencies: [ @@ -442,13 +474,17 @@ extension DependenciesGraph { } if case let .array(cDefinitions) = settingsDictionary["GCC_PREPROCESSOR_DEFINITIONS"] { - settingsDictionary["GCC_PREPROCESSOR_DEFINITIONS"] = .array(["$(inherited)"] + (cDefinitions + ["SWIFT_PACKAGE=1"]).sorted()) + settingsDictionary["GCC_PREPROCESSOR_DEFINITIONS"] = .array( + ["$(inherited)"] + (cDefinitions + ["SWIFT_PACKAGE=1"]) + .sorted() + ) } else { settingsDictionary["GCC_PREPROCESSOR_DEFINITIONS"] = .array(["$(inherited)", "SWIFT_PACKAGE=1"]) } if case let .array(swiftDefinitions) = settingsDictionary["SWIFT_ACTIVE_COMPILATION_CONDITIONS"] { - settingsDictionary["SWIFT_ACTIVE_COMPILATION_CONDITIONS"] = .array(["$(inherited)"] + ["SWIFT_PACKAGE"] + swiftDefinitions) + settingsDictionary["SWIFT_ACTIVE_COMPILATION_CONDITIONS"] = + .array(["$(inherited)"] + ["SWIFT_PACKAGE"] + swiftDefinitions) } else { settingsDictionary["SWIFT_ACTIVE_COMPILATION_CONDITIONS"] = .array(["$(inherited)"] + ["SWIFT_PACKAGE"]) } diff --git a/Sources/TuistDependenciesTesting/SwiftPackageManager/Models/PackageInfo+TestData.swift b/Sources/TuistDependenciesTesting/SwiftPackageManager/Models/PackageInfo+TestData.swift index 53c7d3d32..06f20e98a 100644 --- a/Sources/TuistDependenciesTesting/SwiftPackageManager/Models/PackageInfo+TestData.swift +++ b/Sources/TuistDependenciesTesting/SwiftPackageManager/Models/PackageInfo+TestData.swift @@ -293,7 +293,11 @@ extension PackageInfo { ], dependencies: [ .target(name: "TuistKit", condition: nil), - .product(name: "ALibrary", package: "a-dependency", condition: .init(platformNames: ["ios"], config: nil)), + .product( + name: "ALibrary", + package: "a-dependency", + condition: .init(platformNames: ["ios"], config: nil) + ), ], publicHeadersPath: "custom/Public/Headers/Path", type: .regular, @@ -302,12 +306,27 @@ extension PackageInfo { .init(tool: .cxx, name: .headerSearchPath, condition: nil, value: ["cxxSearchPath"]), .init(tool: .c, name: .unsafeFlags, condition: nil, value: ["CUSTOM_C_FLAG"]), .init(tool: .cxx, name: .unsafeFlags, condition: nil, value: ["CUSTOM_CXX_FLAG"]), - .init(tool: .swift, name: .unsafeFlags, condition: nil, value: ["CUSTOM_SWIFT_FLAG1", "CUSTOM_SWIFT_FLAG2"]), + .init( + tool: .swift, + name: .unsafeFlags, + condition: nil, + value: ["CUSTOM_SWIFT_FLAG1", "CUSTOM_SWIFT_FLAG2"] + ), .init(tool: .c, name: .define, condition: nil, value: ["C_DEFINE=C_VALUE"]), .init(tool: .cxx, name: .define, condition: nil, value: ["CXX_DEFINE=CXX_VALUE"]), .init(tool: .swift, name: .define, condition: nil, value: ["SWIFT_DEFINE"]), - .init(tool: .linker, name: .linkedFramework, condition: .init(platformNames: ["watchos"], config: nil), value: ["WatchKit"]), - .init(tool: .swift, name: .define, condition: .init(platformNames: ["tvos"], config: nil), value: ["SWIFT_TVOS_DEFINE"]), + .init( + tool: .linker, + name: .linkedFramework, + condition: .init(platformNames: ["watchos"], config: nil), + value: ["WatchKit"] + ), + .init( + tool: .swift, + name: .define, + condition: .init(platformNames: ["tvos"], config: nil), + value: ["SWIFT_TVOS_DEFINE"] + ), ], checksum: nil ), diff --git a/Sources/TuistDependenciesTesting/SwiftPackageManager/Utils/MockSwiftPackageManagerController.swift b/Sources/TuistDependenciesTesting/SwiftPackageManager/Utils/MockSwiftPackageManagerController.swift index 6e81432b6..ad14bf42c 100644 --- a/Sources/TuistDependenciesTesting/SwiftPackageManager/Utils/MockSwiftPackageManagerController.swift +++ b/Sources/TuistDependenciesTesting/SwiftPackageManager/Utils/MockSwiftPackageManagerController.swift @@ -36,6 +36,13 @@ public final class MockSwiftPackageManagerController: SwiftPackageManagerControl public func loadPackageInfo(at path: AbsolutePath) throws -> PackageInfo { invokedLoadPackageInfo = true return try loadPackageInfoStub?(path) - ?? .init(products: [], targets: [], platforms: [], cLanguageStandard: nil, cxxLanguageStandard: nil, swiftLanguageVersions: nil) + ?? .init( + products: [], + targets: [], + platforms: [], + cLanguageStandard: nil, + cxxLanguageStandard: nil, + swiftLanguageVersions: nil + ) } } diff --git a/Sources/TuistEnvKit/Settings/VersionProvider.swift b/Sources/TuistEnvKit/Settings/VersionProvider.swift index 64e146bc8..a6ba2574b 100644 --- a/Sources/TuistEnvKit/Settings/VersionProvider.swift +++ b/Sources/TuistEnvKit/Settings/VersionProvider.swift @@ -48,7 +48,7 @@ class VersionProvider: VersionProviding { func versions() -> AnyPublisher<[Version], Error> { return requestDispatcher.dispatch(resource: changelogResource()) - .flatMapLatest { (content, _) -> AnyPublisher<[Version], Error> in + .flatMapLatest { content, _ -> AnyPublisher<[Version], Error> in do { let versions = try self.parseVersionsFromChangelog(content) return AnyPublisher(value: versions) diff --git a/Sources/TuistGenerator/Generator/BuildPhaseGenerator.swift b/Sources/TuistGenerator/Generator/BuildPhaseGenerator.swift index 3b0323637..fe59a9b4b 100644 --- a/Sources/TuistGenerator/Generator/BuildPhaseGenerator.swift +++ b/Sources/TuistGenerator/Generator/BuildPhaseGenerator.swift @@ -144,9 +144,9 @@ final class BuildPhaseGenerator: BuildPhaseGenerating { name: script.name, inputPaths: script.inputPaths.map { $0.relative(to: sourceRootPath).pathString }, outputPaths: script.outputPaths.map { $0.relative(to: sourceRootPath).pathString }, - inputFileListPaths: script.inputFileListPaths.map { $0.relative(to: sourceRootPath).pathString }, // swiftlint:disable:this line_length + inputFileListPaths: script.inputFileListPaths.map { $0.relative(to: sourceRootPath).pathString }, - outputFileListPaths: script.outputFileListPaths.map { $0.relative(to: sourceRootPath).pathString }, // swiftlint:disable:this line_length + outputFileListPaths: script.outputFileListPaths.map { $0.relative(to: sourceRootPath).pathString }, shellPath: script.shellPath, shellScript: script.shellScript(sourceRootPath: sourceRootPath), diff --git a/Sources/TuistGenerator/Generator/ConfigGenerator.swift b/Sources/TuistGenerator/Generator/ConfigGenerator.swift index 07afcd21d..7a2575e47 100644 --- a/Sources/TuistGenerator/Generator/ConfigGenerator.swift +++ b/Sources/TuistGenerator/Generator/ConfigGenerator.swift @@ -200,9 +200,13 @@ final class ConfigGenerator: ConfigGenerating { project: project ) ) { $1 } - settings.merge(testBundleTargetDerivedSettings(target: target, graphTraverser: graphTraverser, projectPath: project.path)) { $1 } + settings + .merge(testBundleTargetDerivedSettings(target: target, graphTraverser: graphTraverser, projectPath: project.path)) { + $1 + } settings.merge(deploymentTargetDerivedSettings(target: target)) { $1 } - settings.merge(watchTargetDerivedSettings(target: target, graphTraverser: graphTraverser, projectPath: project.path)) { $1 } + settings + .merge(watchTargetDerivedSettings(target: target, graphTraverser: graphTraverser, projectPath: project.path)) { $1 } } private func generalTargetDerivedSettings( diff --git a/Sources/TuistGenerator/Generator/LinkGenerator.swift b/Sources/TuistGenerator/Generator/LinkGenerator.swift index cd676a2b4..3f415e077 100644 --- a/Sources/TuistGenerator/Generator/LinkGenerator.swift +++ b/Sources/TuistGenerator/Generator/LinkGenerator.swift @@ -516,8 +516,8 @@ final class LinkGenerator: LinkGenerating { } } -private extension XCBuildConfiguration { - func append(setting name: String, value: String) { +extension XCBuildConfiguration { + fileprivate func append(setting name: String, value: String) { guard !value.isEmpty else { return } diff --git a/Sources/TuistGenerator/Generator/ProjectDescriptorGenerator.swift b/Sources/TuistGenerator/Generator/ProjectDescriptorGenerator.swift index 9ff419cc3..9104b7063 100644 --- a/Sources/TuistGenerator/Generator/ProjectDescriptorGenerator.swift +++ b/Sources/TuistGenerator/Generator/ProjectDescriptorGenerator.swift @@ -90,7 +90,11 @@ final class ProjectDescriptorGenerator: ProjectDescriptorGenerating { groups: groups, pbxproj: pbxproj ) - let configurationList = try configGenerator.generateProjectConfig(project: project, pbxproj: pbxproj, fileElements: fileElements) + let configurationList = try configGenerator.generateProjectConfig( + project: project, + pbxproj: pbxproj, + fileElements: fileElements + ) let pbxProject = try generatePbxproject( project: project, projectFileElements: fileElements, diff --git a/Sources/TuistGenerator/Generator/ProjectFileElements.swift b/Sources/TuistGenerator/Generator/ProjectFileElements.swift index 4979c2c04..db79b2f0b 100644 --- a/Sources/TuistGenerator/Generator/ProjectFileElements.swift +++ b/Sources/TuistGenerator/Generator/ProjectFileElements.swift @@ -60,7 +60,7 @@ class ProjectFileElements { let projectFileElements = projectFiles(project: project) files.formUnion(projectFileElements) - let sortedFiles = files.sorted { (one, two) -> Bool in + let sortedFiles = files.sorted { one, two -> Bool in one.path < two.path } @@ -509,7 +509,12 @@ class ProjectFileElements { pbxproj: PBXProj) { let lastKnownFileType = fileAbsolutePath.extension.flatMap { Xcode.filetype(extension: $0) } - let file = PBXFileReference(sourceTree: .group, name: name, lastKnownFileType: lastKnownFileType, path: fileRelativePath.pathString) + let file = PBXFileReference( + sourceTree: .group, + name: name, + lastKnownFileType: lastKnownFileType, + path: fileRelativePath.pathString + ) pbxproj.add(object: file) toGroup.children.append(file) elements[fileAbsolutePath] = file diff --git a/Sources/TuistGenerator/Generator/SchemeDescriptorsGenerator.swift b/Sources/TuistGenerator/Generator/SchemeDescriptorsGenerator.swift index e4f6f1087..31b326085 100644 --- a/Sources/TuistGenerator/Generator/SchemeDescriptorsGenerator.swift +++ b/Sources/TuistGenerator/Generator/SchemeDescriptorsGenerator.swift @@ -35,7 +35,7 @@ protocol SchemeDescriptorsGenerating { // swiftlint:disable:next type_body_length final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { - private struct Constants { + private enum Constants { /// Default last upgrade version for generated schemes. static let defaultLastUpgradeVersion = "1010" @@ -211,7 +211,10 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { try buildAction.targets.forEach { buildActionTarget in guard - let buildActionGraphTarget = graphTraverser.target(path: buildActionTarget.projectPath, name: buildActionTarget.name), + let buildActionGraphTarget = graphTraverser.target( + path: buildActionTarget.projectPath, + name: buildActionTarget.name + ), let buildableReference = try createBuildableReference( graphTarget: buildActionGraphTarget, graphTraverser: graphTraverser, @@ -225,11 +228,21 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { } preActions = try buildAction.preActions.map { - try schemeExecutionAction(action: $0, graphTraverser: graphTraverser, generatedProjects: generatedProjects, rootPath: rootPath) + try schemeExecutionAction( + action: $0, + graphTraverser: graphTraverser, + generatedProjects: generatedProjects, + rootPath: rootPath + ) } postActions = try buildAction.postActions.map { - try schemeExecutionAction(action: $0, graphTraverser: graphTraverser, generatedProjects: generatedProjects, rootPath: rootPath) + try schemeExecutionAction( + action: $0, + graphTraverser: graphTraverser, + generatedProjects: generatedProjects, + rootPath: rootPath + ) } return XCScheme.BuildAction( @@ -271,7 +284,10 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { try testAction.targets.forEach { testableTarget in guard - let testableGraphTarget = graphTraverser.target(path: testableTarget.target.projectPath, name: testableTarget.target.name), + let testableGraphTarget = graphTraverser.target( + path: testableTarget.target.projectPath, + name: testableTarget.target.name + ), let reference = try createBuildableReference( graphTarget: testableGraphTarget, graphTraverser: graphTraverser, @@ -311,20 +327,24 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { environments = environmentVariables(arguments.environment) } - let codeCoverageTargets = try testAction.codeCoverageTargets.compactMap { (target: TargetReference) -> XCScheme.BuildableReference? in - guard let graphTarget = graphTraverser.target(path: target.projectPath, name: target.name) else { return nil } - return try testCoverageTargetReferences( - graphTarget: graphTarget, - graphTraverser: graphTraverser, - generatedProjects: generatedProjects, - rootPath: rootPath - ) - } + let codeCoverageTargets = try testAction.codeCoverageTargets + .compactMap { (target: TargetReference) -> XCScheme.BuildableReference? in + guard let graphTarget = graphTraverser.target(path: target.projectPath, name: target.name) else { return nil } + return try testCoverageTargetReferences( + graphTarget: graphTarget, + graphTraverser: graphTraverser, + generatedProjects: generatedProjects, + rootPath: rootPath + ) + } var macroExpansion: XCScheme.BuildableReference? if let expandVariableFromTarget = testAction.expandVariableFromTarget { guard - let graphTarget = graphTraverser.target(path: expandVariableFromTarget.projectPath, name: expandVariableFromTarget.name) + let graphTarget = graphTraverser.target( + path: expandVariableFromTarget.projectPath, + name: expandVariableFromTarget.name + ) else { return nil } @@ -398,7 +418,10 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { ) else { return nil } if graphTarget.target.product.runnable { - buildableProductRunnable = XCScheme.BuildableProductRunnable(buildableReference: buildableReference, runnableDebuggingMode: "0") + buildableProductRunnable = XCScheme.BuildableProductRunnable( + buildableReference: buildableReference, + runnableDebuggingMode: "0" + ) } else { macroExpansion = buildableReference } @@ -504,12 +527,16 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { var macroExpansion: XCScheme.BuildableReference? if graphTarget.target.product.runnable { - buildableProductRunnable = XCScheme.BuildableProductRunnable(buildableReference: buildableReference, runnableDebuggingMode: "0") + buildableProductRunnable = XCScheme.BuildableProductRunnable( + buildableReference: buildableReference, + runnableDebuggingMode: "0" + ) } else { macroExpansion = buildableReference } - let buildConfiguration = scheme.profileAction?.configurationName ?? defaultReleaseBuildConfigurationName(in: graphTarget.project) + let buildConfiguration = scheme.profileAction? + .configurationName ?? defaultReleaseBuildConfigurationName(in: graphTarget.project) return XCScheme.ProfileAction( buildableProductRunnable: buildableProductRunnable, buildConfiguration: buildConfiguration, @@ -534,7 +561,7 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { generatedProjects _: [AbsolutePath: GeneratedProject]) throws -> XCScheme.AnalyzeAction? { guard let target = defaultTargetReference(scheme: scheme), - let graphTarget = graphTraverser.target(path: target.projectPath, name: target.name) else { return nil } + let graphTarget = graphTraverser.target(path: target.projectPath, name: target.name) else { return nil } let buildConfiguration = scheme.analyzeAction?.configurationName ?? graphTarget.project.defaultDebugBuildConfigurationName return XCScheme.AnalyzeAction(buildConfiguration: buildConfiguration) @@ -554,18 +581,28 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { generatedProjects: [AbsolutePath: GeneratedProject]) throws -> XCScheme.ArchiveAction? { guard let target = defaultTargetReference(scheme: scheme), - let graphTarget = graphTraverser.target(path: target.projectPath, name: target.name) else { return nil } + let graphTarget = graphTraverser.target(path: target.projectPath, name: target.name) else { return nil } guard let archiveAction = scheme.archiveAction else { return defaultSchemeArchiveAction(for: graphTarget.project) } let preActions = try archiveAction.preActions.map { - try schemeExecutionAction(action: $0, graphTraverser: graphTraverser, generatedProjects: generatedProjects, rootPath: rootPath) + try schemeExecutionAction( + action: $0, + graphTraverser: graphTraverser, + generatedProjects: generatedProjects, + rootPath: rootPath + ) } let postActions = try archiveAction.postActions.map { - try schemeExecutionAction(action: $0, graphTraverser: graphTraverser, generatedProjects: generatedProjects, rootPath: rootPath) + try schemeExecutionAction( + action: $0, + graphTraverser: graphTraverser, + generatedProjects: generatedProjects, + rootPath: rootPath + ) } return XCScheme.ArchiveAction( @@ -656,13 +693,15 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { /// - graph: Tuist graph. /// - rootPath: Path to the project or workspace. /// - generatedProjects: Project paths mapped to generated projects. - private func createBuildableReference(graphTarget: GraphTarget, - graphTraverser: GraphTraversing, - rootPath: AbsolutePath, - generatedProjects: [AbsolutePath: GeneratedProject]) throws -> XCScheme.BuildableReference? - { + private func createBuildableReference( + graphTarget: GraphTarget, + graphTraverser: GraphTraversing, + rootPath: AbsolutePath, + generatedProjects: [AbsolutePath: GeneratedProject] + ) throws -> XCScheme.BuildableReference? { let projectPath = graphTarget.project.xcodeProjPath - guard let target = graphTraverser.target(path: graphTarget.project.path, name: graphTarget.target.name) else { return nil } + guard let target = graphTraverser.target(path: graphTarget.project.path, name: graphTarget.target.name) + else { return nil } guard let generatedProject = generatedProjects[projectPath] else { return nil } guard let pbxTarget = generatedProject.targets[graphTarget.target.name] else { return nil } let relativeXcodeProjectPath = resolveRelativeProjectPath( @@ -791,7 +830,7 @@ final class SchemeDescriptorsGenerator: SchemeDescriptorsGenerating { private func isSchemeForAppExtension(scheme: Scheme, graphTraverser: GraphTraversing) -> Bool? { guard let defaultTarget = defaultTargetReference(scheme: scheme), - let graphTarget = graphTraverser.target(path: defaultTarget.projectPath, name: defaultTarget.name) + let graphTarget = graphTraverser.target(path: defaultTarget.projectPath, name: defaultTarget.name) else { return nil } diff --git a/Sources/TuistGenerator/GraphViz/GraphToGraphVizMapper.swift b/Sources/TuistGenerator/GraphViz/GraphToGraphVizMapper.swift index b53e17ba6..29629f3c2 100644 --- a/Sources/TuistGenerator/GraphViz/GraphToGraphVizMapper.swift +++ b/Sources/TuistGenerator/GraphViz/GraphToGraphVizMapper.swift @@ -10,7 +10,8 @@ public protocol GraphToGraphVizMapping { /// /// - Parameter graph: Graph to be converted into a GraphViz.Graph. /// - Returns: The GraphViz.Graph representation. - func map(graph: TuistGraph.Graph, skipTestTargets: Bool, skipExternalDependencies: Bool, targetsToFilter: [String]) -> GraphViz.Graph + func map(graph: TuistGraph.Graph, skipTestTargets: Bool, skipExternalDependencies: Bool, targetsToFilter: [String]) + -> GraphViz.Graph } public final class GraphToGraphVizMapper: GraphToGraphVizMapping { @@ -20,7 +21,9 @@ public final class GraphToGraphVizMapper: GraphToGraphVizMapping { /// /// - Parameter graph: Graph to be converted into a GraphViz.Graph. /// - Returns: The GraphViz.Graph representation. - public func map(graph: TuistGraph.Graph, skipTestTargets: Bool, skipExternalDependencies: Bool, targetsToFilter: [String]) -> GraphViz.Graph { + public func map(graph: TuistGraph.Graph, skipTestTargets: Bool, skipExternalDependencies: Bool, + targetsToFilter: [String]) -> GraphViz.Graph + { var nodes: [GraphViz.Node] = [] var dependencies: [GraphViz.Edge] = [] var graphVizGraph = GraphViz.Graph(directed: true) @@ -79,8 +82,8 @@ public final class GraphToGraphVizMapper: GraphToGraphVizMapping { } } -private extension GraphDependency { - var isExternal: Bool { +extension GraphDependency { + fileprivate var isExternal: Bool { switch self { case .target: return false @@ -89,7 +92,7 @@ private extension GraphDependency { } } - var name: String { + fileprivate var name: String { switch self { case let .target(name: name, path: _): return name diff --git a/Sources/TuistGenerator/Linter/EnvironmentLinter.swift b/Sources/TuistGenerator/Linter/EnvironmentLinter.swift index 699542157..5b8fc9d7d 100644 --- a/Sources/TuistGenerator/Linter/EnvironmentLinter.swift +++ b/Sources/TuistGenerator/Linter/EnvironmentLinter.swift @@ -48,7 +48,8 @@ public class EnvironmentLinter: EnvironmentLinting { if !compatibleVersions.contains(version) { let versions = compatibleVersions.joined(separator: ", ") - let message = "The project, which only supports the versions of Xcode \(versions), is not compatible with your selected version of Xcode, \(version)" + let message = + "The project, which only supports the versions of Xcode \(versions), is not compatible with your selected version of Xcode, \(version)" return [LintingIssue(reason: message, severity: .error)] } else { return [] diff --git a/Sources/TuistGenerator/Linter/GraphLinter.swift b/Sources/TuistGenerator/Linter/GraphLinter.swift index 2d10bbc89..b45adc57a 100644 --- a/Sources/TuistGenerator/Linter/GraphLinter.swift +++ b/Sources/TuistGenerator/Linter/GraphLinter.swift @@ -53,7 +53,10 @@ public class GraphLinter: GraphLinting { switch mode { case .none, .all: return [] case .relevant: - let targets = graphTraverser.workspace.codeCoverageTargets(mode: mode, projects: Array(graphTraverser.projects.values)) + let targets = graphTraverser.workspace.codeCoverageTargets( + mode: mode, + projects: Array(graphTraverser.projects.values) + ) if targets.isEmpty { return [ @@ -90,8 +93,8 @@ public class GraphLinter: GraphLinting { func lintDependencies(graphTraverser: GraphTraversing) -> [LintingIssue] { var issues: [LintingIssue] = [] - let dependencyIssues = graphTraverser.dependencies.flatMap { (fromDependency, toDependencies) -> [LintingIssue] in - toDependencies.flatMap { (toDependency) -> [LintingIssue] in + let dependencyIssues = graphTraverser.dependencies.flatMap { fromDependency, toDependencies -> [LintingIssue] in + toDependencies.flatMap { toDependency -> [LintingIssue] in guard case let GraphDependency.target(fromTargetName, fromTargetPath) = fromDependency else { return [] } guard case let GraphDependency.target(toTargetName, toTargetPath) = toDependency else { return [] } guard let fromTarget = graphTraverser.target(path: fromTargetPath, name: fromTargetName) else { return [] } @@ -122,14 +125,16 @@ public class GraphLinter: GraphLinting { ) if !GraphLinter.validLinks.keys.contains(fromTarget) { - let reason = "Target \(from.target.name) has a platform '\(from.target.platform)' and product '\(from.target.product)' invalid or not supported yet." + let reason = + "Target \(from.target.name) has a platform '\(from.target.platform)' and product '\(from.target.product)' invalid or not supported yet." let issue = LintingIssue(reason: reason, severity: .error) issues.append(issue) } let supportedTargets = GraphLinter.validLinks[fromTarget] if supportedTargets == nil || supportedTargets?.contains(toTarget) == false { - let reason = "Target \(from.target.name) has a dependency with target \(to.target.name) of type \(to.target.product) for platform '\(to.target.platform)' which is invalid or not supported yet." + let reason = + "Target \(from.target.name) has a dependency with target \(to.target.name) of type \(to.target.product) for platform '\(to.target.platform)' which is invalid or not supported yet." let issue = LintingIssue(reason: reason, severity: .error) issues.append(issue) } @@ -155,7 +160,8 @@ public class GraphLinter: GraphLinting { return mismatchingBuildConfigurations.map { let expectedConfigurations = knownConfigurations.sorted() let configurations = $0.buildConfigurations.sorted() - let reason = "The project '\($0.name)' has missing or mismatching configurations. It has \(configurations), other projects have \(expectedConfigurations)" + let reason = + "The project '\($0.name)' has missing or mismatching configurations. It has \(configurations), other projects have \(expectedConfigurations)" return LintingIssue( reason: reason, severity: .warning @@ -178,7 +184,8 @@ public class GraphLinter: GraphLinting { } if version.major < 11 { - let reason = "The project contains package dependencies but the selected version of Xcode is not compatible. Need at least 11 but got \(version)" + let reason = + "The project contains package dependencies but the selected version of Xcode is not compatible. Need at least 11 but got \(version)" return [LintingIssue(reason: reason, severity: .error)] } @@ -226,8 +233,11 @@ public class GraphLinter: GraphLinting { return watchApps.flatMap { watchApp -> [LintingIssue] in let watchAppIssues = lint(watchApp: watchApp, parentApp: app) - let watchExtensions = graphTraverser.directLocalTargetDependencies(path: watchApp.path, name: watchApp.target.name) - .filter { $0.target.product == .watch2Extension } + let watchExtensions = graphTraverser.directLocalTargetDependencies( + path: watchApp.path, + name: watchApp.target.name + ) + .filter { $0.target.product == .watch2Extension } let watchExtensionIssues = watchExtensions.flatMap { watchExtension in lint(watchExtension: watchExtension, parentWatchApp: watchApp) @@ -243,7 +253,9 @@ public class GraphLinter: GraphLinting { guard watchApp.target.bundleId.hasPrefix(parentApp.target.bundleId) else { return [ LintingIssue(reason: """ - Watch app '\(watchApp.target.name)' bundleId: \(watchApp.target.bundleId) isn't prefixed with its parent's app '\(parentApp.target.bundleId)' bundleId '\(parentApp.target.bundleId)' + Watch app '\(watchApp.target.name)' bundleId: \(watchApp.target + .bundleId) isn't prefixed with its parent's app '\(parentApp.target.bundleId)' bundleId '\(parentApp.target + .bundleId)' """, severity: .error), ] } @@ -254,7 +266,9 @@ public class GraphLinter: GraphLinting { guard watchExtension.target.bundleId.hasPrefix(parentWatchApp.target.bundleId) else { return [ LintingIssue(reason: """ - Watch extension '\(watchExtension.target.name)' bundleId: \(watchExtension.target.bundleId) isn't prefixed with its parent's watch app '\(parentWatchApp.target.bundleId)' bundleId '\(parentWatchApp.target.bundleId)' + Watch extension '\(watchExtension.target.name)' bundleId: \(watchExtension.target + .bundleId) isn't prefixed with its parent's watch app '\(parentWatchApp.target + .bundleId)' bundleId '\(parentWatchApp.target.bundleId)' """, severity: .error), ] } @@ -267,16 +281,26 @@ public class GraphLinter: GraphLinting { if !appClip.target.bundleId.hasPrefix(parentApp.target.bundleId) { foundIssues.append( LintingIssue(reason: """ - AppClip '\(appClip.target.name)' bundleId: \(appClip.target.bundleId) isn't prefixed with its parent's app '\(parentApp.target.name)' bundleId '\(parentApp.target.bundleId)' - """, severity: .error)) + AppClip '\(appClip.target.name)' bundleId: \(appClip.target + .bundleId) isn't prefixed with its parent's app '\(parentApp.target.name)' bundleId '\(parentApp.target + .bundleId)' + """, severity: .error) + ) } if let entitlements = appClip.target.entitlements { if !FileHandler.shared.exists(entitlements) { - foundIssues.append(LintingIssue(reason: "The entitlements at path '\(entitlements)' referenced by target does not exist", severity: .error)) + foundIssues + .append(LintingIssue( + reason: "The entitlements at path '\(entitlements)' referenced by target does not exist", + severity: .error + )) } } else { - foundIssues.append(LintingIssue(reason: "An AppClip '\(appClip.target.name)' requires its Parent Application Identifiers Entitlement to be set", severity: .error)) + foundIssues.append(LintingIssue( + reason: "An AppClip '\(appClip.target.name)' requires its Parent Application Identifiers Entitlement to be set", + severity: .error + )) } return foundIssues @@ -317,7 +341,8 @@ public class GraphLinter: GraphLinting { return nil } - let reason = "The bundle identifier '\(bundleIdKey.bundleId)' is being used by multiple targets: \(targetNames.sorted().listed())." + let reason = + "The bundle identifier '\(bundleIdKey.bundleId)' is being used by multiple targets: \(targetNames.sorted().listed())." return LintingIssue(reason: reason, severity: .warning) }.sorted(by: { $0.reason < $1.reason }) } diff --git a/Sources/TuistGenerator/Linter/SchemeLinter.swift b/Sources/TuistGenerator/Linter/SchemeLinter.swift index c3b35e82d..643d22dce 100644 --- a/Sources/TuistGenerator/Linter/SchemeLinter.swift +++ b/Sources/TuistGenerator/Linter/SchemeLinter.swift @@ -18,13 +18,13 @@ class SchemeLinter: SchemeLinting { } } -private extension SchemeLinter { - func lintReferencedBuildConfigurations(schemes: [Scheme], settings: Settings) -> [LintingIssue] { +extension SchemeLinter { + fileprivate func lintReferencedBuildConfigurations(schemes: [Scheme], settings: Settings) -> [LintingIssue] { let buildConfigurations = Array(settings.configurations.keys) return schemes.flatMap { lintScheme(scheme: $0, buildConfigurations: buildConfigurations) } } - func lintScheme(scheme: Scheme, buildConfigurations: [BuildConfiguration]) -> [LintingIssue] { + fileprivate func lintScheme(scheme: Scheme, buildConfigurations: [BuildConfiguration]) -> [LintingIssue] { var issues: [LintingIssue] = [] let buildConfigurationNames = buildConfigurations.map(\.name) @@ -39,13 +39,14 @@ private extension SchemeLinter { } if let storeKitPath = runAction.options.storeKitConfigurationPath, - !FileHandler.shared.exists(storeKitPath) + !FileHandler.shared.exists(storeKitPath) { issues.append( LintingIssue( reason: "StoreKit configuration file not found at path \(storeKitPath.pathString)", severity: .error - )) + ) + ) } } @@ -73,18 +74,19 @@ private extension SchemeLinter { return issues } - func missingBuildConfigurationIssue(buildConfigurationName: String, actionDescription: String) -> LintingIssue { - let reason = "The build configuration '\(buildConfigurationName)' specified in \(actionDescription) isn't defined in the project." + fileprivate func missingBuildConfigurationIssue(buildConfigurationName: String, actionDescription: String) -> LintingIssue { + let reason = + "The build configuration '\(buildConfigurationName)' specified in \(actionDescription) isn't defined in the project." return LintingIssue(reason: reason, severity: .error) } - func lintExpandVariableTarget(schemes: [Scheme], targets: [Target]) -> [LintingIssue] { + fileprivate func lintExpandVariableTarget(schemes: [Scheme], targets: [Target]) -> [LintingIssue] { let targetNames = targets.map(\.name) var issues: [LintingIssue] = [] for scheme in schemes { if let testAction = scheme.testAction, - let target = testAction.expandVariableFromTarget + let target = testAction.expandVariableFromTarget { if !targetNames.contains(target.name) { issues.append(missingExpandVariablesTargetIssue(missingTargetName: target.name, schemaName: scheme.name)) @@ -94,7 +96,7 @@ private extension SchemeLinter { return issues } - func lintCodeCoverageTargets(schemes: [Scheme], targets: [Target]) -> [LintingIssue] { + fileprivate func lintCodeCoverageTargets(schemes: [Scheme], targets: [Target]) -> [LintingIssue] { let targetNames = targets.map(\.name) var issues: [LintingIssue] = [] @@ -109,26 +111,31 @@ private extension SchemeLinter { return issues } - func missingCodeCoverageTargetIssue(missingTargetName: String, schemaName: String) -> LintingIssue { - let reason = "The target '\(missingTargetName)' specified in \(schemaName) code coverage targets list isn't defined in the project." + fileprivate func missingCodeCoverageTargetIssue(missingTargetName: String, schemaName: String) -> LintingIssue { + let reason = + "The target '\(missingTargetName)' specified in \(schemaName) code coverage targets list isn't defined in the project." return LintingIssue(reason: reason, severity: .error) } - func missingExpandVariablesTargetIssue(missingTargetName: String, schemaName: String) -> LintingIssue { - let reason = "The target '\(missingTargetName)' specified in \(schemaName) expandVariableFromTarget isn't defined in the project." + fileprivate func missingExpandVariablesTargetIssue(missingTargetName: String, schemaName: String) -> LintingIssue { + let reason = + "The target '\(missingTargetName)' specified in \(schemaName) expandVariableFromTarget isn't defined in the project." return LintingIssue(reason: reason, severity: .error) } - func projectSchemeCantReferenceRemoteTargets(schemes: [Scheme], project: Project) -> [LintingIssue] { + fileprivate func projectSchemeCantReferenceRemoteTargets(schemes: [Scheme], project: Project) -> [LintingIssue] { schemes.flatMap { projectSchemeCantReferenceRemoteTargets(scheme: $0, project: project) } } - func projectSchemeCantReferenceRemoteTargets(scheme: Scheme, project: Project) -> [LintingIssue] { + fileprivate func projectSchemeCantReferenceRemoteTargets(scheme: Scheme, project: Project) -> [LintingIssue] { var issues: [LintingIssue] = [] scheme.targetDependencies().forEach { if $0.projectPath != project.path { - issues.append(.init(reason: "The target '\($0.name)' specified in scheme '\(scheme.name)' is not defined in the project named '\(project.name)'. Consider using a workspace scheme instead to reference a target in another project.", severity: .error)) + issues.append(.init( + reason: "The target '\($0.name)' specified in scheme '\(scheme.name)' is not defined in the project named '\(project.name)'. Consider using a workspace scheme instead to reference a target in another project.", + severity: .error + )) } } diff --git a/Sources/TuistGenerator/Linter/SettingsLinter.swift b/Sources/TuistGenerator/Linter/SettingsLinter.swift index a4c28868c..3d7eb4218 100644 --- a/Sources/TuistGenerator/Linter/SettingsLinter.swift +++ b/Sources/TuistGenerator/Linter/SettingsLinter.swift @@ -51,14 +51,20 @@ final class SettingsLinter: SettingsLinting { private func lintNonEmptyConfig(project: Project) -> [LintingIssue] { guard !project.settings.configurations.isEmpty else { - return [LintingIssue(reason: "The project at path \(project.path.pathString) has no configurations", severity: .error)] + return [LintingIssue( + reason: "The project at path \(project.path.pathString) has no configurations", + severity: .error + )] } return [] } // TODO_MAJOR_CHANGE: Merge deploymentTarget and platform arguments together. private func lint(platform: Platform, isCompatibleWith deploymentTarget: DeploymentTarget) -> [LintingIssue] { - let issue = LintingIssue(reason: "Found an inconsistency between a platform `\(platform.caseValue)` and deployment target `\(deploymentTarget.platform)`", severity: .error) + let issue = LintingIssue( + reason: "Found an inconsistency between a platform `\(platform.caseValue)` and deployment target `\(deploymentTarget.platform)`", + severity: .error + ) switch deploymentTarget { case .iOS: if platform != .iOS { return [issue] } diff --git a/Sources/TuistGenerator/Linter/StaticProductsGraphLinter.swift b/Sources/TuistGenerator/Linter/StaticProductsGraphLinter.swift index afd6158b7..aa98ed1c3 100644 --- a/Sources/TuistGenerator/Linter/StaticProductsGraphLinter.swift +++ b/Sources/TuistGenerator/Linter/StaticProductsGraphLinter.swift @@ -80,8 +80,8 @@ class StaticProductsGraphLinter: StaticProductsGraphLinting { // Linking node case guard case let GraphDependency.target(targetName, targetPath) = dependency, - let dependencyTarget = graphTraverser.target(path: targetPath, name: targetName), - dependencyTarget.target.canLinkStaticProducts() + let dependencyTarget = graphTraverser.target(path: targetPath, name: targetName), + dependencyTarget.target.canLinkStaticProducts() else { return results } @@ -106,12 +106,12 @@ class StaticProductsGraphLinter: StaticProductsGraphLinting { // during generation - as such those shouldn't be flagged // // reference: https://github.com/tuist/tuist/pull/664 - let apps: Set = linkedBy.filter { (dependency) -> Bool in + let apps: Set = linkedBy.filter { dependency -> Bool in guard case let GraphDependency.target(targetName, targetPath) = dependency else { return false } guard let target = graphTraverser.target(path: targetPath, name: targetName) else { return false } return target.target.product == .app } - let hostedTestBundles = linkedBy.filter { (dependency) -> Bool in + let hostedTestBundles = linkedBy.filter { dependency -> Bool in guard case let GraphDependency.target(targetName, targetPath) = dependency else { return false } guard let target = graphTraverser.target(path: targetPath, name: targetName) else { return false } @@ -198,7 +198,8 @@ class StaticProductsGraphLinter: StaticProductsGraphLinting { private func lintIssue(from warning: StaticDependencyWarning) -> LintingIssue { let names = warning.linkingDependencies.map(\.description).listed() return LintingIssue( - reason: "\(warning.staticProduct) has been linked from \(names), it is a static product so may introduce unwanted side effects.".uppercasingFirst, + reason: "\(warning.staticProduct) has been linked from \(names), it is a static product so may introduce unwanted side effects." + .uppercasingFirst, severity: .warning ) } diff --git a/Sources/TuistGenerator/Linter/TargetLinter.swift b/Sources/TuistGenerator/Linter/TargetLinter.swift index 53eeb70d1..a4da2b1c9 100644 --- a/Sources/TuistGenerator/Linter/TargetLinter.swift +++ b/Sources/TuistGenerator/Linter/TargetLinter.swift @@ -61,7 +61,8 @@ class TargetLinter: TargetLinting { allowed.formUnion(CharacterSet(charactersIn: "-.")) if !bundleIdentifier.unicodeScalars.allSatisfy({ allowed.contains($0) }) { - let reason = "Invalid bundle identifier '\(bundleIdentifier)'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters." + let reason = + "Invalid bundle identifier '\(bundleIdentifier)'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters." return [LintingIssue(reason: reason, severity: .error)] } @@ -72,7 +73,8 @@ class TargetLinter: TargetLinting { let allowed = CharacterSet(charactersIn: "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_") if target.productName.unicodeScalars.allSatisfy(allowed.contains) == false { - let reason = "Invalid product name '\(target.productName)'. This string must contain only alphanumeric (A-Z,a-z,0-9) and underscore (_) characters." + let reason = + "Invalid product name '\(target.productName)'. This string must contain only alphanumeric (A-Z,a-z,0-9) and underscore (_) characters." return [LintingIssue(reason: reason, severity: .warning)] } @@ -91,7 +93,10 @@ class TargetLinter: TargetLinting { if hasNoSources, hasNoDependencies, hasNoScripts { return [LintingIssue(reason: "The target \(target.name) doesn't contain source files.", severity: .warning)] } else if !supportsSources, !sources.isEmpty { - return [LintingIssue(reason: "Target \(target.name) cannot contain sources. \(target.platform) \(target.product) targets don't support source files", severity: .error)] + return [LintingIssue( + reason: "Target \(target.name) cannot contain sources. \(target.platform) \(target.product) targets don't support source files", + severity: .error + )] } return [] @@ -131,12 +136,13 @@ class TargetLinter: TargetLinting { } private func validateCoreDataModelVersionsExist(target: Target) -> [LintingIssue] { - target.coreDataModels.compactMap { (coreDataModel) -> LintingIssue? in + target.coreDataModels.compactMap { coreDataModel -> LintingIssue? in let versionFileName = "\(coreDataModel.currentVersion).xcdatamodel" let versionPath = coreDataModel.path.appending(component: versionFileName) if !FileHandler.shared.exists(versionPath) { - let reason = "The default version of the Core Data model at path \(coreDataModel.path.pathString), \(coreDataModel.currentVersion), does not exist. There should be a file at \(versionPath.pathString)" + let reason = + "The default version of the Core Data model at path \(coreDataModel.path.pathString), \(coreDataModel.currentVersion), does not exist. There should be a file at \(versionPath.pathString)" return LintingIssue(reason: reason, severity: .error) } return nil @@ -146,10 +152,11 @@ class TargetLinter: TargetLinting { private func lintInfoplistExists(target: Target) -> [LintingIssue] { var issues: [LintingIssue] = [] if let infoPlist = target.infoPlist, - case let InfoPlist.file(path: path) = infoPlist, - !FileHandler.shared.exists(path) + case let InfoPlist.file(path: path) = infoPlist, + !FileHandler.shared.exists(path) { - issues.append(LintingIssue(reason: "Info.plist file not found at path \(infoPlist.path!.pathString)", severity: .error)) + issues + .append(LintingIssue(reason: "Info.plist file not found at path \(infoPlist.path!.pathString)", severity: .error)) } return issues } @@ -190,7 +197,10 @@ class TargetLinter: TargetLinting { if !deploymentTarget.version.matches(pattern: osVersionRegex) { return [versionFormatIssue] } let platform = target.platform - let inconsistentPlatformIssue = LintingIssue(reason: "Found an inconsistency between a platform `\(platform.caseValue)` and deployment target `\(deploymentTarget.platform)`", severity: .error) + let inconsistentPlatformIssue = LintingIssue( + reason: "Found an inconsistency between a platform `\(platform.caseValue)` and deployment target `\(deploymentTarget.platform)`", + severity: .error + ) switch deploymentTarget { case .iOS: if platform != .iOS { return [inconsistentPlatformIssue] } @@ -208,7 +218,7 @@ class TargetLinter: TargetLinting { ] if let invalidProducts = invalidProductsForPlatforms[target.platform], - invalidProducts.contains(target.product) + invalidProducts.contains(target.product) { return [ LintingIssue( @@ -227,7 +237,10 @@ class TargetLinter: TargetLinting { target.dependencies.forEach { seen[$0, default: 0] += 1 } let duplicates = seen.enumerated().filter { $0.element.value > 1 } return duplicates.map { - .init(reason: "Target '\(target.name)' has duplicate \($0.element.key.typeName) dependency specified: '\($0.element.key.name)'", severity: .warning) + .init( + reason: "Target '\(target.name)' has duplicate \($0.element.key.typeName) dependency specified: '\($0.element.key.name)'", + severity: .warning + ) } } @@ -249,8 +262,8 @@ class TargetLinter: TargetLinting { } } -private extension TargetDependency { - var typeName: String { +extension TargetDependency { + fileprivate var typeName: String { switch self { case .target: return "target" @@ -271,7 +284,7 @@ private extension TargetDependency { } } - var name: String { + fileprivate var name: String { switch self { case let .target(name): return name diff --git a/Sources/TuistGenerator/Linter/TargetScriptLinter.swift b/Sources/TuistGenerator/Linter/TargetScriptLinter.swift index af758eff3..a71ae8d90 100644 --- a/Sources/TuistGenerator/Linter/TargetScriptLinter.swift +++ b/Sources/TuistGenerator/Linter/TargetScriptLinter.swift @@ -23,7 +23,7 @@ class TargetScriptLinter: TargetScriptLinting { private func lintEmbeddedScriptNotEmpty(_ script: TargetScript) -> [LintingIssue] { guard let script = script.embeddedScript, - script.isEmpty + script.isEmpty else { return [] } return [ diff --git a/Sources/TuistGenerator/Mappers/GenerateInfoPlistProjectMapper.swift b/Sources/TuistGenerator/Mappers/GenerateInfoPlistProjectMapper.swift index 55e865cd4..c4b43ffd4 100644 --- a/Sources/TuistGenerator/Mappers/GenerateInfoPlistProjectMapper.swift +++ b/Sources/TuistGenerator/Mappers/GenerateInfoPlistProjectMapper.swift @@ -33,11 +33,12 @@ public final class GenerateInfoPlistProjectMapper: ProjectMapping { // MARK: - ProjectMapping public func map(project: Project) throws -> (Project, [SideEffectDescriptor]) { - let results = try project.targets.reduce(into: (targets: [Target](), sideEffects: [SideEffectDescriptor]())) { results, target in - let (updatedTarget, sideEffects) = try map(target: target, project: project) - results.targets.append(updatedTarget) - results.sideEffects.append(contentsOf: sideEffects) - } + let results = try project.targets + .reduce(into: (targets: [Target](), sideEffects: [SideEffectDescriptor]())) { results, target in + let (updatedTarget, sideEffects) = try map(target: target, project: project) + results.targets.append(updatedTarget) + results.sideEffects.append(contentsOf: sideEffects) + } return (project.with(targets: results.targets), results.sideEffects) } diff --git a/Sources/TuistGenerator/Mappers/ModuleMapMapper.swift b/Sources/TuistGenerator/Mappers/ModuleMapMapper.swift index f3d46896b..2916ebc6a 100644 --- a/Sources/TuistGenerator/Mappers/ModuleMapMapper.swift +++ b/Sources/TuistGenerator/Mappers/ModuleMapMapper.swift @@ -6,7 +6,12 @@ import TuistSupport enum ModuleMapMapperError: FatalError { case invalidTargetDependency(sourceProject: AbsolutePath, sourceTarget: String, dependentTarget: String) - case invalidProjectTargetDependency(sourceProject: AbsolutePath, sourceTarget: String, dependentProject: AbsolutePath, dependentTarget: String) + case invalidProjectTargetDependency( + sourceProject: AbsolutePath, + sourceTarget: String, + dependentProject: AbsolutePath, + dependentTarget: String + ) /// Error type. var type: ErrorType { @@ -27,7 +32,8 @@ enum ModuleMapMapperError: FatalError { case let .invalidProjectTargetDependency(sourceProject, sourceTarget, dependentProject, dependentTarget): return """ Target '\(sourceTarget)' of the project at path '\(sourceProject.pathString)' \ - depends on a target '\(dependentTarget)' of the project at path '\(dependentProject.pathString)' that can't be found. \ + depends on a target '\(dependentTarget)' of the project at path '\(dependentProject + .pathString)' that can't be found. \ Please make sure your project configuration is correct. """ } @@ -103,7 +109,9 @@ public final class ModuleMapMapper: WorkspaceMapping { return (mappedWorkspace, []) } - private static func makeProjectsByPathWithTargetsByName(workspace: WorkspaceWithProjects) -> ([AbsolutePath: Project], [String: Target]) { + private static func makeProjectsByPathWithTargetsByName(workspace: WorkspaceWithProjects) + -> ([AbsolutePath: Project], [String: Target]) + { var projectsByPath = [AbsolutePath: Project]() var targetsByName = [String: Target]() workspace.projects.forEach { project in @@ -149,7 +157,7 @@ public final class ModuleMapMapper: WorkspaceMapping { dependentTarget = dependentTargetFromName case let .project(name, path): guard let dependentProjectFromPath = projectsByPath[path], - let dependentTargetFromName = targetsByName[name] + let dependentTargetFromName = targetsByName[name] else { throw ModuleMapMapperError.invalidProjectTargetDependency( sourceProject: project.path, diff --git a/Sources/TuistGenerator/Mappers/ResourcesProjectMapper.swift b/Sources/TuistGenerator/Mappers/ResourcesProjectMapper.swift index cd9a72ec8..7e70f9d4e 100644 --- a/Sources/TuistGenerator/Mappers/ResourcesProjectMapper.swift +++ b/Sources/TuistGenerator/Mappers/ResourcesProjectMapper.swift @@ -130,7 +130,8 @@ public class ResourcesProjectMapper: ProjectMapping { private class BundleFinder {} extension Foundation.Bundle { - /// Since \(targetName) is a \(target.product), the bundle containing the resources is copied into the final product. + /// Since \(targetName) is a \(target + .product), the bundle containing the resources is copied into the final product. static var module: Bundle = { return Bundle(for: BundleFinder.self) }() diff --git a/Sources/TuistGenerator/Utils/EmbedScriptGenerator.swift b/Sources/TuistGenerator/Utils/EmbedScriptGenerator.swift index 7d8001ba3..bd7dbb20a 100644 --- a/Sources/TuistGenerator/Utils/EmbedScriptGenerator.swift +++ b/Sources/TuistGenerator/Utils/EmbedScriptGenerator.swift @@ -73,7 +73,9 @@ final class EmbedScriptGenerator: EmbedScriptGenerating { } for frameworkReference in frameworkReferences { - guard case let GraphDependencyReference.framework(path, _, _, dsymPath, bcsymbolmapPaths, _, _, _) = frameworkReference else { + guard case let GraphDependencyReference + .framework(path, _, _, dsymPath, bcsymbolmapPaths, _, _, _) = frameworkReference + else { preconditionFailure("references need to be of type framework") break } @@ -253,9 +255,9 @@ final class EmbedScriptGenerator: EmbedScriptGenerating { // swiftlint:enable line_length } -private extension RelativePath { +extension RelativePath { /// Returns the basename without the extension. - var basenameWithoutExt: String { + fileprivate var basenameWithoutExt: String { if let ext = self.extension { return String(basename.dropLast(ext.count + 1)) } diff --git a/Sources/TuistGenerator/Utils/SortedPBXGroup.swift b/Sources/TuistGenerator/Utils/SortedPBXGroup.swift index 8a591583a..78e360477 100644 --- a/Sources/TuistGenerator/Utils/SortedPBXGroup.swift +++ b/Sources/TuistGenerator/Utils/SortedPBXGroup.swift @@ -22,7 +22,7 @@ class SortedPBXGroup { // The sorting implementation was taken from https://github.com/yonaskolb/XcodeGen/blob/d64cfff8a1ca01fd8f18cbb41f72230983c4a192/Sources/XcodeGenKit/PBXProjGenerator.swift // We require exactly the same sort which places groups over files while using the PBXGroup from Xcodeproj. private func sort(with group: PBXGroup) { - group.children.sort { (child1, child2) -> Bool in + group.children.sort { child1, child2 -> Bool in let sortOrder1 = child1.getSortOrder() let sortOrder2 = child2.getSortOrder() if sortOrder1 != sortOrder2 { @@ -35,14 +35,14 @@ class SortedPBXGroup { } } -private extension PBXGroup { - var childGroups: [PBXGroup] { +extension PBXGroup { + fileprivate var childGroups: [PBXGroup] { children.compactMap { $0 as? PBXGroup } } } -private extension PBXFileElement { - func getSortOrder() -> Int { +extension PBXFileElement { + fileprivate func getSortOrder() -> Int { switch self { case is PBXGroup: return -1 @@ -51,11 +51,11 @@ private extension PBXFileElement { } } - static func sortByNameThenPath(_ lhs: PBXFileElement, _ rhs: PBXFileElement) -> Bool { + fileprivate static func sortByNameThenPath(_ lhs: PBXFileElement, _ rhs: PBXFileElement) -> Bool { lhs.namePathSortString.localizedStandardCompare(rhs.namePathSortString) == .orderedAscending } - var namePathSortString: String { + fileprivate var namePathSortString: String { "\(name ?? path ?? "")\t\(name ?? "")\t\(path ?? "")" } } diff --git a/Sources/TuistGenerator/Utils/SwiftPackageManagerInteractor.swift b/Sources/TuistGenerator/Utils/SwiftPackageManagerInteractor.swift index a11554ad6..2ca8a1d6a 100644 --- a/Sources/TuistGenerator/Utils/SwiftPackageManagerInteractor.swift +++ b/Sources/TuistGenerator/Utils/SwiftPackageManagerInteractor.swift @@ -49,7 +49,7 @@ public class SwiftPackageManagerInteractor: SwiftPackageManagerInteracting { graphTraverser: GraphTraversing ) throws { guard !config.generationOptions.contains(.disablePackageVersionLocking), - graphTraverser.hasRemotePackages + graphTraverser.hasRemotePackages else { return } diff --git a/Sources/TuistGenerator/Writers/XcodeProjWriter.swift b/Sources/TuistGenerator/Writers/XcodeProjWriter.swift index 180cba50b..93d209b1c 100644 --- a/Sources/TuistGenerator/Writers/XcodeProjWriter.swift +++ b/Sources/TuistGenerator/Writers/XcodeProjWriter.swift @@ -164,12 +164,12 @@ public final class XcodeProjWriter: XcodeProjWriting { } } -private extension ProjectDescriptor { - var sharedSchemeDescriptors: [SchemeDescriptor] { +extension ProjectDescriptor { + fileprivate var sharedSchemeDescriptors: [SchemeDescriptor] { schemeDescriptors.filter { $0.shared } } - var userSchemeDescriptors: [SchemeDescriptor] { + fileprivate var userSchemeDescriptors: [SchemeDescriptor] { schemeDescriptors.filter { !$0.shared } } } diff --git a/Sources/TuistGeneratorTesting/Descriptors/TestData/ProjectDescriptor+TestData.swift b/Sources/TuistGeneratorTesting/Descriptors/TestData/ProjectDescriptor+TestData.swift index 065219320..1a0f32a20 100644 --- a/Sources/TuistGeneratorTesting/Descriptors/TestData/ProjectDescriptor+TestData.swift +++ b/Sources/TuistGeneratorTesting/Descriptors/TestData/ProjectDescriptor+TestData.swift @@ -5,11 +5,11 @@ import XcodeProj @testable import TuistGenerator -public extension ProjectDescriptor { - static func test(path: AbsolutePath = AbsolutePath("/Test"), - xcodeprojPath: AbsolutePath? = nil, - schemes: [SchemeDescriptor] = [], - sideEffects: [SideEffectDescriptor] = []) -> ProjectDescriptor +extension ProjectDescriptor { + public static func test(path: AbsolutePath = AbsolutePath("/Test"), + xcodeprojPath: AbsolutePath? = nil, + schemes: [SchemeDescriptor] = [], + sideEffects: [SideEffectDescriptor] = []) -> ProjectDescriptor { let mainGroup = PBXGroup() let configurationList = XCConfigurationList() diff --git a/Sources/TuistGeneratorTesting/Descriptors/TestData/SchemeDescriptor+TestData.swift b/Sources/TuistGeneratorTesting/Descriptors/TestData/SchemeDescriptor+TestData.swift index 25c54eff1..73faf2df2 100644 --- a/Sources/TuistGeneratorTesting/Descriptors/TestData/SchemeDescriptor+TestData.swift +++ b/Sources/TuistGeneratorTesting/Descriptors/TestData/SchemeDescriptor+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic import XcodeProj @testable import TuistGenerator -public extension SchemeDescriptor { - static func test(name: String, shared: Bool, hidden: Bool = false) -> SchemeDescriptor { +extension SchemeDescriptor { + public static func test(name: String, shared: Bool, hidden: Bool = false) -> SchemeDescriptor { let scheme = XCScheme(name: name, lastUpgradeVersion: "1131", version: "1") return SchemeDescriptor(xcScheme: scheme, shared: shared, hidden: hidden) } diff --git a/Sources/TuistGeneratorTesting/Descriptors/TestData/WorkspaceDescriptor+TestData.swift b/Sources/TuistGeneratorTesting/Descriptors/TestData/WorkspaceDescriptor+TestData.swift index 44363c2bf..390cfe191 100644 --- a/Sources/TuistGeneratorTesting/Descriptors/TestData/WorkspaceDescriptor+TestData.swift +++ b/Sources/TuistGeneratorTesting/Descriptors/TestData/WorkspaceDescriptor+TestData.swift @@ -5,12 +5,12 @@ import XcodeProj @testable import TuistGenerator -public extension WorkspaceDescriptor { - static func test(path: AbsolutePath = AbsolutePath("/Test"), - xcworkspacePath: AbsolutePath = AbsolutePath("/Test/Project.xcworkspace"), - projects: [ProjectDescriptor] = [], - schemes: [SchemeDescriptor] = [], - sideEffects: [SideEffectDescriptor] = []) -> WorkspaceDescriptor +extension WorkspaceDescriptor { + public static func test(path: AbsolutePath = AbsolutePath("/Test"), + xcworkspacePath: AbsolutePath = AbsolutePath("/Test/Project.xcworkspace"), + projects: [ProjectDescriptor] = [], + schemes: [SchemeDescriptor] = [], + sideEffects: [SideEffectDescriptor] = []) -> WorkspaceDescriptor { WorkspaceDescriptor( path: path, diff --git a/Sources/TuistGraph/Models/BinaryArchitecture.swift b/Sources/TuistGraph/Models/BinaryArchitecture.swift index 9c4e53005..12ddf4131 100644 --- a/Sources/TuistGraph/Models/BinaryArchitecture.swift +++ b/Sources/TuistGraph/Models/BinaryArchitecture.swift @@ -15,9 +15,9 @@ public enum BinaryLinking: String, Codable { case `static`, dynamic } -public extension Sequence where Element == BinaryArchitecture { +extension Sequence where Element == BinaryArchitecture { /// Returns true if all the architectures are only for simulator. - var onlySimulator: Bool { + public var onlySimulator: Bool { let simulatorArchitectures: [BinaryArchitecture] = [.x8664, .i386, .arm64] return allSatisfy { simulatorArchitectures.contains($0) } } diff --git a/Sources/TuistGraph/Models/Dependencies/CarthageDependencies.swift b/Sources/TuistGraph/Models/Dependencies/CarthageDependencies.swift index 5370690cc..dd1e7c225 100644 --- a/Sources/TuistGraph/Models/Dependencies/CarthageDependencies.swift +++ b/Sources/TuistGraph/Models/Dependencies/CarthageDependencies.swift @@ -24,8 +24,8 @@ public struct CarthageDependencies: Equatable { // MARK: - CarthageDependencies.Dependency -public extension CarthageDependencies { - enum Dependency: Equatable { +extension CarthageDependencies { + public enum Dependency: Equatable { case github(path: String, requirement: Requirement) case git(path: String, requirement: Requirement) case binary(path: String, requirement: Requirement) @@ -46,8 +46,8 @@ public extension CarthageDependencies { // MARK: - CarthageDependencies.Requirement -public extension CarthageDependencies { - enum Requirement: Equatable { +extension CarthageDependencies { + public enum Requirement: Equatable { case exact(String) case upToNext(String) case atLeast(String) diff --git a/Sources/TuistGraph/Models/Dependencies/SwiftPackageManagerDependencies.swift b/Sources/TuistGraph/Models/Dependencies/SwiftPackageManagerDependencies.swift index 2d74abce5..db47ea618 100644 --- a/Sources/TuistGraph/Models/Dependencies/SwiftPackageManagerDependencies.swift +++ b/Sources/TuistGraph/Models/Dependencies/SwiftPackageManagerDependencies.swift @@ -53,9 +53,9 @@ extension SwiftPackageManagerDependencies { // MARK: - Package.manifestValue() -private extension Package { +extension Package { /// Returns `Package.swift` representation. - var manifestValue: String { + fileprivate var manifestValue: String { switch self { case let .local(path): return #".package(path: "\#(path)")"# @@ -67,9 +67,9 @@ private extension Package { // MARK: - Requirement.manifestValue() -private extension Requirement { +extension Requirement { /// Returns `Package.swift` representation. - var manifestValue: String { + fileprivate var manifestValue: String { switch self { case let .exact(version): return #".exact("\#(version)")"# diff --git a/Sources/TuistGraph/Models/IDETemplateMacros.swift b/Sources/TuistGraph/Models/IDETemplateMacros.swift index 7da7502de..59490b2af 100644 --- a/Sources/TuistGraph/Models/IDETemplateMacros.swift +++ b/Sources/TuistGraph/Models/IDETemplateMacros.swift @@ -18,7 +18,7 @@ public struct IDETemplateMacros: Codable, Hashable { // it is desired to also add leading space if it is not already present, // but if header starts with `//` then I know what I am doing and it should be kept intact if !fileHeader.hasPrefix("//"), let first = fileHeader.first.map(String.init), - first.trimmingCharacters(in: .whitespacesAndNewlines) == first + first.trimmingCharacters(in: .whitespacesAndNewlines) == first { fileHeader.insert(" ", at: fileHeader.startIndex) } diff --git a/Sources/TuistGraph/Models/ProjectOption.swift b/Sources/TuistGraph/Models/ProjectOption.swift index 1a4277d80..223836fdf 100644 --- a/Sources/TuistGraph/Models/ProjectOption.swift +++ b/Sources/TuistGraph/Models/ProjectOption.swift @@ -45,7 +45,7 @@ extension ProjectOption: Hashable { // MARK: - Options + Codable extension ProjectOption { - enum CodingKeys: String, CodingKey { + internal enum CodingKeys: String, CodingKey { case textSettings } diff --git a/Sources/TuistGraph/Models/ResourceFileElement.swift b/Sources/TuistGraph/Models/ResourceFileElement.swift index 822ebedcd..3c916aacd 100644 --- a/Sources/TuistGraph/Models/ResourceFileElement.swift +++ b/Sources/TuistGraph/Models/ResourceFileElement.swift @@ -37,8 +37,8 @@ public enum ResourceFileElement: Equatable, Hashable, Codable { } } -public extension Array where Element == TuistGraph.ResourceFileElement { - mutating func remove(path: AbsolutePath) { +extension Array where Element == TuistGraph.ResourceFileElement { + public mutating func remove(path: AbsolutePath) { guard let index = firstIndex(of: TuistGraph.ResourceFileElement(path: path)) else { return } remove(at: index) } diff --git a/Sources/TuistGraph/Models/TestableTarget.swift b/Sources/TuistGraph/Models/TestableTarget.swift index de525b887..a7122fbb7 100644 --- a/Sources/TuistGraph/Models/TestableTarget.swift +++ b/Sources/TuistGraph/Models/TestableTarget.swift @@ -7,7 +7,12 @@ public struct TestableTarget: Equatable, Hashable, Codable { public let isParallelizable: Bool public let isRandomExecutionOrdering: Bool - public init(target: TargetReference, skipped: Bool = false, parallelizable: Bool = false, randomExecutionOrdering: Bool = false) { + public init( + target: TargetReference, + skipped: Bool = false, + parallelizable: Bool = false, + randomExecutionOrdering: Bool = false + ) { self.target = target isSkipped = skipped isParallelizable = parallelizable diff --git a/Sources/TuistGraphTesting/DependenciesGraph/DependenciesGraph+TestData.swift b/Sources/TuistGraphTesting/DependenciesGraph/DependenciesGraph+TestData.swift index 37804ebb1..c833fdb43 100644 --- a/Sources/TuistGraphTesting/DependenciesGraph/DependenciesGraph+TestData.swift +++ b/Sources/TuistGraphTesting/DependenciesGraph/DependenciesGraph+TestData.swift @@ -2,9 +2,9 @@ import Foundation import TSCBasic import TuistGraph -public extension DependenciesGraph { +extension DependenciesGraph { /// A snapshot of `graph.json` file. - static var testJson: String { + public static var testJson: String { """ { "externalDependencies" : { @@ -20,14 +20,14 @@ public extension DependenciesGraph { """ } - static func test( + public static func test( externalDependencies: [String: [TargetDependency]] = [:], externalProjects: [AbsolutePath: Project] = [:] ) -> Self { return .init(externalDependencies: externalDependencies, externalProjects: externalProjects) } - static func testXCFramework( + public static func testXCFramework( name: String = "Test", path: AbsolutePath = AbsolutePath.root.appending(RelativePath("Test.xcframework")) ) -> DependenciesGraph { @@ -39,7 +39,7 @@ public extension DependenciesGraph { ) } - static func test(packageFolder: AbsolutePath) -> Self { + public static func test(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "Tuist": [.project(target: "Tuist", path: packageFolder)], @@ -48,7 +48,7 @@ public extension DependenciesGraph { ) } - static func aDependency(packageFolder: AbsolutePath) -> Self { + public static func aDependency(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "ALibrary": [.project(target: "ALibrary", path: packageFolder)], @@ -57,7 +57,7 @@ public extension DependenciesGraph { ) } - static func anotherDependency(packageFolder: AbsolutePath) -> Self { + public static func anotherDependency(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "AnotherLibrary": [.project(target: "AnotherLibrary", path: packageFolder)], @@ -66,7 +66,7 @@ public extension DependenciesGraph { ) } - static func alamofire(packageFolder: AbsolutePath) -> Self { + public static func alamofire(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "Alamofire": [.project(target: "Alamofire", path: packageFolder)], @@ -75,17 +75,20 @@ public extension DependenciesGraph { ) } - static func googleAppMeasurement(packageFolder: AbsolutePath) -> Self { + public static func googleAppMeasurement(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "GoogleAppMeasurement": [.project(target: "GoogleAppMeasurementTarget", path: packageFolder)], - "GoogleAppMeasurementWithoutAdIdSupport": [.project(target: "GoogleAppMeasurementWithoutAdIdSupportTarget", path: packageFolder)], + "GoogleAppMeasurementWithoutAdIdSupport": [.project( + target: "GoogleAppMeasurementWithoutAdIdSupportTarget", + path: packageFolder + )], ], externalProjects: [:] ) } - static func googleUtilities(packageFolder: AbsolutePath) -> Self { + public static func googleUtilities(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "GULAppDelegateSwizzler": [.project(target: "GULAppDelegateSwizzler", path: packageFolder)], @@ -97,7 +100,7 @@ public extension DependenciesGraph { ) } - static func nanopb(packageFolder: AbsolutePath) -> Self { + public static func nanopb(packageFolder: AbsolutePath) -> Self { return .init( externalDependencies: [ "nanopb": [.project(target: "nanopb", path: packageFolder)], diff --git a/Sources/TuistGraphTesting/Graph/Graph+TestData.swift b/Sources/TuistGraphTesting/Graph/Graph+TestData.swift index dbc720b6c..509204fc6 100644 --- a/Sources/TuistGraphTesting/Graph/Graph+TestData.swift +++ b/Sources/TuistGraphTesting/Graph/Graph+TestData.swift @@ -2,14 +2,14 @@ import Foundation import TSCBasic import TuistGraph -public extension Graph { - static func test(name: String = "graph", - path: AbsolutePath = .root, - workspace: Workspace = .test(), - projects: [AbsolutePath: Project] = [:], - packages: [AbsolutePath: [String: Package]] = [:], - targets: [AbsolutePath: [String: Target]] = [:], - dependencies: [GraphDependency: Set] = [:]) -> Graph +extension Graph { + public static func test(name: String = "graph", + path: AbsolutePath = .root, + workspace: Workspace = .test(), + projects: [AbsolutePath: Project] = [:], + packages: [AbsolutePath: [String: Package]] = [:], + targets: [AbsolutePath: [String: Target]] = [:], + dependencies: [GraphDependency: Set] = [:]) -> Graph { Graph( name: name, diff --git a/Sources/TuistGraphTesting/Graph/GraphDependency+TestData.swift b/Sources/TuistGraphTesting/Graph/GraphDependency+TestData.swift index 037682c8c..3e3530c08 100644 --- a/Sources/TuistGraphTesting/Graph/GraphDependency+TestData.swift +++ b/Sources/TuistGraphTesting/Graph/GraphDependency+TestData.swift @@ -3,14 +3,14 @@ import TSCBasic @testable import TuistGraph -public extension GraphDependency { - static func testFramework(path: AbsolutePath = AbsolutePath.root.appending(component: "Test.framework"), - binaryPath: AbsolutePath = AbsolutePath.root.appending(RelativePath("Test.framework/Test")), - dsymPath: AbsolutePath? = nil, - bcsymbolmapPaths: [AbsolutePath] = [], - linking: BinaryLinking = .dynamic, - architectures: [BinaryArchitecture] = [.armv7], - isCarthage: Bool = false) -> GraphDependency +extension GraphDependency { + public static func testFramework(path: AbsolutePath = AbsolutePath.root.appending(component: "Test.framework"), + binaryPath: AbsolutePath = AbsolutePath.root.appending(RelativePath("Test.framework/Test")), + dsymPath: AbsolutePath? = nil, + bcsymbolmapPaths: [AbsolutePath] = [], + linking: BinaryLinking = .dynamic, + architectures: [BinaryArchitecture] = [.armv7], + isCarthage: Bool = false) -> GraphDependency { GraphDependency.framework( path: path, @@ -23,10 +23,11 @@ public extension GraphDependency { ) } - static func testXCFramework(path: AbsolutePath = AbsolutePath.root.appending(RelativePath("Test.xcframework")), - infoPlist: XCFrameworkInfoPlist = .test(), - primaryBinaryPath: AbsolutePath = AbsolutePath.root.appending(RelativePath("Test.xcframework/Test")), - linking: BinaryLinking = .dynamic) -> GraphDependency + public static func testXCFramework(path: AbsolutePath = AbsolutePath.root.appending(RelativePath("Test.xcframework")), + infoPlist: XCFrameworkInfoPlist = .test(), + primaryBinaryPath: AbsolutePath = AbsolutePath.root + .appending(RelativePath("Test.xcframework/Test")), + linking: BinaryLinking = .dynamic) -> GraphDependency { .xcframework( path: path, @@ -36,8 +37,8 @@ public extension GraphDependency { ) } - static func testTarget(name: String = "Test", - path: AbsolutePath = .root) -> GraphDependency + public static func testTarget(name: String = "Test", + path: AbsolutePath = .root) -> GraphDependency { .target( name: name, @@ -45,10 +46,10 @@ public extension GraphDependency { ) } - static func testSDK(name: String = "XCTest", - path: AbsolutePath = AbsolutePath.root.appending(RelativePath("XCTest.framework")), - status: SDKStatus = .required, - source: SDKSource = .system) -> GraphDependency + public static func testSDK(name: String = "XCTest", + path: AbsolutePath = AbsolutePath.root.appending(RelativePath("XCTest.framework")), + status: SDKStatus = .required, + source: SDKSource = .system) -> GraphDependency { .sdk( name: name, @@ -58,11 +59,11 @@ public extension GraphDependency { ) } - static func testLibrary(path: AbsolutePath = AbsolutePath.root.appending(RelativePath("libTuist.a")), - publicHeaders: AbsolutePath = AbsolutePath.root.appending(RelativePath("headers")), - linking: BinaryLinking = .dynamic, - architectures: [BinaryArchitecture] = [.armv7], - swiftModuleMap: AbsolutePath? = nil) -> GraphDependency + public static func testLibrary(path: AbsolutePath = AbsolutePath.root.appending(RelativePath("libTuist.a")), + publicHeaders: AbsolutePath = AbsolutePath.root.appending(RelativePath("headers")), + linking: BinaryLinking = .dynamic, + architectures: [BinaryArchitecture] = [.armv7], + swiftModuleMap: AbsolutePath? = nil) -> GraphDependency { .library( path: path, @@ -73,8 +74,8 @@ public extension GraphDependency { ) } - static func testPackageProduct(path: AbsolutePath = .root, - product: String = "Tuist") -> GraphDependency + public static func testPackageProduct(path: AbsolutePath = .root, + product: String = "Tuist") -> GraphDependency { .packageProduct( path: path, diff --git a/Sources/TuistGraphTesting/Graph/GraphTarget+TestData.swift b/Sources/TuistGraphTesting/Graph/GraphTarget+TestData.swift index 238e62c5a..cd10d0c8d 100644 --- a/Sources/TuistGraphTesting/Graph/GraphTarget+TestData.swift +++ b/Sources/TuistGraphTesting/Graph/GraphTarget+TestData.swift @@ -3,10 +3,10 @@ import TSCBasic @testable import TuistGraph -public extension GraphTarget { - static func test(path: AbsolutePath = .root, - target: Target = .test(), - project: Project = .test()) -> GraphTarget +extension GraphTarget { + public static func test(path: AbsolutePath = .root, + target: Target = .test(), + project: Project = .test()) -> GraphTarget { GraphTarget( path: path, diff --git a/Sources/TuistGraphTesting/Models/AnalyzeAction+TestData.swift b/Sources/TuistGraphTesting/Models/AnalyzeAction+TestData.swift index 23a290718..6372cfafc 100644 --- a/Sources/TuistGraphTesting/Models/AnalyzeAction+TestData.swift +++ b/Sources/TuistGraphTesting/Models/AnalyzeAction+TestData.swift @@ -2,8 +2,8 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension AnalyzeAction { - static func test(configurationName: String = "Beta Release") -> AnalyzeAction { +extension AnalyzeAction { + public static func test(configurationName: String = "Beta Release") -> AnalyzeAction { AnalyzeAction(configurationName: configurationName) } } diff --git a/Sources/TuistGraphTesting/Models/ArchiveAction+TestData.swift b/Sources/TuistGraphTesting/Models/ArchiveAction+TestData.swift index 8a7b6f7fd..c40cece58 100644 --- a/Sources/TuistGraphTesting/Models/ArchiveAction+TestData.swift +++ b/Sources/TuistGraphTesting/Models/ArchiveAction+TestData.swift @@ -2,12 +2,12 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension ArchiveAction { - static func test(configurationName: String = "Beta Release", - revealArchiveInOrganizer: Bool = true, - customArchiveName: String? = nil, - preActions: [ExecutionAction] = [], - postActions: [ExecutionAction] = []) -> ArchiveAction +extension ArchiveAction { + public static func test(configurationName: String = "Beta Release", + revealArchiveInOrganizer: Bool = true, + customArchiveName: String? = nil, + preActions: [ExecutionAction] = [], + postActions: [ExecutionAction] = []) -> ArchiveAction { ArchiveAction( configurationName: configurationName, diff --git a/Sources/TuistGraphTesting/Models/Arguments+TestData.swift b/Sources/TuistGraphTesting/Models/Arguments+TestData.swift index 4578e1772..0a63d8640 100644 --- a/Sources/TuistGraphTesting/Models/Arguments+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Arguments+TestData.swift @@ -2,9 +2,9 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension Arguments { - static func test(environment: [String: String] = [:], - launchArguments: [LaunchArgument] = []) -> Arguments +extension Arguments { + public static func test(environment: [String: String] = [:], + launchArguments: [LaunchArgument] = []) -> Arguments { Arguments( environment: environment, diff --git a/Sources/TuistGraphTesting/Models/BuildAction+TestData.swift b/Sources/TuistGraphTesting/Models/BuildAction+TestData.swift index e79ef0108..902332ab4 100644 --- a/Sources/TuistGraphTesting/Models/BuildAction+TestData.swift +++ b/Sources/TuistGraphTesting/Models/BuildAction+TestData.swift @@ -3,10 +3,10 @@ import TSCBasic import TuistSupport @testable import TuistGraph -public extension BuildAction { - static func test(targets: [TargetReference] = [TargetReference(projectPath: "/Project", name: "App")], - preActions: [ExecutionAction] = [], - postActions: [ExecutionAction] = []) -> BuildAction +extension BuildAction { + public static func test(targets: [TargetReference] = [TargetReference(projectPath: "/Project", name: "App")], + preActions: [ExecutionAction] = [], + postActions: [ExecutionAction] = []) -> BuildAction { BuildAction(targets: targets, preActions: preActions, postActions: postActions) } diff --git a/Sources/TuistGraphTesting/Models/Cache+TestData.swift b/Sources/TuistGraphTesting/Models/Cache+TestData.swift index b89169d56..35136bc9a 100644 --- a/Sources/TuistGraphTesting/Models/Cache+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Cache+TestData.swift @@ -3,14 +3,14 @@ import TSCBasic import struct TSCUtility.Version @testable import TuistGraph -public extension Cache { - static func test(profiles: [Cache.Profile] = [Cache.Profile.test()]) -> Cache { +extension Cache { + public static func test(profiles: [Cache.Profile] = [Cache.Profile.test()]) -> Cache { Cache(profiles: profiles, path: nil) } } -public extension Cache.Profile { - static func test( +extension Cache.Profile { + public static func test( name: String = "Development", configuration: String = "Debug", device: String? = nil, diff --git a/Sources/TuistGraphTesting/Models/Cloud+TestData.swift b/Sources/TuistGraphTesting/Models/Cloud+TestData.swift index 209ee80ab..14078fc7a 100644 --- a/Sources/TuistGraphTesting/Models/Cloud+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Cloud+TestData.swift @@ -3,10 +3,10 @@ import TSCBasic import TuistSupportTesting @testable import TuistGraph -public extension Cloud { - static func test(url: URL = URL.test(), - projectId: String = "123", - options: [Cloud.Option] = []) -> Cloud +extension Cloud { + public static func test(url: URL = URL.test(), + projectId: String = "123", + options: [Cloud.Option] = []) -> Cloud { Cloud(url: url, projectId: projectId, options: options) } diff --git a/Sources/TuistGraphTesting/Models/Config+TestData.swift b/Sources/TuistGraphTesting/Models/Config+TestData.swift index 040d060b6..00519f99a 100644 --- a/Sources/TuistGraphTesting/Models/Config+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Config+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic import TSCUtility @testable import TuistGraph -public extension Config { - static func test( +extension Config { + public static func test( compatibleXcodeVersions: CompatibleXcodeVersions = .all, cloud: Cloud? = Cloud.test(), cache: Cache? = Cache.test(), diff --git a/Sources/TuistGraphTesting/Models/Headers+TestData.swift b/Sources/TuistGraphTesting/Models/Headers+TestData.swift index c83ebf5a3..f5025e3b0 100644 --- a/Sources/TuistGraphTesting/Models/Headers+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Headers+TestData.swift @@ -2,10 +2,10 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension Headers { - static func test(public: [AbsolutePath] = [], - private: [AbsolutePath] = [], - project: [AbsolutePath] = []) -> Headers +extension Headers { + public static func test(public: [AbsolutePath] = [], + private: [AbsolutePath] = [], + project: [AbsolutePath] = []) -> Headers { Headers( public: `public`, diff --git a/Sources/TuistGraphTesting/Models/IDETemplateMacros+TestData.swift b/Sources/TuistGraphTesting/Models/IDETemplateMacros+TestData.swift index 1144a899e..959cea8b6 100644 --- a/Sources/TuistGraphTesting/Models/IDETemplateMacros+TestData.swift +++ b/Sources/TuistGraphTesting/Models/IDETemplateMacros+TestData.swift @@ -2,8 +2,8 @@ import Foundation import TuistGraph import TuistSupportTesting -public extension IDETemplateMacros { - static func test(fileHeader: String? = "Header template") -> IDETemplateMacros { +extension IDETemplateMacros { + public static func test(fileHeader: String? = "Header template") -> IDETemplateMacros { IDETemplateMacros(fileHeader: fileHeader) } } diff --git a/Sources/TuistGraphTesting/Models/Metadata/FrameworkMetadata+TestData.swift b/Sources/TuistGraphTesting/Models/Metadata/FrameworkMetadata+TestData.swift index ac7486bb3..58075e21e 100644 --- a/Sources/TuistGraphTesting/Models/Metadata/FrameworkMetadata+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Metadata/FrameworkMetadata+TestData.swift @@ -2,8 +2,8 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension FrameworkMetadata { - static func test( +extension FrameworkMetadata { + public static func test( path: AbsolutePath = "/Frameworks/TestFramework.xframework", binaryPath: AbsolutePath = "/Frameworks/TestFramework.xframework/TestFramework", dsymPath: AbsolutePath? = nil, diff --git a/Sources/TuistGraphTesting/Models/Metadata/LibraryMetadata+TestData.swift b/Sources/TuistGraphTesting/Models/Metadata/LibraryMetadata+TestData.swift index 50589ac2d..35cde0f60 100644 --- a/Sources/TuistGraphTesting/Models/Metadata/LibraryMetadata+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Metadata/LibraryMetadata+TestData.swift @@ -2,8 +2,8 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension LibraryMetadata { - static func test( +extension LibraryMetadata { + public static func test( path: AbsolutePath = "/Libraries/libTest/libTest.a", publicHeaders: AbsolutePath = "/Libraries/libTest/include", swiftModuleMap: AbsolutePath? = "/Libraries/libTest/libTest.swiftmodule", diff --git a/Sources/TuistGraphTesting/Models/Metadata/XCFrameworkMetadata+TestData.swift b/Sources/TuistGraphTesting/Models/Metadata/XCFrameworkMetadata+TestData.swift index c4cd53f70..512c2dab3 100644 --- a/Sources/TuistGraphTesting/Models/Metadata/XCFrameworkMetadata+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Metadata/XCFrameworkMetadata+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic @testable import TuistGraph -public extension XCFrameworkMetadata { - static func test( +extension XCFrameworkMetadata { + public static func test( path: AbsolutePath = "/XCFrameworks/XCFramework.xcframework", infoPlist: XCFrameworkInfoPlist = .test(), primaryBinaryPath: AbsolutePath = "/XCFrameworks/XCFramework.xcframework/ios-arm64/XCFramework", diff --git a/Sources/TuistGraphTesting/Models/Plugins+TestData.swift b/Sources/TuistGraphTesting/Models/Plugins+TestData.swift index e601359de..941d2282d 100644 --- a/Sources/TuistGraphTesting/Models/Plugins+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Plugins+TestData.swift @@ -2,8 +2,8 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension Plugins { - static func test( +extension Plugins { + public static func test( projectDescriptionHelpers: [ProjectDescriptionHelpersPlugin] = [], templatePaths: [AbsolutePath] = [], resourceSynthesizers: [PluginResourceSynthesizer] = [], diff --git a/Sources/TuistGraphTesting/Models/ProfileAction+TestData.swift b/Sources/TuistGraphTesting/Models/ProfileAction+TestData.swift index b0332113a..5c94e3276 100644 --- a/Sources/TuistGraphTesting/Models/ProfileAction+TestData.swift +++ b/Sources/TuistGraphTesting/Models/ProfileAction+TestData.swift @@ -2,10 +2,10 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension ProfileAction { - static func test(configurationName: String = "Beta Release", - executable: TargetReference? = TargetReference(projectPath: "/Project", name: "App"), - arguments: Arguments? = Arguments.test()) -> ProfileAction +extension ProfileAction { + public static func test(configurationName: String = "Beta Release", + executable: TargetReference? = TargetReference(projectPath: "/Project", name: "App"), + arguments: Arguments? = Arguments.test()) -> ProfileAction { ProfileAction( configurationName: configurationName, diff --git a/Sources/TuistGraphTesting/Models/Project+TestData.swift b/Sources/TuistGraphTesting/Models/Project+TestData.swift index f32060f51..de4e97db5 100644 --- a/Sources/TuistGraphTesting/Models/Project+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Project+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic import TSCUtility @testable import TuistGraph -public extension Project { - static func test( +extension Project { + public static func test( path: AbsolutePath = AbsolutePath("/Project"), sourceRootPath: AbsolutePath = AbsolutePath("/Project"), xcodeProjPath: AbsolutePath = AbsolutePath("/Project/Project.xcodeproj"), @@ -42,7 +42,7 @@ public extension Project { ) } - static func empty( + public static func empty( path: AbsolutePath = AbsolutePath("/test/"), sourceRootPath: AbsolutePath = AbsolutePath("/test/"), xcodeProjPath: AbsolutePath = AbsolutePath("/test/text.xcodeproj"), diff --git a/Sources/TuistGraphTesting/Models/RawScriptBuildPhase+TestData.swift b/Sources/TuistGraphTesting/Models/RawScriptBuildPhase+TestData.swift index 1d5700624..b507dd345 100644 --- a/Sources/TuistGraphTesting/Models/RawScriptBuildPhase+TestData.swift +++ b/Sources/TuistGraphTesting/Models/RawScriptBuildPhase+TestData.swift @@ -2,11 +2,11 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension RawScriptBuildPhase { - static func test(name: String = "Test", - script: String = "", - showEnvVarsInLog: Bool = false, - hashable: Bool = false) -> RawScriptBuildPhase +extension RawScriptBuildPhase { + public static func test(name: String = "Test", + script: String = "", + showEnvVarsInLog: Bool = false, + hashable: Bool = false) -> RawScriptBuildPhase { RawScriptBuildPhase(name: name, script: script, showEnvVarsInLog: showEnvVarsInLog, hashable: hashable) } diff --git a/Sources/TuistGraphTesting/Models/ResourceSynthesizerPlugin+TestData.swift b/Sources/TuistGraphTesting/Models/ResourceSynthesizerPlugin+TestData.swift index d75b0b150..cd34806f7 100644 --- a/Sources/TuistGraphTesting/Models/ResourceSynthesizerPlugin+TestData.swift +++ b/Sources/TuistGraphTesting/Models/ResourceSynthesizerPlugin+TestData.swift @@ -2,8 +2,8 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension PluginResourceSynthesizer { - static func test( +extension PluginResourceSynthesizer { + public static func test( name: String = "Plugin", path: AbsolutePath = AbsolutePath("/test") ) -> Self { diff --git a/Sources/TuistGraphTesting/Models/RunAction+TestData.swift b/Sources/TuistGraphTesting/Models/RunAction+TestData.swift index 974685125..3cbd3f60c 100644 --- a/Sources/TuistGraphTesting/Models/RunAction+TestData.swift +++ b/Sources/TuistGraphTesting/Models/RunAction+TestData.swift @@ -2,13 +2,13 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension RunAction { - static func test(configurationName: String = BuildConfiguration.debug.name, - executable: TargetReference? = TargetReference(projectPath: "/Project", name: "App"), - filePath: AbsolutePath? = nil, - arguments: Arguments? = Arguments.test(), - options: RunActionOptions = .init(), - diagnosticsOptions: Set = [.mainThreadChecker]) -> RunAction +extension RunAction { + public static func test(configurationName: String = BuildConfiguration.debug.name, + executable: TargetReference? = TargetReference(projectPath: "/Project", name: "App"), + filePath: AbsolutePath? = nil, + arguments: Arguments? = Arguments.test(), + options: RunActionOptions = .init(), + diagnosticsOptions: Set = [.mainThreadChecker]) -> RunAction { RunAction( configurationName: configurationName, diff --git a/Sources/TuistGraphTesting/Models/Scheme+TestData.swift b/Sources/TuistGraphTesting/Models/Scheme+TestData.swift index ca2bceeeb..8832fd957 100644 --- a/Sources/TuistGraphTesting/Models/Scheme+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Scheme+TestData.swift @@ -2,15 +2,15 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension Scheme { - static func test(name: String = "Test", - shared: Bool = false, - buildAction: BuildAction? = BuildAction.test(), - testAction: TestAction? = TestAction.test(), - runAction: RunAction? = RunAction.test(), - archiveAction: ArchiveAction? = ArchiveAction.test(), - profileAction: ProfileAction? = ProfileAction.test(), - analyzeAction: AnalyzeAction? = AnalyzeAction.test()) -> Scheme +extension Scheme { + public static func test(name: String = "Test", + shared: Bool = false, + buildAction: BuildAction? = BuildAction.test(), + testAction: TestAction? = TestAction.test(), + runAction: RunAction? = RunAction.test(), + archiveAction: ArchiveAction? = ArchiveAction.test(), + profileAction: ProfileAction? = ProfileAction.test(), + analyzeAction: AnalyzeAction? = AnalyzeAction.test()) -> Scheme { Scheme( name: name, diff --git a/Sources/TuistGraphTesting/Models/Settings+TestData.swift b/Sources/TuistGraphTesting/Models/Settings+TestData.swift index 99ad6746f..ec42aacf9 100644 --- a/Sources/TuistGraphTesting/Models/Settings+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Settings+TestData.swift @@ -2,36 +2,39 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension Configuration { - static func test(settings: SettingsDictionary = [:], - xcconfig: AbsolutePath? = AbsolutePath("/Config.xcconfig")) -> Configuration +extension Configuration { + public static func test(settings: SettingsDictionary = [:], + xcconfig: AbsolutePath? = AbsolutePath("/Config.xcconfig")) -> Configuration { Configuration(settings: settings, xcconfig: xcconfig) } } -public extension Settings { - static func test(base: SettingsDictionary = [:], - debug: Configuration = Configuration(settings: [:], xcconfig: AbsolutePath("/Debug.xcconfig")), - release: Configuration = Configuration(settings: [:], xcconfig: AbsolutePath("/Release.xcconfig"))) -> Settings - { +extension Settings { + public static func test( + base: SettingsDictionary = [:], + debug: Configuration = Configuration(settings: [:], xcconfig: AbsolutePath("/Debug.xcconfig")), + release: Configuration = Configuration(settings: [:], xcconfig: AbsolutePath("/Release.xcconfig")) + ) -> Settings { Settings( base: base, configurations: [.debug: debug, .release: release] ) } - static func test(base: SettingsDictionary = [:], - configurations: [BuildConfiguration: Configuration?] = [:]) -> Settings + public static func test(base: SettingsDictionary = [:], + configurations: [BuildConfiguration: Configuration?] = [:]) -> Settings { Settings(base: base, configurations: configurations) } - static func test(defaultSettings: DefaultSettings) -> Settings { + public static func test(defaultSettings: DefaultSettings) -> Settings { Settings( base: [:], - configurations: [.debug: Configuration(settings: [:]), - .release: Configuration(settings: [:])], + configurations: [ + .debug: Configuration(settings: [:]), + .release: Configuration(settings: [:]), + ], defaultSettings: defaultSettings ) } diff --git a/Sources/TuistGraphTesting/Models/Target+TestData.swift b/Sources/TuistGraphTesting/Models/Target+TestData.swift index 3d05c6145..f8f1ba350 100644 --- a/Sources/TuistGraphTesting/Models/Target+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Target+TestData.swift @@ -2,10 +2,10 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension Target { +extension Target { /// Creates a Target with test data /// Note: Referenced paths may not exist - static func test( + public static func test( name: String = "Target", platform: Platform = .iOS, product: Product = .app, @@ -58,7 +58,7 @@ public extension Target { } /// Creates a bare bones Target with as little data as possible - static func empty( + public static func empty( name: String = "Target", platform: Platform = .iOS, product: Product = .app, diff --git a/Sources/TuistGraphTesting/Models/TestAction+TestData.swift b/Sources/TuistGraphTesting/Models/TestAction+TestData.swift index 911ab21f5..a46bb8c68 100644 --- a/Sources/TuistGraphTesting/Models/TestAction+TestData.swift +++ b/Sources/TuistGraphTesting/Models/TestAction+TestData.swift @@ -2,20 +2,21 @@ import Foundation import TSCBasic @testable import TuistGraph -public extension TestAction { - static func test(targets: [TestableTarget] = [TestableTarget(target: TargetReference(projectPath: "/Project", name: "AppTests"))], - arguments: Arguments? = Arguments.test(), - configurationName: String = BuildConfiguration.debug.name, - coverage: Bool = false, - codeCoverageTargets: [TargetReference] = [], - expandVariableFromTarget: TargetReference? = nil, - preActions: [ExecutionAction] = [], - postActions: [ExecutionAction] = [], - diagnosticsOptions: Set = [.mainThreadChecker], - language: String? = nil, - region: String? = nil, - testPlans: [TestPlan]? = nil) -> TestAction - { +extension TestAction { + public static func test( + targets: [TestableTarget] = [TestableTarget(target: TargetReference(projectPath: "/Project", name: "AppTests"))], + arguments: Arguments? = Arguments.test(), + configurationName: String = BuildConfiguration.debug.name, + coverage: Bool = false, + codeCoverageTargets: [TargetReference] = [], + expandVariableFromTarget: TargetReference? = nil, + preActions: [ExecutionAction] = [], + postActions: [ExecutionAction] = [], + diagnosticsOptions: Set = [.mainThreadChecker], + language: String? = nil, + region: String? = nil, + testPlans: [TestPlan]? = nil + ) -> TestAction { TestAction( targets: targets, arguments: arguments, diff --git a/Sources/TuistGraphTesting/Models/TextSettings+TestData.swift b/Sources/TuistGraphTesting/Models/TextSettings+TestData.swift index fd36110fe..af2e1194b 100644 --- a/Sources/TuistGraphTesting/Models/TextSettings+TestData.swift +++ b/Sources/TuistGraphTesting/Models/TextSettings+TestData.swift @@ -1,8 +1,8 @@ import Foundation @testable import TuistGraph -public extension TextSettings { - static func test( +extension TextSettings { + public static func test( usesTabs: Bool? = true, indentWidth: UInt? = 2, tabWidth: UInt? = 2, diff --git a/Sources/TuistGraphTesting/Models/Workspace+TestData.swift b/Sources/TuistGraphTesting/Models/Workspace+TestData.swift index 02ce08562..a06e7fbbc 100644 --- a/Sources/TuistGraphTesting/Models/Workspace+TestData.swift +++ b/Sources/TuistGraphTesting/Models/Workspace+TestData.swift @@ -3,8 +3,8 @@ import TSCBasic import TSCUtility @testable import TuistGraph -public extension Workspace { - static func test( +extension Workspace { + public static func test( path: AbsolutePath = AbsolutePath("/"), xcWorkspacePath: AbsolutePath = AbsolutePath("/"), name: String = "test", diff --git a/Sources/TuistGraphTesting/Models/XCFrameworkInfoPlist+TestData.swift b/Sources/TuistGraphTesting/Models/XCFrameworkInfoPlist+TestData.swift index a0d57f569..e961e11b2 100644 --- a/Sources/TuistGraphTesting/Models/XCFrameworkInfoPlist+TestData.swift +++ b/Sources/TuistGraphTesting/Models/XCFrameworkInfoPlist+TestData.swift @@ -3,16 +3,16 @@ import TSCBasic @testable import TuistGraph -public extension XCFrameworkInfoPlist { - static func test(libraries: [XCFrameworkInfoPlist.Library] = [.test()]) -> XCFrameworkInfoPlist { +extension XCFrameworkInfoPlist { + public static func test(libraries: [XCFrameworkInfoPlist.Library] = [.test()]) -> XCFrameworkInfoPlist { XCFrameworkInfoPlist(libraries: libraries) } } -public extension XCFrameworkInfoPlist.Library { - static func test(identifier: String = "test", - path: RelativePath = RelativePath("relative/to/library"), - architectures: [BinaryArchitecture] = [.i386]) -> XCFrameworkInfoPlist.Library +extension XCFrameworkInfoPlist.Library { + public static func test(identifier: String = "test", + path: RelativePath = RelativePath("relative/to/library"), + architectures: [BinaryArchitecture] = [.i386]) -> XCFrameworkInfoPlist.Library { XCFrameworkInfoPlist.Library( identifier: identifier, diff --git a/Sources/TuistKit/Cache/CacheController.swift b/Sources/TuistKit/Cache/CacheController.swift index 18d3f6346..139388e58 100644 --- a/Sources/TuistKit/Cache/CacheController.swift +++ b/Sources/TuistKit/Cache/CacheController.swift @@ -131,9 +131,13 @@ final class CacheController: CacheControlling { try archive(updatedGraph, projectPath: projectPath, cacheProfile: cacheProfile, hashesByTargetToBeCached) - logger.notice("All cacheable targets have been cached successfully as \(artifactBuilder.cacheOutputType.description)s", metadata: .success) + logger.notice( + "All cacheable targets have been cached successfully as \(artifactBuilder.cacheOutputType.description)s", + metadata: .success + ) } + // swiftlint:disable:next function_body_length private func archive( _ graph: Graph, projectPath: AbsolutePath, @@ -178,13 +182,17 @@ final class CacheController: CacheControlling { logger.notice("Storing \(hashesByCacheableTarget.count) cacheable targets: \(targetsToStore)") try hashesByCacheableTarget.forEach(context: .concurrent) { target, hash in let isBinary = target.target.product.isFramework - let suffix = "\(isBinary ? Constants.AutogeneratedScheme.binariesSchemeNamePrefix : Constants.AutogeneratedScheme.bundlesSchemeNamePrefix)-\(target.target.platform.caseValue)" + let suffix = + "\(isBinary ? Constants.AutogeneratedScheme.binariesSchemeNamePrefix : Constants.AutogeneratedScheme.bundlesSchemeNamePrefix)-\(target.target.platform.caseValue)" let productNameWithExtension = target.target.productName _ = try cache.store( name: target.target.name, hash: hash, - paths: FileHandler.shared.glob(outputDirectory.appending(component: suffix), glob: "\(productNameWithExtension).*") + paths: FileHandler.shared.glob( + outputDirectory.appending(component: suffix), + glob: "\(productNameWithExtension).*" + ) ).toBlocking().last() } } diff --git a/Sources/TuistKit/Commands/Cache/CacheWarmCommand.swift b/Sources/TuistKit/Commands/Cache/CacheWarmCommand.swift index b79e30624..cbdf9440a 100644 --- a/Sources/TuistKit/Commands/Cache/CacheWarmCommand.swift +++ b/Sources/TuistKit/Commands/Cache/CacheWarmCommand.swift @@ -23,7 +23,9 @@ struct CacheWarmCommand: ParsableCommand { """) var targets: [String] = [] - @Flag(help: "If passed, the command doesn't cache the targets passed in the `--targets` argument, but only their dependencies") + @Flag( + help: "If passed, the command doesn't cache the targets passed in the `--targets` argument, but only their dependencies" + ) var dependenciesOnly: Bool = false func run() throws { diff --git a/Sources/TuistKit/Commands/GraphCommand.swift b/Sources/TuistKit/Commands/GraphCommand.swift index 07112fe0f..676b20af3 100644 --- a/Sources/TuistKit/Commands/GraphCommand.swift +++ b/Sources/TuistKit/Commands/GraphCommand.swift @@ -58,10 +58,12 @@ struct GraphCommand: ParsableCommand, HasTrackableParameters { var outputPath: String? func run() throws { - GraphCommand.analyticsDelegate?.willRun(withParameters: ["format": format.rawValue, - "algorithm": layoutAlgorithm.rawValue, - "skip_external_dependencies": String(skipExternalDependencies), - "skip_test_targets": String(skipExternalDependencies)]) + GraphCommand.analyticsDelegate?.willRun(withParameters: [ + "format": format.rawValue, + "algorithm": layoutAlgorithm.rawValue, + "skip_external_dependencies": String(skipExternalDependencies), + "skip_test_targets": String(skipExternalDependencies), + ]) try GraphService().run( format: format, layoutAlgorithm: layoutAlgorithm, @@ -69,7 +71,8 @@ struct GraphCommand: ParsableCommand, HasTrackableParameters { skipExternalDependencies: skipExternalDependencies, targetsToFilter: targets, path: path.map { AbsolutePath($0) } ?? FileHandler.shared.currentPath, - outputPath: outputPath.map { AbsolutePath($0, relativeTo: FileHandler.shared.currentPath) } ?? FileHandler.shared.currentPath + outputPath: outputPath.map { AbsolutePath($0, relativeTo: FileHandler.shared.currentPath) } ?? FileHandler.shared + .currentPath ) } } diff --git a/Sources/TuistKit/Commands/Migration/MigrationTargetsByDependenciesCommand.swift b/Sources/TuistKit/Commands/Migration/MigrationTargetsByDependenciesCommand.swift index 9d2af12b9..66d13fb35 100644 --- a/Sources/TuistKit/Commands/Migration/MigrationTargetsByDependenciesCommand.swift +++ b/Sources/TuistKit/Commands/Migration/MigrationTargetsByDependenciesCommand.swift @@ -20,6 +20,7 @@ struct MigrationTargetsByDependenciesCommand: ParsableCommand { var xcodeprojPath: String func run() throws { - try MigrationTargetsByDependenciesService().run(xcodeprojPath: AbsolutePath(xcodeprojPath, relativeTo: FileHandler.shared.currentPath)) + try MigrationTargetsByDependenciesService() + .run(xcodeprojPath: AbsolutePath(xcodeprojPath, relativeTo: FileHandler.shared.currentPath)) } } diff --git a/Sources/TuistKit/Generator/Generator.swift b/Sources/TuistKit/Generator/Generator.swift index 259a0b871..3c06e1c2f 100644 --- a/Sources/TuistKit/Generator/Generator.swift +++ b/Sources/TuistKit/Generator/Generator.swift @@ -13,7 +13,8 @@ import TuistSupport protocol Generating { @discardableResult func load(path: AbsolutePath) throws -> Graph - func loadProject(path: AbsolutePath) throws -> (TuistGraph.Project, Graph, [SideEffectDescriptor]) // swiftlint:disable:this large_tuple + func loadProject(path: AbsolutePath) throws + -> (TuistGraph.Project, Graph, [SideEffectDescriptor]) // swiftlint:disable:this large_tuple func generate(path: AbsolutePath, projectOnly: Bool) throws -> AbsolutePath func generateWithGraph(path: AbsolutePath, projectOnly: Bool) throws -> (AbsolutePath, Graph) func generateProjectWorkspace(path: AbsolutePath) throws -> (AbsolutePath, Graph) @@ -27,7 +28,8 @@ class Generator: Generating { private let environmentLinter: EnvironmentLinting = EnvironmentLinter() private let generator: DescriptorGenerating = DescriptorGenerator() private let writer: XcodeProjWriting = XcodeProjWriter() - private let swiftPackageManagerInteractor: TuistGenerator.SwiftPackageManagerInteracting = TuistGenerator.SwiftPackageManagerInteractor() + private let swiftPackageManagerInteractor: TuistGenerator.SwiftPackageManagerInteracting = TuistGenerator + .SwiftPackageManagerInteractor() private let signingInteractor: SigningInteracting = SigningInteractor() private let sideEffectDescriptorExecutor: SideEffectDescriptorExecuting private let graphMapper: GraphMapping @@ -116,7 +118,11 @@ class Generator: Generating { }.printAndThrowIfNeeded() // Convert to models - let models = try convert(projects: projects, plugins: plugins, externalDependencies: dependenciesGraph.externalDependencies) + + let models = try convert( + projects: projects, + plugins: plugins, + externalDependencies: dependenciesGraph.externalDependencies + ) + dependenciesGraph.externalProjects.values // Apply any registered model mappers @@ -242,7 +248,11 @@ class Generator: Generating { }.printAndThrowIfNeeded() // Convert to models - let projects = try convert(projects: manifests.projects, plugins: plugins, externalDependencies: dependenciesGraph.externalDependencies) + + let projects = try convert( + projects: manifests.projects, + plugins: plugins, + externalDependencies: dependenciesGraph.externalDependencies + ) + dependenciesGraph.externalProjects.values let workspaceName = manifests.projects[path]?.name ?? "Workspace" @@ -303,7 +313,11 @@ class Generator: Generating { // Convert to models let models = ( workspace: try converter.convert(manifest: manifests.workspace, path: manifests.path), - projects: try convert(projects: manifests.projects, plugins: plugins, externalDependencies: dependenciesGraph.externalDependencies) + + projects: try convert( + projects: manifests.projects, + plugins: plugins, + externalDependencies: dependenciesGraph.externalDependencies + ) + dependenciesGraph.externalProjects.values ) @@ -333,7 +347,12 @@ class Generator: Generating { ) throws -> [TuistGraph.Project] { let tuples = projects.map { (path: $0.key, manifest: $0.value) } return try tuples.map(context: context) { - try converter.convert(manifest: $0.manifest, path: $0.path, plugins: plugins, externalDependencies: externalDependencies) + try converter.convert( + manifest: $0.manifest, + path: $0.path, + plugins: plugins, + externalDependencies: externalDependencies + ) } } } diff --git a/Sources/TuistKit/ProjectEditor/ProjectEditor.swift b/Sources/TuistKit/ProjectEditor/ProjectEditor.swift index c5f2078c6..db7fff4bc 100644 --- a/Sources/TuistKit/ProjectEditor/ProjectEditor.swift +++ b/Sources/TuistKit/ProjectEditor/ProjectEditor.swift @@ -77,7 +77,8 @@ final class ProjectEditor: ProjectEditing { writer: XcodeProjWriting = XcodeProjWriter(), templatesDirectoryLocator: TemplatesDirectoryLocating = TemplatesDirectoryLocator(), cacheDirectoryProviderFactory: CacheDirectoriesProviderFactoring = CacheDirectoriesProviderFactory(), - projectDescriptionHelpersBuilderFactory: ProjectDescriptionHelpersBuilderFactoring = ProjectDescriptionHelpersBuilderFactory(), + projectDescriptionHelpersBuilderFactory: ProjectDescriptionHelpersBuilderFactoring = + ProjectDescriptionHelpersBuilderFactory(), tasksLocator: TasksLocating = TasksLocator() ) { self.generator = generator @@ -126,7 +127,8 @@ final class ProjectEditor: ProjectEditing { let configPath = manifestFilesLocator.locateConfig(at: editingPath) let cacheDirectory = try cacheDirectoryProviderFactory.cacheDirectories(config: nil) let projectDescriptionHelpersBuilder = projectDescriptionHelpersBuilderFactory.projectDescriptionHelpersBuilder( - cacheDirectory: cacheDirectory.cacheDirectory(for: .projectDescriptionHelpers)) + cacheDirectory: cacheDirectory.cacheDirectory(for: .projectDescriptionHelpers) + ) let dependenciesPath = manifestFilesLocator.locateDependencies(at: editingPath) let helpers = helpersDirectoryLocator.locate(at: editingPath).map { diff --git a/Sources/TuistKit/ProjectEditor/ProjectEditorMapper.swift b/Sources/TuistKit/ProjectEditor/ProjectEditorMapper.swift index 00a72fd70..775e62b0b 100644 --- a/Sources/TuistKit/ProjectEditor/ProjectEditorMapper.swift +++ b/Sources/TuistKit/ProjectEditor/ProjectEditorMapper.swift @@ -203,7 +203,10 @@ final class ProjectEditorMapper: ProjectEditorMapping { }() let manifestTargetSettings = Settings( - base: targetBaseSettings(for: [projectDescriptionPath] + pluginProjectDescriptionHelpersModule.map(\.path), swiftVersion: swiftVersion), + base: targetBaseSettings( + for: [projectDescriptionPath] + pluginProjectDescriptionHelpersModule.map(\.path), + swiftVersion: swiftVersion + ), configurations: Settings.default.configurations, defaultSettings: .recommended ) @@ -234,7 +237,13 @@ final class ProjectEditorMapper: ProjectEditorMapping { let buildAction = BuildAction(targets: targets.map { TargetReference(projectPath: projectPath, name: $0.name) }) let arguments = Arguments(launchArguments: [LaunchArgument(name: "generate --path \(sourceRootPath)", isEnabled: true)]) - let runAction = RunAction(configurationName: "Debug", executable: nil, filePath: tuistPath, arguments: arguments, diagnosticsOptions: Set()) + let runAction = RunAction( + configurationName: "Debug", + executable: nil, + filePath: tuistPath, + arguments: arguments, + diagnosticsOptions: Set() + ) let scheme = Scheme(name: projectName, shared: true, buildAction: buildAction, runAction: runAction) let projectSettings = Settings( base: [ diff --git a/Sources/TuistKit/Services/BuildService.swift b/Sources/TuistKit/Services/BuildService.swift index 0dc064712..94d60f5b8 100644 --- a/Sources/TuistKit/Services/BuildService.swift +++ b/Sources/TuistKit/Services/BuildService.swift @@ -52,6 +52,7 @@ final class BuildService { self.configLoader = configLoader } + // swiftlint:disable:next function_body_length func run( schemeName: String?, generate: Bool, @@ -76,7 +77,10 @@ final class BuildService { let graphTraverser = GraphTraverser(graph: graph) let buildableSchemes = buildGraphInspector.buildableSchemes(graphTraverser: graphTraverser) - logger.log(level: .debug, "Found the following buildable schemes: \(buildableSchemes.map(\.name).joined(separator: ", "))") + logger.log( + level: .debug, + "Found the following buildable schemes: \(buildableSchemes.map(\.name).joined(separator: ", "))" + ) if let schemeName = schemeName { guard let scheme = buildableSchemes.first(where: { $0.name == schemeName }) else { diff --git a/Sources/TuistKit/Services/Cache/CacheProfileResolver.swift b/Sources/TuistKit/Services/Cache/CacheProfileResolver.swift index d2554df6e..dbc0671d9 100644 --- a/Sources/TuistKit/Services/Cache/CacheProfileResolver.swift +++ b/Sources/TuistKit/Services/Cache/CacheProfileResolver.swift @@ -28,7 +28,7 @@ struct CacheProfileResolver { let profiles: [Cache.Profile] let fromConfig: Bool if let cacheConfig = config.cache, - !cacheConfig.profiles.isEmpty + !cacheConfig.profiles.isEmpty { fromConfig = true profiles = cacheConfig.profiles diff --git a/Sources/TuistKit/Services/CleanService.swift b/Sources/TuistKit/Services/CleanService.swift index b5efbecc5..5bab63fc8 100644 --- a/Sources/TuistKit/Services/CleanService.swift +++ b/Sources/TuistKit/Services/CleanService.swift @@ -8,8 +8,8 @@ import TuistSupport final class CleanService { private let cacheDirectoryProviderFactory: CacheDirectoriesProviderFactoring init( - cacheDirectoryProviderFactory: CacheDirectoriesProviderFactoring = CacheDirectoriesProviderFactory()) - { + cacheDirectoryProviderFactory: CacheDirectoriesProviderFactoring = CacheDirectoriesProviderFactory() + ) { self.cacheDirectoryProviderFactory = cacheDirectoryProviderFactory } diff --git a/Sources/TuistKit/Services/GraphService.swift b/Sources/TuistKit/Services/GraphService.swift index 47cbc8857..f4e0e52ff 100644 --- a/Sources/TuistKit/Services/GraphService.swift +++ b/Sources/TuistKit/Services/GraphService.swift @@ -133,14 +133,15 @@ private enum GraphServiceError: FatalError { } } -private extension GraphOutput { - static func from(_ graph: TuistGraph.Graph) -> GraphOutput { - let projects = graph.projects.reduce(into: [String: ProjectOutput]()) { $0[$1.key.pathString] = ProjectOutput.from($1.value) } +extension GraphOutput { + fileprivate static func from(_ graph: TuistGraph.Graph) -> GraphOutput { + let projects = graph.projects + .reduce(into: [String: ProjectOutput]()) { $0[$1.key.pathString] = ProjectOutput.from($1.value) } return GraphOutput(name: graph.name, path: graph.path.pathString, projects: projects) } - func export(to filePath: AbsolutePath) throws { + fileprivate func export(to filePath: AbsolutePath) throws { let encoder = JSONEncoder() encoder.outputFormatting = [.sortedKeys, .prettyPrinted, .withoutEscapingSlashes] let jsonData = try encoder.encode(self) @@ -153,18 +154,24 @@ private extension GraphOutput { } } -private extension ProjectOutput { - static func from(_ project: Project) -> ProjectOutput { +extension ProjectOutput { + fileprivate static func from(_ project: Project) -> ProjectOutput { let packages = project.packages.reduce(into: [PackageOutput]()) { $0.append(PackageOutput.from($1)) } let schemes = project.schemes.reduce(into: [SchemeOutput]()) { $0.append(SchemeOutput.from($1)) } let targets = project.targets.reduce(into: [TargetOutput]()) { $0.append(TargetOutput.from($1)) } - return ProjectOutput(name: project.name, path: project.path.pathString, packages: packages, targets: targets, schemes: schemes) + return ProjectOutput( + name: project.name, + path: project.path.pathString, + packages: packages, + targets: targets, + schemes: schemes + ) } } -private extension PackageOutput { - static func from(_ package: Package) -> PackageOutput { +extension PackageOutput { + fileprivate static func from(_ package: Package) -> PackageOutput { switch package { case let .remote(url, _): return PackageOutput(kind: PackageOutput.PackageKind.remote, path: url) @@ -174,14 +181,14 @@ private extension PackageOutput { } } -private extension TargetOutput { - static func from(_ target: Target) -> TargetOutput { +extension TargetOutput { + fileprivate static func from(_ target: Target) -> TargetOutput { return TargetOutput(name: target.name, product: target.product.rawValue) } } -private extension SchemeOutput { - static func from(_ scheme: Scheme) -> SchemeOutput { +extension SchemeOutput { + fileprivate static func from(_ scheme: Scheme) -> SchemeOutput { var testTargets = [String]() if let testAction = scheme.testAction { for testTarget in testAction.targets { diff --git a/Sources/TuistKit/Services/InitService.swift b/Sources/TuistKit/Services/InitService.swift index 4679e2398..9ad30ec5a 100644 --- a/Sources/TuistKit/Services/InitService.swift +++ b/Sources/TuistKit/Services/InitService.swift @@ -15,7 +15,8 @@ enum InitServiceError: FatalError, Equatable { var type: ErrorType { switch self { - case .ungettableProjectName, .nonEmptyDirectory, .templateNotFound, .templateNotProvided, .attributeNotProvided, .invalidValue: + case .ungettableProjectName, .nonEmptyDirectory, .templateNotFound, .templateNotProvided, .attributeNotProvided, + .invalidValue: return .abort } } diff --git a/Sources/TuistKit/Utils/ManifestGraphLoader.swift b/Sources/TuistKit/Utils/ManifestGraphLoader.swift index 36d0aec00..f31b6fa97 100644 --- a/Sources/TuistKit/Utils/ManifestGraphLoader.swift +++ b/Sources/TuistKit/Utils/ManifestGraphLoader.swift @@ -88,7 +88,11 @@ final class ManifestGraphLoader: ManifestGraphLoading { let plugins = try loadPlugins(at: path) let dependenciesGraph = try dependenciesGraphController.load(at: path) let manifests = try recursiveManifestLoader.loadProject(at: path) - let models = try convert(projects: manifests.projects, plugins: plugins, externalDependencies: dependenciesGraph.externalDependencies) + + let models = try convert( + projects: manifests.projects, + plugins: plugins, + externalDependencies: dependenciesGraph.externalDependencies + ) + dependenciesGraph.externalProjects.values return try graphLoader.loadProject(at: path, projects: models) } @@ -98,7 +102,11 @@ final class ManifestGraphLoader: ManifestGraphLoading { let dependenciesGraph = try dependenciesGraphController.load(at: path) let manifests = try recursiveManifestLoader.loadWorkspace(at: path) let workspace = try converter.convert(manifest: manifests.workspace, path: manifests.path) - let models = try convert(projects: manifests.projects, plugins: plugins, externalDependencies: dependenciesGraph.externalDependencies) + + let models = try convert( + projects: manifests.projects, + plugins: plugins, + externalDependencies: dependenciesGraph.externalDependencies + ) + dependenciesGraph.externalProjects.values return try graphLoader.loadWorkspace(workspace: workspace, projects: models) } @@ -111,7 +119,12 @@ final class ManifestGraphLoader: ManifestGraphLoading { ) throws -> [TuistGraph.Project] { let tuples = projects.map { (path: $0.key, manifest: $0.value) } return try tuples.map(context: context) { - try converter.convert(manifest: $0.manifest, path: $0.path, plugins: plugins, externalDependencies: externalDependencies) + try converter.convert( + manifest: $0.manifest, + path: $0.path, + plugins: plugins, + externalDependencies: externalDependencies + ) } } } diff --git a/Sources/TuistLinting/Utilities/CodeLinter.swift b/Sources/TuistLinting/Utilities/CodeLinter.swift index 355a99235..ea52c0160 100644 --- a/Sources/TuistLinting/Utilities/CodeLinter.swift +++ b/Sources/TuistLinting/Utilities/CodeLinter.swift @@ -52,7 +52,7 @@ public final class CodeLinter: CodeLinting { private func swiftLintConfigPath(path: AbsolutePath) -> AbsolutePath? { guard let rootPath = rootDirectoryLocator.locate(from: path) else { return nil } - return ["yml", "yaml"].compactMap { (fileExtension) -> AbsolutePath? in + return ["yml", "yaml"].compactMap { fileExtension -> AbsolutePath? in let swiftlintPath = rootPath.appending(RelativePath("\(Constants.tuistDirectoryName)/.swiftlint.\(fileExtension)")) return (FileHandler.shared.exists(swiftlintPath)) ? swiftlintPath : nil }.first @@ -71,9 +71,11 @@ public final class CodeLinter: CodeLinting { configPath: AbsolutePath?, strict: Bool) -> [String] { - var arguments = [swiftLintPath.pathString, - "lint", - "--use-script-input-files"] + var arguments = [ + swiftLintPath.pathString, + "lint", + "--use-script-input-files", + ] if let configPath = configPath { arguments += ["--config", configPath.pathString] diff --git a/Sources/TuistLoader/Linter/ManifestLinter.swift b/Sources/TuistLoader/Linter/ManifestLinter.swift index de23cc405..fcf0c8c16 100644 --- a/Sources/TuistLoader/Linter/ManifestLinter.swift +++ b/Sources/TuistLoader/Linter/ManifestLinter.swift @@ -15,7 +15,7 @@ public class AnyManifestLinter: ManifestLinting { } public func lint(project: ProjectDescription.Project) -> [LintingIssue] { - if let lint = self.lint { + if let lint = lint { return lint(project) } else { return [] @@ -54,7 +54,10 @@ public class ManifestLinter: ManifestLinting { let configurationNames = settings.configurations.map(\.name.rawValue) return configurationNames.spm_findDuplicates().map { - LintingIssue(reason: "The configuration '\($0)' is declared multiple times within '\(declarationLocation)' settings. The last declared configuration will be used.", severity: .warning) + LintingIssue( + reason: "The configuration '\($0)' is declared multiple times within '\(declarationLocation)' settings. The last declared configuration will be used.", + severity: .warning + ) } } @@ -62,7 +65,10 @@ public class ManifestLinter: ManifestLinting { let currentVersions = coredataModels.compactMap(\.currentVersion) return currentVersions.map { - LintingIssue(reason: "The current core data model version '\(String(describing: $0))' will be infered automatically in '\(declarationLocation)' settings. It is not need it to set the current version anymore.", severity: .warning) + LintingIssue( + reason: "The current core data model version '\(String(describing: $0))' will be infered automatically in '\(declarationLocation)' settings. It is not need it to set the current version anymore.", + severity: .warning + ) } } } diff --git a/Sources/TuistLoader/Loaders/CachedManifestLoader.swift b/Sources/TuistLoader/Loaders/CachedManifestLoader.swift index 0b8b6fb98..829364df2 100644 --- a/Sources/TuistLoader/Loaders/CachedManifestLoader.swift +++ b/Sources/TuistLoader/Loaders/CachedManifestLoader.swift @@ -225,8 +225,8 @@ public class CachedManifestLoader: ManifestLoading { } guard cachedManifest.cacheVersion == CachedManifest.currentCacheVersion, - cachedManifest.tuistVersion == tuistVersion, - cachedManifest.hashes == hashes + cachedManifest.tuistVersion == tuistVersion, + cachedManifest.hashes == hashes else { return nil } diff --git a/Sources/TuistLoader/Loaders/ManifestLoader.swift b/Sources/TuistLoader/Loaders/ManifestLoader.swift index e55c79a96..1c4a71076 100644 --- a/Sources/TuistLoader/Loaders/ManifestLoader.swift +++ b/Sources/TuistLoader/Loaders/ManifestLoader.swift @@ -322,9 +322,9 @@ public class ManifestLoader: ManifestLoading { private func logUnexpectedImportErrorIfNeeded(in path: AbsolutePath, error: Error, manifest: Manifest) { guard case let TuistSupport.SystemError.terminated(command, _, standardError) = error, - manifest == .config || manifest == .plugin, - command == "swiftc", - let errorMessage = String(data: standardError, encoding: .utf8) else { return } + manifest == .config || manifest == .plugin, + command == "swiftc", + let errorMessage = String(data: standardError, encoding: .utf8) else { return } let defaultHelpersName = ProjectDescriptionHelpersBuilder.defaultHelpersName @@ -338,8 +338,8 @@ public class ManifestLoader: ManifestLoading { private func logPluginHelperBuildErrorIfNeeded(in _: AbsolutePath, error: Error, manifest _: Manifest) { guard case let TuistSupport.SystemError.terminated(command, _, standardError) = error, - command == "swiftc", - let errorMessage = String(data: standardError, encoding: .utf8) else { return } + command == "swiftc", + let errorMessage = String(data: standardError, encoding: .utf8) else { return } let pluginHelpers = plugins.projectDescriptionHelpers guard let pluginHelper = pluginHelpers.first(where: { errorMessage.contains($0.name) }) else { return } diff --git a/Sources/TuistLoader/Loaders/ManifestModelConverter.swift b/Sources/TuistLoader/Loaders/ManifestModelConverter.swift index f20d7adf2..6cde04af3 100644 --- a/Sources/TuistLoader/Loaders/ManifestModelConverter.swift +++ b/Sources/TuistLoader/Loaders/ManifestModelConverter.swift @@ -89,18 +89,21 @@ public final class ManifestModelConverter: ManifestModelConverting { } } - let externalProjects = try [AbsolutePath: TuistGraph.Project](uniqueKeysWithValues: manifest.externalProjects.map { project in - let projectPath = AbsolutePath(project.key.pathString) - var project = try convert( - manifest: project.value, - path: projectPath, - plugins: .none, - externalDependencies: externalDependencies - ) - // Disable all lastUpgradeCheck related warnings on projects generated from dependencies - project.lastUpgradeCheck = Version(99, 9, 9) - return (projectPath, project) - }) + let externalProjects = try [AbsolutePath: TuistGraph.Project]( + uniqueKeysWithValues: manifest.externalProjects + .map { project in + let projectPath = AbsolutePath(project.key.pathString) + var project = try convert( + manifest: project.value, + path: projectPath, + plugins: .none, + externalDependencies: externalDependencies + ) + // Disable all lastUpgradeCheck related warnings on projects generated from dependencies + project.lastUpgradeCheck = Version(99, 9, 9) + return (projectPath, project) + } + ) return .init(externalDependencies: externalDependencies, externalProjects: externalProjects) } diff --git a/Sources/TuistLoader/Models+ManifestMappers/ArchiveAction+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/ArchiveAction+ManifestMapper.swift index da71772c0..5f81212d7 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/ArchiveAction+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/ArchiveAction+ManifestMapper.swift @@ -9,12 +9,16 @@ extension TuistGraph.ArchiveAction { /// - Parameters: /// - manifest: Manifest representation of archive action model. /// - generatorPaths: Generator paths. - static func from(manifest: ProjectDescription.ArchiveAction, generatorPaths: GeneratorPaths) throws -> TuistGraph.ArchiveAction { + static func from(manifest: ProjectDescription.ArchiveAction, generatorPaths: GeneratorPaths) throws -> TuistGraph + .ArchiveAction + { let configurationName = manifest.configuration.rawValue let revealArchiveInOrganizer = manifest.revealArchiveInOrganizer let customArchiveName = manifest.customArchiveName - let preActions = try manifest.preActions.map { try TuistGraph.ExecutionAction.from(manifest: $0, generatorPaths: generatorPaths) } - let postActions = try manifest.postActions.map { try TuistGraph.ExecutionAction.from(manifest: $0, generatorPaths: generatorPaths) } + let preActions = try manifest.preActions + .map { try TuistGraph.ExecutionAction.from(manifest: $0, generatorPaths: generatorPaths) } + let postActions = try manifest.postActions + .map { try TuistGraph.ExecutionAction.from(manifest: $0, generatorPaths: generatorPaths) } return TuistGraph.ArchiveAction( configurationName: configurationName, diff --git a/Sources/TuistLoader/Models+ManifestMappers/CopyFilesAction+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/CopyFilesAction+ManifestMapper.swift index 78054c032..9bb763972 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/CopyFilesAction+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/CopyFilesAction+ManifestMapper.swift @@ -13,7 +13,8 @@ public enum CopyFilesManifestMapperError: FatalError { public var description: String { switch self { case let .invalidResourcesGlob(actionName: actionName, invalidGlobs: invalidGlobs): - return "The copy files action \(actionName) has the following invalid resource globs:\n" + invalidGlobs.invalidGlobsDescription + return "The copy files action \(actionName) has the following invalid resource globs:\n" + invalidGlobs + .invalidGlobsDescription } } } @@ -23,7 +24,9 @@ extension TuistGraph.CopyFilesAction { /// - Parameters: /// - manifest: Manifest representation of platform model. /// - generatorPaths: Generator paths. - static func from(manifest: ProjectDescription.CopyFilesAction, generatorPaths: GeneratorPaths) throws -> TuistGraph.CopyFilesAction { + static func from(manifest: ProjectDescription.CopyFilesAction, generatorPaths: GeneratorPaths) throws -> TuistGraph + .CopyFilesAction + { var invalidResourceGlobs: [InvalidGlob] = [] let files: [TuistGraph.FileElement] = try manifest.files.flatMap { manifest -> [TuistGraph.FileElement] in do { diff --git a/Sources/TuistLoader/Models+ManifestMappers/CoreDataModel+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/CoreDataModel+ManifestMapper.swift index 9f6503964..5207072d5 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/CoreDataModel+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/CoreDataModel+ManifestMapper.swift @@ -10,7 +10,9 @@ extension TuistGraph.CoreDataModel { /// - Parameters: /// - manifest: Manifest representation of Core Data model. /// - generatorPaths: Generator paths. - static func from(manifest: ProjectDescription.CoreDataModel, generatorPaths: GeneratorPaths) throws -> TuistGraph.CoreDataModel { + static func from(manifest: ProjectDescription.CoreDataModel, generatorPaths: GeneratorPaths) throws -> TuistGraph + .CoreDataModel + { let modelPath = try generatorPaths.resolve(path: manifest.path) let versions = FileHandler.shared.glob(modelPath, glob: "*.xcdatamodel") diff --git a/Sources/TuistLoader/Models+ManifestMappers/Dependencies+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/Dependencies+ManifestMapper.swift index 8a304864a..fe2b4b5d2 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/Dependencies+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/Dependencies+ManifestMapper.swift @@ -21,7 +21,10 @@ extension TuistGraph.Dependencies { guard let swiftPackageManager = manifest.swiftPackageManager else { return nil } - return try TuistGraph.SwiftPackageManagerDependencies.from(manifest: swiftPackageManager, generatorPaths: generatorPaths) + return try TuistGraph.SwiftPackageManagerDependencies.from( + manifest: swiftPackageManager, + generatorPaths: generatorPaths + ) }() let platforms = try manifest.platforms.map { try TuistGraph.Platform.from(manifest: $0) } diff --git a/Sources/TuistLoader/Models+ManifestMappers/ExecutionAction+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/ExecutionAction+ManifestMapper.swift index 7f4ab56dc..4e2dc95dd 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/ExecutionAction+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/ExecutionAction+ManifestMapper.swift @@ -8,7 +8,9 @@ extension TuistGraph.ExecutionAction { /// - Parameters: /// - manifest: Manifest representation of execution action model. /// - generatorPaths: Generator paths. - static func from(manifest: ProjectDescription.ExecutionAction, generatorPaths: GeneratorPaths) throws -> TuistGraph.ExecutionAction { + static func from(manifest: ProjectDescription.ExecutionAction, generatorPaths: GeneratorPaths) throws -> TuistGraph + .ExecutionAction + { let targetReference: TuistGraph.TargetReference? = try manifest.target.map { .init( projectPath: try generatorPaths.resolveSchemeActionProjectPath($0.projectPath), diff --git a/Sources/TuistLoader/Models+ManifestMappers/InfoPlist+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/InfoPlist+ManifestMapper.swift index a0b342069..0bfe1ee00 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/InfoPlist+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/InfoPlist+ManifestMapper.swift @@ -18,8 +18,10 @@ extension TuistGraph.InfoPlist { dictionary.mapValues { TuistGraph.InfoPlist.Value.from(manifest: $0) } ) case let .extendingDefault(dictionary): - return .extendingDefault(with: - dictionary.mapValues { TuistGraph.InfoPlist.Value.from(manifest: $0) }) + return .extendingDefault( + with: + dictionary.mapValues { TuistGraph.InfoPlist.Value.from(manifest: $0) } + ) } } } diff --git a/Sources/TuistLoader/Models+ManifestMappers/Project+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/Project+ManifestMapper.swift index bbc2ae898..3e52a72f5 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/Project+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/Project+ManifestMapper.swift @@ -27,9 +27,11 @@ extension TuistGraph.Project { try TuistGraph.Target.from(manifest: $0, generatorPaths: generatorPaths, externalDependencies: externalDependencies) } let schemes = try manifest.schemes.map { try TuistGraph.Scheme.from(manifest: $0, generatorPaths: generatorPaths) } - let additionalFiles = try manifest.additionalFiles.flatMap { try TuistGraph.FileElement.from(manifest: $0, generatorPaths: generatorPaths) } + let additionalFiles = try manifest.additionalFiles + .flatMap { try TuistGraph.FileElement.from(manifest: $0, generatorPaths: generatorPaths) } let packages = try manifest.packages.map { try TuistGraph.Package.from(manifest: $0, generatorPaths: generatorPaths) } - let ideTemplateMacros = try manifest.fileHeaderTemplate.map { try IDETemplateMacros.from(manifest: $0, generatorPaths: generatorPaths) } + let ideTemplateMacros = try manifest.fileHeaderTemplate + .map { try IDETemplateMacros.from(manifest: $0, generatorPaths: generatorPaths) } let resourceSynthesizers = try manifest.resourceSynthesizers.map { try TuistGraph.ResourceSynthesizer.from( manifest: $0, diff --git a/Sources/TuistLoader/Models+ManifestMappers/Target+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/Target+ManifestMapper.swift index 5b9445a7e..19d894595 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/Target+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/Target+ManifestMapper.swift @@ -39,7 +39,11 @@ extension TuistGraph.Target { let deploymentTarget = manifest.deploymentTarget.map { TuistGraph.DeploymentTarget.from(manifest: $0) } let dependencies = try manifest.dependencies.flatMap { - try TuistGraph.TargetDependency.from(manifest: $0, generatorPaths: generatorPaths, externalDependencies: externalDependencies) + try TuistGraph.TargetDependency.from( + manifest: $0, + generatorPaths: generatorPaths, + externalDependencies: externalDependencies + ) } let infoPlist = try TuistGraph.InfoPlist.from(manifest: manifest.infoPlist, generatorPaths: generatorPaths) @@ -47,9 +51,16 @@ extension TuistGraph.Target { let settings = try manifest.settings.map { try TuistGraph.Settings.from(manifest: $0, generatorPaths: generatorPaths) } - let (sources, sourcesPlaygrounds) = try sourcesAndPlaygrounds(manifest: manifest, targetName: name, generatorPaths: generatorPaths) + let (sources, sourcesPlaygrounds) = try sourcesAndPlaygrounds( + manifest: manifest, + targetName: name, + generatorPaths: generatorPaths + ) - var (resources, resourcesPlaygrounds, invalidResourceGlobs) = try resourcesAndPlaygrounds(manifest: manifest, generatorPaths: generatorPaths) + var (resources, resourcesPlaygrounds, invalidResourceGlobs) = try resourcesAndPlaygrounds( + manifest: manifest, + generatorPaths: generatorPaths + ) resources = resourcesFlatteningBundles(resources: resources) if !invalidResourceGlobs.isEmpty { @@ -75,7 +86,8 @@ extension TuistGraph.Target { let playgrounds = sourcesPlaygrounds + resourcesPlaygrounds - let additionalFiles = try manifest.additionalFiles.flatMap { try TuistGraph.FileElement.from(manifest: $0, generatorPaths: generatorPaths) } + let additionalFiles = try manifest.additionalFiles + .flatMap { try TuistGraph.FileElement.from(manifest: $0, generatorPaths: generatorPaths) } return TuistGraph.Target( name: name, @@ -104,13 +116,11 @@ extension TuistGraph.Target { // MARK: - Fileprivate - // swiftlint:disable large_tuple - // swiftlint:disable line_length - fileprivate static func resourcesAndPlaygrounds(manifest: ProjectDescription.Target, - generatorPaths: GeneratorPaths) throws -> (resources: [TuistGraph.ResourceFileElement], playgrounds: [AbsolutePath], invalidResourceGlobs: [InvalidGlob]) - { - // swiftlint:enable large_tuple - // swiftlint:enable line_length + fileprivate static func resourcesAndPlaygrounds( + manifest: ProjectDescription.Target, + generatorPaths: GeneratorPaths + // swiftlint:disable:next large_tuple + ) throws -> (resources: [TuistGraph.ResourceFileElement], playgrounds: [AbsolutePath], invalidResourceGlobs: [InvalidGlob]) { let resourceFilter = { (path: AbsolutePath) -> Bool in TuistGraph.Target.isResource(path: path) } @@ -144,10 +154,16 @@ extension TuistGraph.Target { } } - return (resources: resourcesWithoutPlaygrounds, playgrounds: Array(playgrounds), invalidResourceGlobs: invalidResourceGlobs) + return ( + resources: resourcesWithoutPlaygrounds, + playgrounds: Array(playgrounds), + invalidResourceGlobs: invalidResourceGlobs + ) } - fileprivate static func resourcesFlatteningBundles(resources: [TuistGraph.ResourceFileElement]) -> [TuistGraph.ResourceFileElement] { + fileprivate static func resourcesFlatteningBundles(resources: [TuistGraph.ResourceFileElement]) + -> [TuistGraph.ResourceFileElement] + { Array(resources.reduce(into: Set()) { flattenedResources, resourceElement in switch resourceElement { case let .file(path, _): @@ -162,8 +178,11 @@ extension TuistGraph.Target { }) } - // swiftlint:disable:next line_length - fileprivate static func sourcesAndPlaygrounds(manifest: ProjectDescription.Target, targetName: String, generatorPaths: GeneratorPaths) throws -> (sources: [TuistGraph.SourceFile], playgrounds: [AbsolutePath]) { + fileprivate static func sourcesAndPlaygrounds( + manifest: ProjectDescription.Target, + targetName: String, + generatorPaths: GeneratorPaths + ) throws -> (sources: [TuistGraph.SourceFile], playgrounds: [AbsolutePath]) { var sourcesWithoutPlaygrounds: [TuistGraph.SourceFile] = [] var playgrounds: Set = [] @@ -172,7 +191,12 @@ extension TuistGraph.Target { let globPath = try generatorPaths.resolve(path: glob.glob).pathString let excluding: [String] = try glob.excluding.compactMap { try generatorPaths.resolve(path: $0).pathString } let mappedCodeGen = glob.codeGen.map(TuistGraph.FileCodeGen.from) - return TuistGraph.SourceFileGlob(glob: globPath, excluding: excluding, compilerFlags: glob.compilerFlags, codeGen: mappedCodeGen) + return TuistGraph.SourceFileGlob( + glob: globPath, + excluding: excluding, + compilerFlags: glob.compilerFlags, + codeGen: mappedCodeGen + ) } ?? []) allSources.forEach { sourceFile in diff --git a/Sources/TuistLoader/Models+ManifestMappers/TargetAction+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/TargetAction+ManifestMapper.swift index 5acad8550..2135fe631 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/TargetAction+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/TargetAction+ManifestMapper.swift @@ -10,7 +10,9 @@ extension TuistGraph.TargetScript { /// - Parameters: /// - manifest: Manifest representation of target action. /// - generatorPaths: Generator paths. - static func from(manifest: ProjectDescription.TargetScript, generatorPaths: GeneratorPaths) throws -> TuistGraph.TargetScript { + static func from(manifest: ProjectDescription.TargetScript, generatorPaths: GeneratorPaths) throws -> TuistGraph + .TargetScript + { let name = manifest.name let order = TuistGraph.TargetScript.Order.from(manifest: manifest.order) let inputPaths = try absolutePaths(for: manifest.inputPaths, generatorPaths: generatorPaths) diff --git a/Sources/TuistLoader/Models+ManifestMappers/TestAction+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/TestAction+ManifestMapper.swift index 2b41c7184..61f9cdb93 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/TestAction+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/TestAction+ManifestMapper.swift @@ -37,7 +37,8 @@ extension TuistGraph.TestAction { language = nil region = nil } else { - targets = try manifest.targets.map { try TuistGraph.TestableTarget.from(manifest: $0, generatorPaths: generatorPaths) } + targets = try manifest.targets + .map { try TuistGraph.TestableTarget.from(manifest: $0, generatorPaths: generatorPaths) } arguments = manifest.arguments.map { TuistGraph.Arguments.from(manifest: $0) } coverage = manifest.options.coverage codeCoverageTargets = try manifest.options.codeCoverageTargets.map { diff --git a/Sources/TuistLoader/Models+ManifestMappers/Workspace+ManifestMapper.swift b/Sources/TuistLoader/Models+ManifestMappers/Workspace+ManifestMapper.swift index 460b3ef36..99c3cbeaa 100644 --- a/Sources/TuistLoader/Models+ManifestMappers/Workspace+ManifestMapper.swift +++ b/Sources/TuistLoader/Models+ManifestMappers/Workspace+ManifestMapper.swift @@ -40,7 +40,8 @@ extension TuistGraph.Workspace { let schemes = try manifest.schemes.map { try TuistGraph.Scheme.from(manifest: $0, generatorPaths: generatorPaths) } - let ideTemplateMacros = try manifest.fileHeaderTemplate.map { try IDETemplateMacros.from(manifest: $0, generatorPaths: generatorPaths) } + let ideTemplateMacros = try manifest.fileHeaderTemplate + .map { try IDETemplateMacros.from(manifest: $0, generatorPaths: generatorPaths) } return TuistGraph.Workspace( path: path, diff --git a/Sources/TuistLoader/Utils/ResourceSynthesizerPathLocator.swift b/Sources/TuistLoader/Utils/ResourceSynthesizerPathLocator.swift index 3b4a9fcd2..92bbf1a31 100644 --- a/Sources/TuistLoader/Utils/ResourceSynthesizerPathLocator.swift +++ b/Sources/TuistLoader/Utils/ResourceSynthesizerPathLocator.swift @@ -61,7 +61,10 @@ final class ResourceSynthesizerPathLocator: ResourceSynthesizerPathLocating { .appending(components: "\(resourceName).stencil") guard FileHandler.shared.exists(resourceTemplatePath) - else { throw ResourceSynthesizerPathLocatorError.resourceTemplateNotFound(name: "\(resourceName).stencil", plugin: plugin.name) } + else { + throw ResourceSynthesizerPathLocatorError + .resourceTemplateNotFound(name: "\(resourceName).stencil", plugin: plugin.name) + } return resourceTemplatePath } @@ -72,7 +75,11 @@ final class ResourceSynthesizerPathLocator: ResourceSynthesizerPathLocating { ) -> AbsolutePath? { guard let rootDirectory = rootDirectoryLocator.locate(from: path) else { return nil } let templatePath = rootDirectory - .appending(components: Constants.tuistDirectoryName, Constants.resourceSynthesizersDirectoryName, "\(resourceName).stencil") + .appending( + components: Constants.tuistDirectoryName, + Constants.resourceSynthesizersDirectoryName, + "\(resourceName).stencil" + ) return FileHandler.shared.exists(templatePath) ? templatePath : nil } } diff --git a/Sources/TuistMigration/Utilities/EmptyBuildSettingsChecker.swift b/Sources/TuistMigration/Utilities/EmptyBuildSettingsChecker.swift index 8c98bf222..ad5cde88e 100644 --- a/Sources/TuistMigration/Utilities/EmptyBuildSettingsChecker.swift +++ b/Sources/TuistMigration/Utilities/EmptyBuildSettingsChecker.swift @@ -50,11 +50,12 @@ public class EmptyBuildSettingsChecker: EmptyBuildSettingsChecking { // MARK: - EmptyBuildSettingsChecking public func check(xcodeprojPath: AbsolutePath, targetName: String?) throws { - guard FileHandler.shared.exists(xcodeprojPath) else { throw EmptyBuildSettingsCheckerError.missingXcodeProj(xcodeprojPath) } + guard FileHandler.shared.exists(xcodeprojPath) + else { throw EmptyBuildSettingsCheckerError.missingXcodeProj(xcodeprojPath) } let project = try XcodeProj(path: Path(xcodeprojPath.pathString)) let pbxproj = project.pbxproj let buildConfigurations = try self.buildConfigurations(pbxproj: pbxproj, targetName: targetName) - let nonEmptyBuildSettings = buildConfigurations.compactMap { (config) -> String? in + let nonEmptyBuildSettings = buildConfigurations.compactMap { config -> String? in if config.buildSettings.isEmpty { return nil } config.buildSettings.forEach { key, _ in logger.info("The build setting '\(key)' of build configuration '\(config.name)' is not empty.") diff --git a/Sources/TuistMigration/Utilities/SettingsToXCConfigExtractor.swift b/Sources/TuistMigration/Utilities/SettingsToXCConfigExtractor.swift index fd9580656..fffc15b69 100644 --- a/Sources/TuistMigration/Utilities/SettingsToXCConfigExtractor.swift +++ b/Sources/TuistMigration/Utilities/SettingsToXCConfigExtractor.swift @@ -43,7 +43,8 @@ public class SettingsToXCConfigExtractor: SettingsToXCConfigExtracting { public init() {} public func extract(xcodeprojPath: AbsolutePath, targetName: String?, xcconfigPath: AbsolutePath) throws { - guard FileHandler.shared.exists(xcodeprojPath) else { throw SettingsToXCConfigExtractorError.missingXcodeProj(xcodeprojPath) } + guard FileHandler.shared.exists(xcodeprojPath) + else { throw SettingsToXCConfigExtractorError.missingXcodeProj(xcodeprojPath) } let project = try XcodeProj(path: Path(xcodeprojPath.pathString)) let pbxproj = project.pbxproj let buildConfigurations = try self.buildConfigurations(pbxproj: pbxproj, targetName: targetName) @@ -59,7 +60,7 @@ public class SettingsToXCConfigExtractor: SettingsToXCConfigExtracting { /// We get the build settings that are in common to define them as SETTING_KEY=SETTING_VALUE /// Otherwise, we have to define them as SETTING_KEY[config=Config]=SETTING_VALUE - let commonBuildSettings = repeatedBuildSettingsKeys.filter { (buildSetting) -> Bool in + let commonBuildSettings = repeatedBuildSettingsKeys.filter { buildSetting -> Bool in let values = buildConfigurations.map { $0.buildSettings[buildSetting]! } let stringValues = values.compactMap { $0 as? String } if values.count != stringValues.count { return false } @@ -86,8 +87,10 @@ public class SettingsToXCConfigExtractor: SettingsToXCConfigExtracting { if !FileHandler.shared.exists(xcconfigPath.parentDirectory) { try FileHandler.shared.createFolder(xcconfigPath.parentDirectory) } - let buildSettingsContent = [commonBuildSettingsLines.sorted().joined(separator: "\n"), - buildSettingsLines.sorted().joined(separator: "\n")].joined(separator: "\n\n") + let buildSettingsContent = [ + commonBuildSettingsLines.sorted().joined(separator: "\n"), + buildSettingsLines.sorted().joined(separator: "\n"), + ].joined(separator: "\n\n") try FileHandler.shared.write(buildSettingsContent, path: xcconfigPath, atomically: true) logger.info("Build settings successfully extracted into \(xcconfigPath.pathString)", metadata: .success) } diff --git a/Sources/TuistScaffold/TemplateGenerator.swift b/Sources/TuistScaffold/TemplateGenerator.swift index 78dd2e497..2b189dda6 100644 --- a/Sources/TuistScaffold/TemplateGenerator.swift +++ b/Sources/TuistScaffold/TemplateGenerator.swift @@ -49,7 +49,10 @@ public final class TemplateGenerator: TemplateGenerating { { attributes.reduce(template.items) { items, attribute in items.map { - let path = RelativePath($0.path.pathString.replacingOccurrences(of: "{{ \(attribute.key) }}", with: attribute.value)) + let path = RelativePath( + $0.path.pathString + .replacingOccurrences(of: "{{ \(attribute.key) }}", with: attribute.value) + ) var contents = $0.contents if case let Template.Contents.file(path) = contents { @@ -120,7 +123,8 @@ public final class TemplateGenerator: TemplateGenerating { renderedContents = nil } // Generate file only when it has some content - guard let rendered = renderedContents, !rendered.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else { return } + guard let rendered = renderedContents, + !rendered.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty else { return } try FileHandler.shared.write( rendered, path: destinationPath.appending($0.path), diff --git a/Sources/TuistSigning/Certificate/CertificateParser.swift b/Sources/TuistSigning/Certificate/CertificateParser.swift index 9c6f349f8..bbecf7148 100644 --- a/Sources/TuistSigning/Certificate/CertificateParser.swift +++ b/Sources/TuistSigning/Certificate/CertificateParser.swift @@ -69,7 +69,11 @@ final class CertificateParser: CertificateParsing { options: [] ) guard - let developmentTeamResult = developmentTeamRegex.firstMatch(in: subject, options: [], range: NSRange(location: 0, length: subject.count)) + let developmentTeamResult = developmentTeamRegex.firstMatch( + in: subject, + options: [], + range: NSRange(location: 0, length: subject.count) + ) else { throw CertificateParserError.developmentTeamParsingFailed(publicKey, subject) } let developmentTeam = NSString(string: subject).substring(with: developmentTeamResult.range(at: 1)).spm_chomp() @@ -107,7 +111,8 @@ final class CertificateParser: CertificateParsing { private func fingerprint(at path: AbsolutePath) throws -> String { do { - return try System.shared.capture("openssl", "x509", "-inform", "der", "-in", path.pathString, "-noout", "-fingerprint").spm_chomp() + return try System.shared + .capture("openssl", "x509", "-inform", "der", "-in", path.pathString, "-noout", "-fingerprint").spm_chomp() } catch let TuistSupport.SystemError.terminated(_, _, standardError) { if let string = String(data: standardError, encoding: .utf8) { logger.warning("Parsing fingerprint of \(path) failed with: \(string)") @@ -122,7 +127,8 @@ final class CertificateParser: CertificateParsing { extension String { func sanitizeEncoding() -> String { // Had some real life certificates where encoding in the name was broken - e.g. \\xC3\\xA4 instead of ä - guard let regex = try? NSRegularExpression(pattern: "(\\\\x([A-Za-z0-9]{2}))(\\\\x([A-Za-z0-9]{2}))", options: []) else { return self } + guard let regex = try? NSRegularExpression(pattern: "(\\\\x([A-Za-z0-9]{2}))(\\\\x([A-Za-z0-9]{2}))", options: []) + else { return self } let matches = regex.matches(in: self, options: [], range: NSRange(startIndex..., in: self)).reversed() var modifiableString = self @@ -136,7 +142,10 @@ extension String { return } let resultRange = Range(result.range, in: modifiableString)! - modifiableString.replaceSubrange(resultRange, with: String(decoding: [firstInt, secondInt] as [UTF8.CodeUnit], as: UTF8.self)) + modifiableString.replaceSubrange( + resultRange, + with: String(decoding: [firstInt, secondInt] as [UTF8.CodeUnit], as: UTF8.self) + ) } return modifiableString diff --git a/Sources/TuistSigning/Linter/SigningLinter.swift b/Sources/TuistSigning/Linter/SigningLinter.swift index 2c81db1fa..0ab3e861b 100644 --- a/Sources/TuistSigning/Linter/SigningLinter.swift +++ b/Sources/TuistSigning/Linter/SigningLinter.swift @@ -13,7 +13,8 @@ final class SigningLinter: SigningLinting { var issues: [LintingIssue] = [] if certificate.developmentTeam != provisioningProfile.teamId { let reason: String = """ - Certificate \(certificate.name)'s development team \(certificate.developmentTeam) does not correspond to \(provisioningProfile.teamId). + Certificate \(certificate.name)'s development team \(certificate + .developmentTeam) does not correspond to \(provisioningProfile.teamId). Make sure they are the same. """ issues.append(LintingIssue(reason: reason, severity: .error)) @@ -37,7 +38,8 @@ final class SigningLinter: SigningLinting { let appId = provisioningProfile.teamId + "." + target.bundleId let invalidProvisioningProfileIssue = LintingIssue( reason: """ - App id \(provisioningProfile.appId) does not correspond to \(provisioningProfile.teamId).\(target.bundleId). Make sure the provisioning profile has been added to the right target. + App id \(provisioningProfile.appId) does not correspond to \(provisioningProfile.teamId).\(target + .bundleId). Make sure the provisioning profile has been added to the right target. """, severity: .error ) diff --git a/Sources/TuistSigning/ProvisioningProfile/ProvisioningProfileParser.swift b/Sources/TuistSigning/ProvisioningProfile/ProvisioningProfileParser.swift index 979ee2163..575cb3597 100644 --- a/Sources/TuistSigning/ProvisioningProfile/ProvisioningProfileParser.swift +++ b/Sources/TuistSigning/ProvisioningProfile/ProvisioningProfileParser.swift @@ -31,14 +31,18 @@ final class ProvisioningProfileParser: ProvisioningProfileParsing { private let securityController: SecurityControlling private let certificateParser: CertificateParsing - init(securityController: SecurityControlling = SecurityController(), certificateParser: CertificateParsing = CertificateParser()) { + init( + securityController: SecurityControlling = SecurityController(), + certificateParser: CertificateParsing = CertificateParser() + ) { self.securityController = securityController self.certificateParser = certificateParser } func parse(at path: AbsolutePath) throws -> ProvisioningProfile { let provisioningProfileComponents = path.basenameWithoutExt.components(separatedBy: ".") - guard provisioningProfileComponents.count == 2 else { throw ProvisioningProfileParserError.invalidFormat(path.pathString) } + guard provisioningProfileComponents.count == 2 + else { throw ProvisioningProfileParserError.invalidFormat(path.pathString) } let targetName = provisioningProfileComponents[0] let configurationName = provisioningProfileComponents[1] diff --git a/Sources/TuistSigning/SigningCipher.swift b/Sources/TuistSigning/SigningCipher.swift index 8e1654c83..0c4606344 100644 --- a/Sources/TuistSigning/SigningCipher.swift +++ b/Sources/TuistSigning/SigningCipher.swift @@ -133,11 +133,13 @@ public final class SigningCipher: SigningCiphering { // MARK: - Helpers private func locateUnencryptedSigningFiles(at path: AbsolutePath) throws -> [AbsolutePath] { - try signingFilesLocator.locateUnencryptedCertificates(from: path) + signingFilesLocator.locateUnencryptedPrivateKeys(from: path) + try signingFilesLocator.locateUnencryptedCertificates(from: path) + signingFilesLocator + .locateUnencryptedPrivateKeys(from: path) } private func locateEncryptedSigningFiles(at path: AbsolutePath) throws -> [AbsolutePath] { - try signingFilesLocator.locateEncryptedCertificates(from: path) + signingFilesLocator.locateEncryptedPrivateKeys(from: path) + try signingFilesLocator.locateEncryptedCertificates(from: path) + signingFilesLocator + .locateEncryptedPrivateKeys(from: path) } /// - Returns: Files that are already correctly encrypted diff --git a/Sources/TuistSigning/SigningInstaller.swift b/Sources/TuistSigning/SigningInstaller.swift index a01ec18e2..300b97275 100644 --- a/Sources/TuistSigning/SigningInstaller.swift +++ b/Sources/TuistSigning/SigningInstaller.swift @@ -9,7 +9,10 @@ extension LintingIssue { } static func expiredProvisioningProfile(_ profile: ProvisioningProfile) -> Self { - Self(reason: "The provisioning profile \(profile.name) has expired. Bear in mind that attempting to export or run the app on a device might lead to an error.", severity: .warning) + Self( + reason: "The provisioning profile \(profile.name) has expired. Bear in mind that attempting to export or run the app on a device might lead to an error.", + severity: .warning + ) } } @@ -37,7 +40,8 @@ final class SigningInstaller: SigningInstalling { issues.append(.expiredProvisioningProfile(provisioningProfile)) } - let provisioningProfilesPath = FileHandler.shared.homeDirectory.appending(RelativePath("Library/MobileDevice/Provisioning Profiles")) + let provisioningProfilesPath = FileHandler.shared.homeDirectory + .appending(RelativePath("Library/MobileDevice/Provisioning Profiles")) if !FileHandler.shared.exists(provisioningProfilesPath) { try FileHandler.shared.createFolder(provisioningProfilesPath) } @@ -49,7 +53,8 @@ final class SigningInstaller: SigningInstalling { return issues } - let provisioningProfilePath = provisioningProfilesPath.appending(component: provisioningProfile.uuid + "." + profileExtension) + let provisioningProfilePath = provisioningProfilesPath + .appending(component: provisioningProfile.uuid + "." + profileExtension) if FileHandler.shared.exists(provisioningProfilePath) { try FileHandler.shared.delete(provisioningProfilePath) } @@ -58,13 +63,19 @@ final class SigningInstaller: SigningInstalling { to: provisioningProfilePath ) - logger.debug("Installed provisioning profile \(provisioningProfileSourcePath.pathString) to \(provisioningProfilePath.pathString)") + logger + .debug( + "Installed provisioning profile \(provisioningProfileSourcePath.pathString) to \(provisioningProfilePath.pathString)" + ) return issues } func installCertificate(_ certificate: Certificate, keychainPath: AbsolutePath) throws { try securityController.importCertificate(certificate, keychainPath: keychainPath) - logger.debug("Installed certificate with public key at \(certificate.publicKey.pathString) and private key at \(certificate.privateKey.pathString) to keychain at \(keychainPath.pathString)") + logger + .debug( + "Installed certificate with public key at \(certificate.publicKey.pathString) and private key at \(certificate.privateKey.pathString) to keychain at \(keychainPath.pathString)" + ) } } diff --git a/Sources/TuistSigning/SigningInteractor.swift b/Sources/TuistSigning/SigningInteractor.swift index ee7f26ed5..e83ee6967 100644 --- a/Sources/TuistSigning/SigningInteractor.swift +++ b/Sources/TuistSigning/SigningInteractor.swift @@ -52,7 +52,8 @@ public final class SigningInteractor: SigningInteracting { let entryPath = graphTraverser.path guard let signingDirectory = try signingFilesLocator.locateSigningDirectory(from: entryPath), - let derivedDirectory = rootDirectoryLocator.locate(from: entryPath)?.appending(component: Constants.DerivedDirectory.name) + let derivedDirectory = rootDirectoryLocator.locate(from: entryPath)? + .appending(component: Constants.DerivedDirectory.name) else { return } let keychainPath = derivedDirectory.appending(component: Constants.DerivedDirectory.signingKeychain) diff --git a/Sources/TuistSigning/SigningMatcher.swift b/Sources/TuistSigning/SigningMatcher.swift index 282e08940..ceb66167d 100644 --- a/Sources/TuistSigning/SigningMatcher.swift +++ b/Sources/TuistSigning/SigningMatcher.swift @@ -44,8 +44,8 @@ final class SigningMatcher: SigningMatching { dict[certificate.fingerprint] = certificate } - // swiftlint:disable:next line_length - let provisioningProfiles: [TargetName: [ConfigurationName: ProvisioningProfile]] = try signingFilesLocator.locateProvisioningProfiles(from: path) + let provisioningProfiles: [TargetName: [ConfigurationName: ProvisioningProfile]] = try signingFilesLocator + .locateProvisioningProfiles(from: path) .map(provisioningProfileParser.parse) .reduce(into: [:]) { dict, profile in var currentTargetDict = dict[profile.targetName] ?? [:] diff --git a/Sources/TuistSupport/CoreDataVersionExtractor.swift b/Sources/TuistSupport/CoreDataVersionExtractor.swift index 3cebefe45..4cfc9d82b 100644 --- a/Sources/TuistSupport/CoreDataVersionExtractor.swift +++ b/Sources/TuistSupport/CoreDataVersionExtractor.swift @@ -2,7 +2,7 @@ import Foundation import TSCBasic /// Extract version from .xccurrentversion file. -public final class CoreDataVersionExtractor { +public enum CoreDataVersionExtractor { /// Returns whether or not the provided core data model has versions /// /// - Parameter path: absolute path to Model.xcdatamodel diff --git a/Sources/TuistSupport/Errors/ErrorHandler.swift b/Sources/TuistSupport/Errors/ErrorHandler.swift index 1136b40d9..0b33f8381 100644 --- a/Sources/TuistSupport/Errors/ErrorHandler.swift +++ b/Sources/TuistSupport/Errors/ErrorHandler.swift @@ -23,7 +23,8 @@ public final class ErrorHandler: ErrorHandling { public func fatal(error: FatalError) { let isSilent = error.type == .abortSilent || error.type == .bugSilent if !error.description.isEmpty, !isSilent { - logger.error(""" + logger.error( + """ \(error.description) Consider creating an issue using the following link: https://github.com/tuist/tuist/issues/new/choose """ diff --git a/Sources/TuistSupport/Extensions/AnyPublisher+Extras.swift b/Sources/TuistSupport/Extensions/AnyPublisher+Extras.swift index 985423f6b..c0654fa81 100644 --- a/Sources/TuistSupport/Extensions/AnyPublisher+Extras.swift +++ b/Sources/TuistSupport/Extensions/AnyPublisher+Extras.swift @@ -1,8 +1,8 @@ import Combine import CombineExt -public extension AnyPublisher { - init(value: Output) { +extension AnyPublisher { + public init(value: Output) { self = AnyPublisher.create { subscriber in subscriber.send(value) subscriber.send(completion: .finished) @@ -10,14 +10,14 @@ public extension AnyPublisher { } } - init(error: Failure) { + public init(error: Failure) { self = AnyPublisher.create { subscriber in subscriber.send(completion: .failure(error)) return AnyCancellable {} } } - init(result: Result) { + public init(result: Result) { self = AnyPublisher.create { subscriber in switch result { case let .success(value): diff --git a/Sources/TuistSupport/Extensions/Array+ExecutionContext.swift b/Sources/TuistSupport/Extensions/Array+ExecutionContext.swift index 1c1e9c2e6..e7565aa76 100644 --- a/Sources/TuistSupport/Extensions/Array+ExecutionContext.swift +++ b/Sources/TuistSupport/Extensions/Array+ExecutionContext.swift @@ -1,12 +1,12 @@ import Foundation -public extension Array { +extension Array { /// Map (with execution context) /// /// - Parameters: /// - context: The execution context to perform the `transform` with /// - transform: The transformation closure to apply to the array - func map(context: ExecutionContext, _ transform: (Element) throws -> B) rethrows -> [B] { + public func map(context: ExecutionContext, _ transform: (Element) throws -> B) rethrows -> [B] { switch context.executionType { case .serial: return try map(transform) @@ -20,7 +20,7 @@ public extension Array { /// - Parameters: /// - context: The execution context to perform the `transform` with /// - transform: The transformation closure to apply to the array - func compactMap(context: ExecutionContext, _ transform: (Element) throws -> B?) rethrows -> [B] { + public func compactMap(context: ExecutionContext, _ transform: (Element) throws -> B?) rethrows -> [B] { switch context.executionType { case .serial: return try compactMap(transform) @@ -34,7 +34,7 @@ public extension Array { /// - Parameters: /// - context: The execution context to perform the `perform` operation with /// - transform: The perform closure to call on each element in the array - func forEach(context: ExecutionContext, _ perform: (Element) throws -> Void) rethrows { + public func forEach(context: ExecutionContext, _ perform: (Element) throws -> Void) rethrows { switch context.executionType { case .serial: return try forEach(perform) diff --git a/Sources/TuistSupport/Extensions/Dictionary+AnyEquatable.swift b/Sources/TuistSupport/Extensions/Dictionary+AnyEquatable.swift index 380b3a996..9472eb547 100644 --- a/Sources/TuistSupport/Extensions/Dictionary+AnyEquatable.swift +++ b/Sources/TuistSupport/Extensions/Dictionary+AnyEquatable.swift @@ -2,8 +2,8 @@ import Foundation // MARK: - https://stackoverflow.com/a/39170072 -public extension Dictionary where Value: Any { - func isEqual(to otherDict: [Key: Any]) -> Bool { +extension Dictionary where Value: Any { + public func isEqual(to otherDict: [Key: Any]) -> Bool { NSDictionary(dictionary: self).isEqual(to: NSDictionary(dictionary: otherDict)) } } diff --git a/Sources/TuistSupport/Extensions/Dictionary+ExecutionContext.swift b/Sources/TuistSupport/Extensions/Dictionary+ExecutionContext.swift index 62b13cade..cec98473c 100644 --- a/Sources/TuistSupport/Extensions/Dictionary+ExecutionContext.swift +++ b/Sources/TuistSupport/Extensions/Dictionary+ExecutionContext.swift @@ -1,10 +1,10 @@ -public extension Dictionary { +extension Dictionary { /// Map (with execution context) /// /// - Parameters: /// - context: The execution context to perform the `transform` with /// - transform: The transformation closure to apply to the dictionary - func map(context: ExecutionContext, _ transform: (Key, Value) throws -> B) rethrows -> [B] { + public func map(context: ExecutionContext, _ transform: (Key, Value) throws -> B) rethrows -> [B] { return try map { ($0.key, $0.value) } .map(context: context, transform) } @@ -14,7 +14,7 @@ public extension Dictionary { /// - Parameters: /// - context: The execution context to perform the `transform` with /// - transform: The transformation closure to apply to the dictionary - func compactMap(context: ExecutionContext, _ transform: (Key, Value) throws -> B?) rethrows -> [B] { + public func compactMap(context: ExecutionContext, _ transform: (Key, Value) throws -> B?) rethrows -> [B] { return try map { ($0.key, $0.value) } .compactMap(context: context, transform) } @@ -24,7 +24,7 @@ public extension Dictionary { /// - Parameters: /// - context: The execution context to perform the `perform` operation with /// - transform: The perform closure to call on each element in the dictionary - func forEach(context: ExecutionContext, _ perform: (Key, Value) throws -> Void) rethrows { + public func forEach(context: ExecutionContext, _ perform: (Key, Value) throws -> Void) rethrows { return try map { ($0.key, $0.value) } .forEach(context: context, perform) } diff --git a/Sources/TuistSupport/Extensions/String+Extras.swift b/Sources/TuistSupport/Extensions/String+Extras.swift index b53ff073c..2149c5c5b 100644 --- a/Sources/TuistSupport/Extensions/String+Extras.swift +++ b/Sources/TuistSupport/Extensions/String+Extras.swift @@ -153,7 +153,7 @@ extension String { /// hello -> hello, hello$world -> 'hello$world', input A -> 'input A' /// /// - Returns: Shell escaped string. - func shellEscaped() -> String { + internal func shellEscaped() -> String { // If all the characters in the string are in whitelist then no need to escape. guard let pos = utf8.firstIndex(where: { mustBeEscaped($0) }) else { return self @@ -181,7 +181,7 @@ extension String { } /// Shell escapes the current string. This method is mutating version of shellEscaped(). - mutating func shellEscape() { + internal mutating func shellEscape() { self = shellEscaped() } @@ -207,13 +207,13 @@ extension String { } } -public extension Array where Element: CustomStringConvertible { +extension Array where Element: CustomStringConvertible { /// Returns a sentence listing the elements contained in the array. /// ["Framework"] results in "Framework" /// ["Framework", "App"] results in "Framework and App" /// ["Framework", "App", "Tests"] results in "Framework, App, and Tests" /// - Returns: <#description#> - func listed() -> String { + public func listed() -> String { let listFormatter = ListFormatter() listFormatter.locale = Locale(identifier: "en-US") return listFormatter.string(from: self) ?? "" diff --git a/Sources/TuistSupport/Extensions/String+MD5.swift b/Sources/TuistSupport/Extensions/String+MD5.swift index 3529ceb5a..68f0f56b7 100644 --- a/Sources/TuistSupport/Extensions/String+MD5.swift +++ b/Sources/TuistSupport/Extensions/String+MD5.swift @@ -22,9 +22,9 @@ import Foundation -public extension Data { - var md5: String { - let message = withUnsafeBytes { (pointer) -> [UInt8] in +extension Data { + public var md5: String { + let message = withUnsafeBytes { pointer -> [UInt8] in Array(pointer) } @@ -38,8 +38,8 @@ public extension Data { } } -public extension String { - var md5: String { +extension String { + public var md5: String { if let data = data(using: .utf8, allowLossyConversion: true) { return data.md5 } else { @@ -55,7 +55,7 @@ func arrayOfBytes(_ value: T, length: Int? = nil) -> [UInt8] { let valuePointer = UnsafeMutablePointer.allocate(capacity: 1) valuePointer.pointee = value - let bytes = valuePointer.withMemoryRebound(to: UInt8.self, capacity: totalBytes) { (bytesPointer) -> [UInt8] in + let bytes = valuePointer.withMemoryRebound(to: UInt8.self, capacity: totalBytes) { bytesPointer -> [UInt8] in var bytes = [UInt8](repeating: 0, count: totalBytes) for j in 0 ..< min(MemoryLayout.size, totalBytes) { bytes[totalBytes - 1 - j] = (bytesPointer + j).pointee @@ -246,7 +246,7 @@ class MD5: HashProtocol { F = B ^ C ^ D g = (3 * j + 5) % 16 case 48 ... 63: - F = C ^ (B | (~D)) + F = C ^ (B | ~D) g = (7 * j) % 16 default: break diff --git a/Sources/TuistSupport/Extensions/String+Regex.swift b/Sources/TuistSupport/Extensions/String+Regex.swift index d6935c8ba..e6e6202b2 100644 --- a/Sources/TuistSupport/Extensions/String+Regex.swift +++ b/Sources/TuistSupport/Extensions/String+Regex.swift @@ -4,7 +4,7 @@ import Foundation extension String { public func matches(pattern: String) -> Bool { - guard let range = self.range(of: pattern, options: .regularExpression) else { + guard let range = range(of: pattern, options: .regularExpression) else { return false } return range == self.range(of: self) diff --git a/Sources/TuistSupport/Extensions/URLRequest+Sugar.swift b/Sources/TuistSupport/Extensions/URLRequest+Sugar.swift index 46c92161e..0259a98c2 100644 --- a/Sources/TuistSupport/Extensions/URLRequest+Sugar.swift +++ b/Sources/TuistSupport/Extensions/URLRequest+Sugar.swift @@ -1,7 +1,7 @@ import Foundation -public extension URLRequest { - var descriptionForError: String { +extension URLRequest { + public var descriptionForError: String { guard let url = url, let httpMethod = httpMethod else { return "url request without any http method nor url set" } return "an url request that sends a \(httpMethod) request to url '\(url)'" } diff --git a/Sources/TuistSupport/HTTP/FileClient.swift b/Sources/TuistSupport/HTTP/FileClient.swift index b5a67f7f0..cb08c2e20 100644 --- a/Sources/TuistSupport/HTTP/FileClient.swift +++ b/Sources/TuistSupport/HTTP/FileClient.swift @@ -24,7 +24,8 @@ enum FileClientError: LocalizedError, FatalError { output = "Received unexpected response from the network with \(urlRequest.descriptionForError)" output.append(pathSubstring(path)) case let .serverSideError(request, response, path): - output = "Got error code: \(response.statusCode) returned by the server after performing \(request.descriptionForError)" + output = + "Got error code: \(response.statusCode) returned by the server after performing \(request.descriptionForError)" output.append(pathSubstring(path)) case let .noLocalURL(request): output = "Could not locate file on disk the downloaded file after performing \(request.descriptionForError)" diff --git a/Sources/TuistSupport/HTTP/HTTPRequestDispatcher.swift b/Sources/TuistSupport/HTTP/HTTPRequestDispatcher.swift index 09270d53f..c01b8e9ea 100644 --- a/Sources/TuistSupport/HTTP/HTTPRequestDispatcher.swift +++ b/Sources/TuistSupport/HTTP/HTTPRequestDispatcher.swift @@ -105,7 +105,9 @@ public final class HTTPRequestDispatcher: HTTPRequestDispatching { } } - public func dispatch(resource: HTTPResource) -> AnyPublisher<(object: T, response: HTTPURLResponse), Error> where E: Error { + public func dispatch(resource: HTTPResource) -> AnyPublisher<(object: T, response: HTTPURLResponse), Error> + where E: Error + { return AnyPublisher.create { subscriber in let disposable = self.dispatch(resource: resource) .subscribe(onSuccess: { value in diff --git a/Sources/TuistSupport/Logging/OSLogHandler.swift b/Sources/TuistSupport/Logging/OSLogHandler.swift index b07f5d188..76f55c99b 100644 --- a/Sources/TuistSupport/Logging/OSLogHandler.swift +++ b/Sources/TuistSupport/Logging/OSLogHandler.swift @@ -34,7 +34,12 @@ public struct OSLogHandler: LogHandler { metadataLog = nil } - os_log("%{public}@", log: os, type: .init(level: level), "\(timestamp()) \(level) \(URL(fileURLWithPath: file).lastPathComponent):\(line) \(message.description) \(metadataLog == nil ? "" : " -- \(metadataLog!)")") + os_log( + "%{public}@", + log: os, + type: .init(level: level), + "\(timestamp()) \(level) \(URL(fileURLWithPath: file).lastPathComponent):\(line) \(message.description) \(metadataLog == nil ? "" : " -- \(metadataLog!)")" + ) } public var metadata = Logger.Metadata() diff --git a/Sources/TuistSupport/System/Observable+System.swift b/Sources/TuistSupport/System/Observable+System.swift index 13695b2b2..83ad70832 100644 --- a/Sources/TuistSupport/System/Observable+System.swift +++ b/Sources/TuistSupport/System/Observable+System.swift @@ -1,16 +1,16 @@ import Foundation import RxSwift -public extension Observable where Element == SystemEvent { +extension Observable where Element == SystemEvent { /// Returns another observable where the standard output and error data are mapped /// to a string. - func mapToString() -> Observable> { + public func mapToString() -> Observable> { map { $0.mapToString() } } } -public extension Observable where Element == SystemEvent { - func print() -> Observable> { +extension Observable where Element == SystemEvent { + public func print() -> Observable> { `do`(onNext: { (event: SystemEvent) in switch event { case let .standardError(error): @@ -22,7 +22,7 @@ public extension Observable where Element == SystemEvent { } /// Returns an observable that prints the standard error. - func printStandardError() -> Observable> { + public func printStandardError() -> Observable> { `do`(onNext: { event in switch event { case let .standardError(error): @@ -36,8 +36,8 @@ public extension Observable where Element == SystemEvent { } /// Returns an observable that collects and merges the standard output and error into a single string. - func collectAndMergeOutput() -> Observable { - reduce("") { (collected, event) -> String in + public func collectAndMergeOutput() -> Observable { + reduce("") { collected, event -> String in var collected = collected switch event { case let .standardError(error): @@ -51,8 +51,8 @@ public extension Observable where Element == SystemEvent { /// It collects the standard output and error into an object that is sent /// as a single event when the process completes. - func collectOutput() -> Observable { - reduce(SystemCollectedOutput()) { (collected, event) -> SystemCollectedOutput in + public func collectOutput() -> Observable { + reduce(SystemCollectedOutput()) { collected, event -> SystemCollectedOutput in var collected = collected switch event { case let .standardError(error): @@ -66,7 +66,7 @@ public extension Observable where Element == SystemEvent { /// Returns an observable that forwards the system events filtering the standard output ones using the given function. /// - Parameter filter: Function to filter the standard output events. - func filterStandardOutput(_ filter: @escaping (String) -> Bool) -> Observable> { + public func filterStandardOutput(_ filter: @escaping (String) -> Bool) -> Observable> { self.filter { if case let SystemEvent.standardOutput(output) = $0 { return filter(output) @@ -78,7 +78,7 @@ public extension Observable where Element == SystemEvent { /// Returns an observable that forwards all the system except the standard output ones rejected by the given function. /// - Parameter rejector: Function to reject standard output events. - func rejectStandardOutput(_ rejector: @escaping (String) -> Bool) -> Observable> { + public func rejectStandardOutput(_ rejector: @escaping (String) -> Bool) -> Observable> { filter { if case let SystemEvent.standardOutput(output) = $0 { return !rejector(output) @@ -90,7 +90,7 @@ public extension Observable where Element == SystemEvent { /// Returns an observable that forwards the system events filtering the standard error ones using the given function. /// - Parameter filter: Function to filter the standard error events. - func filterStandardError(_ filter: @escaping (String) -> Bool) -> Observable> { + public func filterStandardError(_ filter: @escaping (String) -> Bool) -> Observable> { self.filter { if case let SystemEvent.standardError(error) = $0 { return filter(error) @@ -102,7 +102,7 @@ public extension Observable where Element == SystemEvent { /// Returns an observable that forwards all the system except the standard error ones rejected by the given function. /// - Parameter rejector: Function to reject standard error events. - func rejectStandardError(_ rejector: @escaping (String) -> Bool) -> Observable> { + public func rejectStandardError(_ rejector: @escaping (String) -> Bool) -> Observable> { filter { if case let SystemEvent.standardError(error) = $0 { return !rejector(error) diff --git a/Sources/TuistSupport/System/Publisher+System.swift b/Sources/TuistSupport/System/Publisher+System.swift index 0745d3be2..48fce33b7 100644 --- a/Sources/TuistSupport/System/Publisher+System.swift +++ b/Sources/TuistSupport/System/Publisher+System.swift @@ -2,16 +2,16 @@ import Combine import CombineExt import Foundation -public extension Publisher where Output == SystemEvent, Failure == Error { +extension Publisher where Output == SystemEvent, Failure == Error { /// Returns another observable where the standard output and error data are mapped /// to a string. - func mapToString() -> AnyPublisher, Error> { + public func mapToString() -> AnyPublisher, Error> { map { $0.mapToString() }.eraseToAnyPublisher() } } -public extension Publisher where Output == SystemEvent, Failure == Error { - func print() -> AnyPublisher, Error> { +extension Publisher where Output == SystemEvent, Failure == Error { + public func print() -> AnyPublisher, Error> { handleEvents(receiveOutput: { event in switch event { case let .standardError(error): @@ -20,11 +20,11 @@ public extension Publisher where Output == SystemEvent, Failure == Error logger.info("\(output)") } }) - .eraseToAnyPublisher() + .eraseToAnyPublisher() } /// Returns an observable that prints the standard error. - func printStandardError() -> AnyPublisher, Error> { + public func printStandardError() -> AnyPublisher, Error> { handleEvents(receiveOutput: { event in switch event { case let .standardError(error): @@ -35,12 +35,12 @@ public extension Publisher where Output == SystemEvent, Failure == Error return } }) - .eraseToAnyPublisher() + .eraseToAnyPublisher() } /// Returns an observable that collects and merges the standard output and error into a single string. - func collectAndMergeOutput() -> AnyPublisher { - reduce("") { (collected, event) -> String in + public func collectAndMergeOutput() -> AnyPublisher { + reduce("") { collected, event -> String in var collected = collected switch event { case let .standardError(error): @@ -54,8 +54,8 @@ public extension Publisher where Output == SystemEvent, Failure == Error /// It collects the standard output and error into an object that is sent /// as a single event when the process completes. - func collectOutput() -> AnyPublisher { - reduce(SystemCollectedOutput()) { (collected, event) -> SystemCollectedOutput in + public func collectOutput() -> AnyPublisher { + reduce(SystemCollectedOutput()) { collected, event -> SystemCollectedOutput in var collected = collected switch event { case let .standardError(error): @@ -69,7 +69,7 @@ public extension Publisher where Output == SystemEvent, Failure == Error /// Returns an observable that forwards the system events filtering the standard output ones using the given function. /// - Parameter filter: Function to filter the standard output events. - func filterStandardOutput(_ filter: @escaping (String) -> Bool) -> AnyPublisher, Error> { + public func filterStandardOutput(_ filter: @escaping (String) -> Bool) -> AnyPublisher, Error> { self.filter { if case let SystemEvent.standardOutput(output) = $0 { return filter(output) @@ -81,7 +81,7 @@ public extension Publisher where Output == SystemEvent, Failure == Error /// Returns an observable that forwards all the system except the standard output ones rejected by the given function. /// - Parameter rejector: Function to reject standard output events. - func rejectStandardOutput(_ rejector: @escaping (String) -> Bool) -> AnyPublisher, Error> { + public func rejectStandardOutput(_ rejector: @escaping (String) -> Bool) -> AnyPublisher, Error> { filter { if case let SystemEvent.standardOutput(output) = $0 { return !rejector(output) @@ -93,7 +93,7 @@ public extension Publisher where Output == SystemEvent, Failure == Error /// Returns an observable that forwards the system events filtering the standard error ones using the given function. /// - Parameter filter: Function to filter the standard error events. - func filterStandardError(_ filter: @escaping (String) -> Bool) -> AnyPublisher, Error> { + public func filterStandardError(_ filter: @escaping (String) -> Bool) -> AnyPublisher, Error> { self.filter { if case let SystemEvent.standardError(error) = $0 { return filter(error) @@ -105,7 +105,7 @@ public extension Publisher where Output == SystemEvent, Failure == Error /// Returns an observable that forwards all the system except the standard error ones rejected by the given function. /// - Parameter rejector: Function to reject standard error events. - func rejectStandardError(_ rejector: @escaping (String) -> Bool) -> AnyPublisher, Error> { + public func rejectStandardError(_ rejector: @escaping (String) -> Bool) -> AnyPublisher, Error> { filter { if case let SystemEvent.standardError(error) = $0 { return !rejector(error) diff --git a/Sources/TuistSupport/System/System.swift b/Sources/TuistSupport/System/System.swift index 894febd58..616c4dd8b 100644 --- a/Sources/TuistSupport/System/System.swift +++ b/Sources/TuistSupport/System/System.swift @@ -96,7 +96,12 @@ public protocol Systeming { /// - environment: Environment that should be used when running the task. /// - redirection: Instance through which the output will be redirected. /// - Throws: An error if the command fails. - func runAndPrint(_ arguments: [String], verbose: Bool, environment: [String: String], redirection: TSCBasic.Process.OutputRedirection) throws + func runAndPrint( + _ arguments: [String], + verbose: Bool, + environment: [String: String], + redirection: TSCBasic.Process.OutputRedirection + ) throws /// Runs a command in the shell and wraps the standard output and error in a observable. /// - Parameters: @@ -138,7 +143,8 @@ public protocol Systeming { /// - arguments: Command. /// - environment: Environment that should be used when running the command. /// - secondArguments: Second Command. - func observable(_ arguments: [String], environment: [String: String], pipeTo secondArguments: [String]) -> Observable> + func observable(_ arguments: [String], environment: [String: String], pipeTo secondArguments: [String]) + -> Observable> /// Runs a command in the shell asynchronously. /// When the process that triggers the command gets killed, the command continues its execution. @@ -460,7 +466,7 @@ public final class System: Systeming { } public func observable(_ arguments: [String], verbose: Bool, environment: [String: String]) -> Observable> { - Observable.create { (observer) -> Disposable in + Observable.create { observer -> Disposable in let synchronizationQueue = DispatchQueue(label: "io.tuist.support.system") var errorData: [UInt8] = [] let process = Process( @@ -515,7 +521,7 @@ public final class System: Systeming { environment: [String: String], pipeTo secondArguments: [String]) -> Observable> { - Observable.create { (observer) -> Disposable in + Observable.create { observer -> Disposable in let synchronizationQueue = DispatchQueue(label: "io.tuist.support.system") var errorData: [UInt8] = [] var processOne = System.process(arguments, environment: environment) @@ -672,8 +678,8 @@ public final class System: Systeming { /// - Parameter process: The process to pipe /// - Returns: Tuple that contains the output and error Pipe. static func pipeOutput(_ process: inout Foundation.Process) -> (stdOut: Pipe, stdErr: Pipe) { - let stdOut: Pipe = Pipe() - let stdErr: Pipe = Pipe() + let stdOut = Pipe() + let stdErr = Pipe() // Redirect output of Process Two process.standardOutput = stdOut @@ -685,7 +691,7 @@ public final class System: Systeming { extension Systeming { public func publisher(_ arguments: [String], pipedToArguments: [String]) -> AnyPublisher, Error> { - AnyPublisher.create { (subscriber) -> Cancellable in + AnyPublisher.create { subscriber -> Cancellable in let disposable = self.observable(arguments, pipedToArguments: pipedToArguments).subscribe { event in switch event { case .completed: @@ -703,7 +709,7 @@ extension Systeming { } public func publisher(_ arguments: [String]) -> AnyPublisher, Error> { - AnyPublisher.create { (subscriber) -> Cancellable in + AnyPublisher.create { subscriber -> Cancellable in let disposable = self.observable(arguments).subscribe { event in switch event { case .completed: @@ -721,7 +727,7 @@ extension Systeming { } public func publisher(_ arguments: [String], verbose: Bool) -> AnyPublisher, Error> { - AnyPublisher.create { (subscriber) -> Cancellable in + AnyPublisher.create { subscriber -> Cancellable in let disposable = self.observable(arguments, verbose: verbose).subscribe { event in switch event { case .completed: diff --git a/Sources/TuistSupport/Utils/ColorizeSwift.swift b/Sources/TuistSupport/Utils/ColorizeSwift.swift index 15b64a7e0..d4511d80e 100644 --- a/Sources/TuistSupport/Utils/ColorizeSwift.swift +++ b/Sources/TuistSupport/Utils/ColorizeSwift.swift @@ -11,7 +11,7 @@ import Foundation public typealias TerminalStyleCode = (open: String, close: String) -public struct TerminalStyle { +public enum TerminalStyle { public static let bold: TerminalStyleCode = ("\u{001B}[1m", "\u{001B}[22m") public static let dim: TerminalStyleCode = ("\u{001B}[2m", "\u{001B}[22m") public static let italic: TerminalStyleCode = ("\u{001B}[3m", "\u{001B}[23m") diff --git a/Sources/TuistSupport/Utils/DerivedDataLocator.swift b/Sources/TuistSupport/Utils/DerivedDataLocator.swift index 1ffa2f8ca..e87d4d609 100644 --- a/Sources/TuistSupport/Utils/DerivedDataLocator.swift +++ b/Sources/TuistSupport/Utils/DerivedDataLocator.swift @@ -21,7 +21,7 @@ public final class DerivedDataLocator: DerivedDataLocating { // This is taken from XCLogParser, from Spotify, at: // https://github.com/spotify/XCLogParser/blob/master/Sources/XcodeHasher/XcodeHasher.swift -internal class XcodeProjectPathHasher { +internal enum XcodeProjectPathHasher { enum HashingError: Error { case invalidPartitioning } diff --git a/Sources/TuistSupport/Utils/DeveloperEnvironment.swift b/Sources/TuistSupport/Utils/DeveloperEnvironment.swift index 8fca0133b..6848c0f0b 100644 --- a/Sources/TuistSupport/Utils/DeveloperEnvironment.swift +++ b/Sources/TuistSupport/Utils/DeveloperEnvironment.swift @@ -34,7 +34,11 @@ public final class DeveloperEnvironment: DeveloperEnvironmenting { return _derivedDataDirectory } let location: AbsolutePath - if let customLocation = try? System.shared.capture("/usr/bin/defaults", "read", "com.apple.dt.Xcode IDECustomDerivedDataLocation") { + if let customLocation = try? System.shared.capture( + "/usr/bin/defaults", + "read", + "com.apple.dt.Xcode IDECustomDerivedDataLocation" + ) { location = AbsolutePath(customLocation.chomp()) } else { // Default location @@ -54,6 +58,4 @@ public final class DeveloperEnvironment: DeveloperEnvironmenting { _architecture = MacArchitecture(rawValue: output) return _architecture! } - - // swiftlint:enable identifier_name } diff --git a/Sources/TuistSupport/Utils/FileHandler.swift b/Sources/TuistSupport/Utils/FileHandler.swift index 47d49a103..255d10f85 100644 --- a/Sources/TuistSupport/Utils/FileHandler.swift +++ b/Sources/TuistSupport/Utils/FileHandler.swift @@ -140,7 +140,9 @@ public class FileHandler: FileHandling { try withTemporaryDirectory(removeTreeOnDeinit: true, closure) } - public func inTemporaryDirectory(removeOnCompletion: Bool, _ closure: (AbsolutePath) throws -> Result) throws -> Result { + public func inTemporaryDirectory(removeOnCompletion: Bool, + _ closure: (AbsolutePath) throws -> Result) throws -> Result + { try withTemporaryDirectory(removeTreeOnDeinit: removeOnCompletion, closure) } @@ -291,7 +293,7 @@ public class FileHandler: FileHandling { _ = digestData.withUnsafeMutableBytes { digestBytes -> UInt8 in data.withUnsafeBytes { messageBytes -> UInt8 in if let messageBytesBaseAddress = messageBytes.baseAddress, - let digestBytesBlindMemory = digestBytes.bindMemory(to: UInt8.self).baseAddress + let digestBytesBlindMemory = digestBytes.bindMemory(to: UInt8.self).baseAddress { let messageLength = CC_LONG(data.count) CC_MD5(messageBytesBaseAddress, messageLength, digestBytesBlindMemory) diff --git a/Sources/TuistSupport/Utils/Functions.swift b/Sources/TuistSupport/Utils/Functions.swift index 57ae267ad..6a5590a90 100644 --- a/Sources/TuistSupport/Utils/Functions.swift +++ b/Sources/TuistSupport/Utils/Functions.swift @@ -32,7 +32,9 @@ public func and(_ lhs: @escaping (T) -> Bool, _ rhs: @escaping (T) -> Bool) - public func or(_ lhs: @escaping (T) -> Bool, _ rhs: @escaping (T) -> Bool) -> (T) -> Bool { { lhs($0) || rhs($0) } } -public func pipe(_ lhs: @escaping (Root) -> Value, _ rhs: @escaping (Value) -> T) -> (Root) -> T { { rhs(lhs($0)) } +public func pipe(_ lhs: @escaping (Root) -> Value, + _ rhs: @escaping (Value) -> T) -> (Root) -> T +{ { rhs(lhs($0)) } } public func flip(_ ƒ: @escaping (A) -> () -> B) -> () -> (A) -> B { { { ƒ($0)() } } diff --git a/Sources/TuistSupport/Utils/GitEnvironment.swift b/Sources/TuistSupport/Utils/GitEnvironment.swift index b0871b03a..ce8ebebe9 100644 --- a/Sources/TuistSupport/Utils/GitEnvironment.swift +++ b/Sources/TuistSupport/Utils/GitEnvironment.swift @@ -67,23 +67,27 @@ public class GitEnvironment: GitEnvironmenting { // https://github.com/Carthage/Carthage/blob/19a7f97112052394f3ecc33dac3c67e5384b7514/Source/CarthageKit/GitHub.swift#L85 public func githubCredentials() -> AnyPublisher { - System.shared.publisher(["/usr/bin/env", "echo", "url=https://github.com"], pipedToArguments: ["/usr/bin/env", "git", "credential", "fill"]) - .mapToString() - .collectAndMergeOutput() - .flatMap { (output: String) -> AnyPublisher in - // protocol=https - // host=github.com - // username=pepibumur - // password=foo - let lines = output.split(separator: "\n") - let values = lines.reduce(into: [String: String]()) { result, next in - let components = next.split(separator: "=") - guard components.count == 2 else { return } - result[String(components.first!).spm_chomp()] = String(components.last!).spm_chomp() - } - guard let username = values["username"], let password = values["password"] else { return AnyPublisher(value: nil) } - return AnyPublisher(value: GithubCredentials(username: username, password: password)) + System.shared.publisher( + ["/usr/bin/env", "echo", "url=https://github.com"], + pipedToArguments: ["/usr/bin/env", "git", "credential", "fill"] + ) + .mapToString() + .collectAndMergeOutput() + .flatMap { (output: String) -> AnyPublisher in + // protocol=https + // host=github.com + // username=pepibumur + // password=foo + let lines = output.split(separator: "\n") + let values = lines.reduce(into: [String: String]()) { result, next in + let components = next.split(separator: "=") + guard components.count == 2 else { return } + result[String(components.first!).spm_chomp()] = String(components.last!).spm_chomp() } - .eraseToAnyPublisher() + guard let username = values["username"], + let password = values["password"] else { return AnyPublisher(value: nil) } + return AnyPublisher(value: GithubCredentials(username: username, password: password)) + } + .eraseToAnyPublisher() } } diff --git a/Sources/TuistSupport/Utils/HTTPRedirectListener.swift b/Sources/TuistSupport/Utils/HTTPRedirectListener.swift index 9448c5fb1..ad215eec3 100644 --- a/Sources/TuistSupport/Utils/HTTPRedirectListener.swift +++ b/Sources/TuistSupport/Utils/HTTPRedirectListener.swift @@ -11,7 +11,8 @@ public protocol HTTPRedirectListening: Any { /// - redirectMessage: Text returned to the browser when it redirects the user to the given path. /// - logoURL: The logo to show in the redirect page. /// - Returns: Either the query parameterrs of the redirect URL, or an error if the HTTP server fails to start. - func listen(port: UInt16, path: String, redirectMessage: String, logoURL: URL) -> Swift.Result<[String: String]?, HTTPRedirectListenerError> + func listen(port: UInt16, path: String, redirectMessage: String, logoURL: URL) -> Swift + .Result<[String: String]?, HTTPRedirectListenerError> } public enum HTTPRedirectListenerError: FatalError { @@ -47,7 +48,10 @@ public final class HTTPRedirectListener: HTTPRedirectListening { redirectMessage: String, logoURL: URL ) -> Swift.Result<[String: String]?, HTTPRedirectListenerError> { - precondition(runningSemaphore == nil, "Trying to start a redirect server for localhost:\(port)\(path) when there's already one running.") + precondition( + runningSemaphore == nil, + "Trying to start a redirect server for localhost:\(port)\(path) when there's already one running." + ) let httpServer = HttpServer() var result: Swift.Result<[String: String]?, HTTPRedirectListenerError> = .success(nil) diff --git a/Sources/TuistSupport/Utils/TextTable.swift b/Sources/TuistSupport/Utils/TextTable.swift index b8486e337..1fab7deb7 100644 --- a/Sources/TuistSupport/Utils/TextTable.swift +++ b/Sources/TuistSupport/Utils/TextTable.swift @@ -118,8 +118,8 @@ public struct TextTable { } } -public extension TextTable { - struct Column { +extension TextTable { + public struct Column { let title: String let value: CustomStringConvertible diff --git a/Sources/TuistSupport/Utils/URLSessionScheduler.swift b/Sources/TuistSupport/Utils/URLSessionScheduler.swift index 1e884c74f..2a70d5a31 100644 --- a/Sources/TuistSupport/Utils/URLSessionScheduler.swift +++ b/Sources/TuistSupport/Utils/URLSessionScheduler.swift @@ -66,7 +66,7 @@ public final class URLSessionScheduler: URLSessionScheduling { } public func single(request: URLRequest) -> Single { - Single.create { (subscriber) -> Disposable in + Single.create { subscriber -> Disposable in let task = self.session.dataTask(with: request) { data, response, error in let statusCode = (response as? HTTPURLResponse)?.statusCodeValue diff --git a/Sources/TuistSupport/Vendored/HTTPStatusCodes/HTTPStatusCode+Extensions.swift b/Sources/TuistSupport/Vendored/HTTPStatusCodes/HTTPStatusCode+Extensions.swift index 9c680a680..31e2cb1a7 100644 --- a/Sources/TuistSupport/Vendored/HTTPStatusCodes/HTTPStatusCode+Extensions.swift +++ b/Sources/TuistSupport/Vendored/HTTPStatusCodes/HTTPStatusCode+Extensions.swift @@ -9,29 +9,29 @@ import Foundation -public extension HTTPStatusCode { +extension HTTPStatusCode { /// Informational - Request received, continuing process. - var isInformational: Bool { + public var isInformational: Bool { isIn(range: 100 ... 199) } /// Success - The action was successfully received, understood, and accepted. - var isSuccess: Bool { + public var isSuccess: Bool { isIn(range: 200 ... 299) } /// Redirection - Further action must be taken in order to complete the request. - var isRedirection: Bool { + public var isRedirection: Bool { isIn(range: 300 ... 399) } /// Client Error - The request contains bad syntax or cannot be fulfilled. - var isClientError: Bool { + public var isClientError: Bool { isIn(range: 400 ... 499) } /// Server Error - The server failed to fulfill an apparently valid request. - var isServerError: Bool { + public var isServerError: Bool { isIn(range: 500 ... 599) } @@ -41,9 +41,9 @@ public extension HTTPStatusCode { } } -public extension HTTPStatusCode { +extension HTTPStatusCode { /// - returns: a localized string suitable for displaying to users that describes the specified status code. - var localizedReasonPhrase: String { + public var localizedReasonPhrase: String { HTTPURLResponse.localizedString(forStatusCode: rawValue) } } @@ -62,9 +62,9 @@ extension HTTPStatusCode: CustomDebugStringConvertible, CustomStringConvertible // MARK: - HTTP URL Response -public extension HTTPStatusCode { +extension HTTPStatusCode { /// Obtains a possible status code from an optional HTTP URL response. - init?(HTTPResponse: HTTPURLResponse?) { + public init?(HTTPResponse: HTTPURLResponse?) { guard let statusCodeValue = HTTPResponse?.statusCode else { return nil } @@ -80,18 +80,18 @@ public extension HTTPStatusCode { } } -public extension HTTPURLResponse { +extension HTTPURLResponse { /** * Marked internal to expose (as `statusCodeValue`) for Objective-C interoperability only. * * - returns: the receiver’s HTTP status code. */ - @objc(statusCodeValue) var statusCodeEnum: HTTPStatusCode { + @objc(statusCodeValue) public var statusCodeEnum: HTTPStatusCode { HTTPStatusCode(HTTPResponse: self)! } /// - returns: the receiver’s HTTP status code. - var statusCodeValue: HTTPStatusCode? { + public var statusCodeValue: HTTPStatusCode? { HTTPStatusCode(HTTPResponse: self) } @@ -107,16 +107,21 @@ public extension HTTPURLResponse { */ @available(iOS, introduced: 7.0) @objc(initWithURL:statusCodeValue:HTTPVersion:headerFields:) - convenience init?(url: URL, statusCode: HTTPStatusCode, httpVersion: String?, headerFields: [String: String]?) { + public convenience init?(url: URL, statusCode: HTTPStatusCode, httpVersion: String?, headerFields: [String: String]?) { self.init(url: url, statusCode: statusCode.rawValue, httpVersion: httpVersion, headerFields: headerFields) } } -public extension HTTPURLResponse { +extension HTTPURLResponse { /// - deprecated: Renamed to `init(url:statusCode:httpVersion:headerFields)` to correct Swift 3 naming convention. - @available(*, deprecated, renamed: "init(url:statusCode:httpVersion:headerFields:)", message: "Renamed to correct Swift 3 naming convention") + @available( + *, + deprecated, + renamed: "init(url:statusCode:httpVersion:headerFields:)", + message: "Renamed to correct Swift 3 naming convention" + ) @nonobjc - convenience init?(url: URL, statusCode: HTTPStatusCode, HTTPVersion: String?, headerFields: [String: String]?) { + public convenience init?(url: URL, statusCode: HTTPStatusCode, HTTPVersion: String?, headerFields: [String: String]?) { self.init(url: url, statusCode: statusCode, httpVersion: HTTPVersion, headerFields: headerFields) } } @@ -127,14 +132,14 @@ public extension HTTPURLResponse { // swiftlint:disable:next identifier_name private let __Unavailable: HTTPStatusCode! = nil -public extension HTTPStatusCode { +extension HTTPStatusCode { /// Checkpoint: 103 /// /// Used in the resumable requests proposal to resume aborted PUT or POST requests. /// /// - seealso: [Original proposal](https://web.archive.org/web/20151013212135/http://code.google.com/p/gears/wiki/ResumableHttpRequestsProposal) @available(*, unavailable, renamed: "earlyHints", message: "Replaced by RFC standard code with different meaning") - static let checkpoint = __Unavailable + public static let checkpoint = __Unavailable /// Switch Proxy: 306 /// @@ -142,13 +147,13 @@ public extension HTTPStatusCode { /// /// - seealso: [Original draft](https://tools.ietf.org/html/draft-cohen-http-305-306-responses-00) @available(*, unavailable, message: "No longer used") - static let switchProxy = __Unavailable + public static let switchProxy = __Unavailable /// Authentication Timeout: 419 /// /// Removed from Wikipedia page. @available(*, unavailable, message: "No longer available") - static let authenticationTimeout = __Unavailable + public static let authenticationTimeout = __Unavailable /// Method Failure: 419 /// @@ -156,11 +161,11 @@ public extension HTTPStatusCode { /// /// - seealso: [Spring Framework: HttpStatus enum documentation - `METHOD_FAILURE`](https://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/http/HttpStatus.html#METHOD_FAILURE) @available(*, unavailable, message: "Deprecated") - static let springFrameworkMethodFailure = __Unavailable + public static let springFrameworkMethodFailure = __Unavailable /// Request Header Too Large: 494 /// /// Removed and replaced with `RequestHeaderFieldsTooLarge` - 431 @available(*, unavailable, renamed: "requestHeaderFieldsTooLarge", message: "Changed to a 431 status code") - static let requestHeaderTooLarge = __Unavailable + public static let requestHeaderTooLarge = __Unavailable } diff --git a/Sources/TuistSupportTesting/Extensions/Data+TestData.swift b/Sources/TuistSupportTesting/Extensions/Data+TestData.swift index ac9ebdcdc..d50d8ed50 100644 --- a/Sources/TuistSupportTesting/Extensions/Data+TestData.swift +++ b/Sources/TuistSupportTesting/Extensions/Data+TestData.swift @@ -1,7 +1,7 @@ import Foundation -public extension Data { - static func testJson(_ json: Any) throws -> Data { +extension Data { + public static func testJson(_ json: Any) throws -> Data { try JSONSerialization.data(withJSONObject: json, options: []) } } diff --git a/Sources/TuistSupportTesting/Extensions/HTTPURLResponse+TestData.swift b/Sources/TuistSupportTesting/Extensions/HTTPURLResponse+TestData.swift index 25ec677c0..7ba4e8138 100644 --- a/Sources/TuistSupportTesting/Extensions/HTTPURLResponse+TestData.swift +++ b/Sources/TuistSupportTesting/Extensions/HTTPURLResponse+TestData.swift @@ -1,10 +1,10 @@ import Foundation -public extension HTTPURLResponse { - static func test(url: URL = .test(), - statusCode: Int = 200, - httpVersion: String? = nil, - headerFields: [String: String]? = nil) -> HTTPURLResponse +extension HTTPURLResponse { + public static func test(url: URL = .test(), + statusCode: Int = 200, + httpVersion: String? = nil, + headerFields: [String: String]? = nil) -> HTTPURLResponse { HTTPURLResponse(url: url, statusCode: statusCode, httpVersion: httpVersion, headerFields: headerFields)! } diff --git a/Sources/TuistSupportTesting/Extensions/NSError+TestData.swift b/Sources/TuistSupportTesting/Extensions/NSError+TestData.swift index ab9ac1285..ec82d89dd 100644 --- a/Sources/TuistSupportTesting/Extensions/NSError+TestData.swift +++ b/Sources/TuistSupportTesting/Extensions/NSError+TestData.swift @@ -1,7 +1,7 @@ import Foundation -public extension NSError { - static func test() -> NSError { +extension NSError { + public static func test() -> NSError { NSError(domain: "test", code: 1, userInfo: nil) } } diff --git a/Sources/TuistSupportTesting/Extensions/URL+TestData.swift b/Sources/TuistSupportTesting/Extensions/URL+TestData.swift index 3ab0d69ff..0a604d3be 100644 --- a/Sources/TuistSupportTesting/Extensions/URL+TestData.swift +++ b/Sources/TuistSupportTesting/Extensions/URL+TestData.swift @@ -1,7 +1,7 @@ import Foundation -public extension URL { - static func test() -> URL { +extension URL { + public static func test() -> URL { URL(string: "https://test.tuist.io")! } } diff --git a/Sources/TuistSupportTesting/Extensions/URLRequest+TestData.swift b/Sources/TuistSupportTesting/Extensions/URLRequest+TestData.swift index 7c9b260ad..4331fa9de 100644 --- a/Sources/TuistSupportTesting/Extensions/URLRequest+TestData.swift +++ b/Sources/TuistSupportTesting/Extensions/URLRequest+TestData.swift @@ -1,11 +1,11 @@ import Foundation -public extension URLRequest { - static func test(url: URL = URL.test()) -> URLRequest { +extension URLRequest { + public static func test(url: URL = URL.test()) -> URLRequest { URLRequest(url: url) } - static func test(urlString: String) -> URLRequest { + public static func test(urlString: String) -> URLRequest { URLRequest(url: URL(string: urlString)!) } } diff --git a/Sources/TuistSupportTesting/Extensions/XCTestCase+Extras.swift b/Sources/TuistSupportTesting/Extensions/XCTestCase+Extras.swift index 52ab2c15a..c1c05daad 100644 --- a/Sources/TuistSupportTesting/Extensions/XCTestCase+Extras.swift +++ b/Sources/TuistSupportTesting/Extensions/XCTestCase+Extras.swift @@ -3,10 +3,10 @@ import TSCBasic import TuistSupport import XCTest -public extension XCTestCase { +extension XCTestCase { // MARK: - Fixtures - func fixturePath(path: RelativePath) -> AbsolutePath { + public func fixturePath(path: RelativePath) -> AbsolutePath { AbsolutePath(#file) .appending(RelativePath("../../../../Tests/Fixtures")) .appending(path) @@ -14,16 +14,22 @@ public extension XCTestCase { // MARK: - XCTAssertions - func XCTAssertEmpty(_ collection: T, file: StaticString = #file, line: UInt = #line) { - XCTAssertEqual(collection.count, 0, "Expected to be empty but it has \(collection.count) elements", file: file, line: line) + public func XCTAssertEmpty(_ collection: T, file: StaticString = #file, line: UInt = #line) { + XCTAssertEqual( + collection.count, + 0, + "Expected to be empty but it has \(collection.count) elements", + file: file, + line: line + ) } - func XCTAssertNotEmpty(_ collection: T, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertNotEmpty(_ collection: T, file: StaticString = #file, line: UInt = #line) { XCTAssertNotEqual(collection.count, 0, "Expected to not be empty but it has 0 elements", file: file, line: line) } // swiftlint:disable large_tuple - func XCTAssertEqualPairs(_ subjects: [(T, T, Bool)], file: StaticString = #file, line: UInt = #line) { + public func XCTAssertEqualPairs(_ subjects: [(T, T, Bool)], file: StaticString = #file, line: UInt = #line) { subjects.forEach { if $0.2 { XCTAssertEqual($0.0, $0.1, "Expected \($0.0) to be equal to \($0.1) but they are not.", file: file, line: line) @@ -33,17 +39,17 @@ public extension XCTestCase { } } - func XCTAssertEqualDictionaries(_ first: [T: Any], - _ second: [T: Any], - file: StaticString = #file, - line: UInt = #line) + public func XCTAssertEqualDictionaries(_ first: [T: Any], + _ second: [T: Any], + file: StaticString = #file, + line: UInt = #line) { let firstDictionary = NSDictionary(dictionary: first) let secondDictioanry = NSDictionary(dictionary: second) XCTAssertEqual(firstDictionary, secondDictioanry, file: file, line: line) } - func XCTAssertStandardOutput(pattern: String, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertStandardOutput(pattern: String, file: StaticString = #file, line: UInt = #line) { let standardOutput = TestingLogHandler.collected[.warning, <=] let message = """ @@ -59,7 +65,7 @@ public extension XCTestCase { XCTAssertTrue(standardOutput.contains(pattern), message, file: file, line: line) } - func XCTTry(_ closure: @autoclosure @escaping () throws -> T, file: StaticString = #file, line: UInt = #line) -> T { + public func XCTTry(_ closure: @autoclosure @escaping () throws -> T, file: StaticString = #file, line: UInt = #line) -> T { var value: T! do { value = try closure() @@ -69,8 +75,12 @@ public extension XCTestCase { return value } - // swiftlint:disable:next line_length - func XCTAssertThrowsSpecific(_ closure: @autoclosure () throws -> T, _ error: Error, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertThrowsSpecific( + _ closure: @autoclosure () throws -> T, + _ error: Error, + file: StaticString = #file, + line: UInt = #line + ) { do { _ = try closure() } catch let closureError as Error { @@ -83,7 +93,9 @@ public extension XCTestCase { XCTFail("No error was thrown", file: file, line: line) } - func XCTAssertCodableEqualToJson(_ subject: C, _ json: String, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertCodableEqualToJson(_ subject: C, _ json: String, file: StaticString = #file, + line: UInt = #line) + { let decoder = JSONDecoder() let decoded = XCTTry(try decoder.decode(C.self, from: json.data(using: .utf8)!), file: file, line: line) let encoder = JSONEncoder() @@ -91,10 +103,15 @@ public extension XCTestCase { let jsonData = XCTTry(try encoder.encode(decoded), file: file, line: line) let subjectData = XCTTry(try encoder.encode(subject), file: file, line: line) - XCTAssert(jsonData == subjectData, "JSON does not match the encoded \(String(describing: subject))", file: file, line: line) + XCTAssert( + jsonData == subjectData, + "JSON does not match the encoded \(String(describing: subject))", + file: file, + line: line + ) } - func XCTAssertCodable(_ subject: C, file _: StaticString = #file, line _: UInt = #line) { + public func XCTAssertCodable(_ subject: C, file _: StaticString = #file, line _: UInt = #line) { let encoder = JSONEncoder() let decoder = JSONDecoder() @@ -106,7 +123,9 @@ public extension XCTestCase { XCTAssertEqual(subject, decoded, "The subject is not equal to it's encoded & decoded version") } - func XCTAssertEncodableEqualToJson(_ subject: C, _ json: String, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertEncodableEqualToJson(_ subject: C, _ json: String, file: StaticString = #file, + line: UInt = #line) + { let encoder = JSONEncoder() encoder.outputFormatting = .prettyPrinted @@ -142,7 +161,9 @@ public extension XCTestCase { } /// Asserts that a `json` object decoded as a `T` type is equal to an `expected` value. - func XCTAssertDecodableEqualToJson(_ json: String, _ expected: C, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertDecodableEqualToJson(_ json: String, _ expected: C, file: StaticString = #file, + line: UInt = #line) + { guard let jsonData = json.data(using: .utf8) else { XCTFail("Invalid JSON.", file: file, line: line) return @@ -165,19 +186,24 @@ public extension XCTestCase { XCTAssertEqual(decoded, expected, errorString, file: file, line: line) } - func XCTEmpty(_ array: [S], file: StaticString = #file, line: UInt = #line) { - XCTAssertTrue(array.isEmpty, "Expected array to be empty but it's not. It contains the following elements: \(array)", file: file, line: line) + public func XCTEmpty(_ array: [S], file: StaticString = #file, line: UInt = #line) { + XCTAssertTrue( + array.isEmpty, + "Expected array to be empty but it's not. It contains the following elements: \(array)", + file: file, + line: line + ) } // `XCTUnwrap` is unavailable when building using SwiftPM // // - related: https://bugs.swift.org/browse/SR-11501 - enum XCTUnwrapError: Error { + public enum XCTUnwrapError: Error { case nilValueDetected } - func XCTUnwrap(_ element: T?, file: StaticString = #file, line: UInt = #line) throws -> T { + public func XCTUnwrap(_ element: T?, file: StaticString = #file, line: UInt = #line) throws -> T { guard let element = element else { XCTFail( "expected non-nil value of type \"\(type(of: T.self))\"", @@ -191,12 +217,21 @@ public extension XCTestCase { // MARK: - HTTPResource - func XCTAssertHTTPResourceMethod(_ resource: HTTPResource, _ method: String, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertHTTPResourceMethod(_ resource: HTTPResource, _ method: String, + file: StaticString = #file, + line: UInt = #line) + { let request = resource.request() - XCTAssertEqual(request.httpMethod!, method, "Expected the HTTP request method \(method) but got \(request.httpMethod!)", file: file, line: line) + XCTAssertEqual( + request.httpMethod!, + method, + "Expected the HTTP request method \(method) but got \(request.httpMethod!)", + file: file, + line: line + ) } - func XCTAssertHTTPResourceContainsHeader( + public func XCTAssertHTTPResourceContainsHeader( _ resource: HTTPResource, header: String, value: String, @@ -209,10 +244,18 @@ public extension XCTestCase { XCTFail("The request doesn't contain the header \(header)", file: file, line: line) return } - XCTAssertEqual(headerValue, value, "Expected header \(header) to have value \(value) but got \(headerValue)", file: file, line: line) + XCTAssertEqual( + headerValue, + value, + "Expected header \(header) to have value \(value) but got \(headerValue)", + file: file, + line: line + ) } - func XCTAssertHTTPResourcePath(_ resource: HTTPResource, path: String, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertHTTPResourcePath(_ resource: HTTPResource, path: String, file: StaticString = #file, + line: UInt = #line) + { let request = resource.request() let url = request.url! let components = URLComponents(string: url.absoluteString)! @@ -220,14 +263,22 @@ public extension XCTestCase { XCTAssertEqual(requestPath, path, "Expected the path \(path) but got \(requestPath)", file: file, line: line) } - func XCTAssertHTTPResourceURL(_ resource: HTTPResource, url: URL, file: StaticString = #file, line: UInt = #line) { + public func XCTAssertHTTPResourceURL(_ resource: HTTPResource, url: URL, file: StaticString = #file, + line: UInt = #line) + { let request = resource.request() let requestUrl = request.url! let components = URLComponents(string: requestUrl.absoluteString)! - XCTAssertEqual(components.url!, url, "Expected the URL \(url.absoluteString) but got \(components.url!)", file: file, line: line) + XCTAssertEqual( + components.url!, + url, + "Expected the URL \(url.absoluteString) but got \(components.url!)", + file: file, + line: line + ) } - @discardableResult func XCTAssertContainsElementOfType( + @discardableResult public func XCTAssertContainsElementOfType( _ collection: [Any], _ element: T.Type, file: StaticString = #file, @@ -240,7 +291,7 @@ public extension XCTestCase { return element as? T } - @discardableResult func XCTAssertDoesntContainElementOfType( + @discardableResult public func XCTAssertDoesntContainElementOfType( _ collection: [Any], _ element: T.Type, file: StaticString = #file, @@ -253,7 +304,7 @@ public extension XCTestCase { return element as? T } - @discardableResult func XCTAssertContainsElementOfType( + @discardableResult public func XCTAssertContainsElementOfType( _ collection: [Any], _ element: T.Type, after: U.Type, @@ -268,11 +319,16 @@ public extension XCTestCase { XCTFail("Didn't found an element of type \(String(describing: after))", file: file, line: line) return nil } - XCTAssertTrue(elementIndex > previousElementIndex, "Expected element of type \(String(describing: element)) to be after an element of type \(String(describing: after)) but it's not", file: file, line: line) + XCTAssertTrue( + elementIndex > previousElementIndex, + "Expected element of type \(String(describing: element)) to be after an element of type \(String(describing: after)) but it's not", + file: file, + line: line + ) return collection[elementIndex] as? T } - @discardableResult func XCTAssertContainsElementOfType( + @discardableResult public func XCTAssertContainsElementOfType( _ collection: [Any], _ element: T.Type, before: U.Type, @@ -287,7 +343,12 @@ public extension XCTestCase { XCTFail("Didn't found an element of type \(String(describing: before))", file: file, line: line) return nil } - XCTAssertTrue(elementIndex < afterElementIndex, "Expected element of type \(String(describing: element)) to be before an element of type \(String(describing: before)) but it's not", file: file, line: line) + XCTAssertTrue( + elementIndex < afterElementIndex, + "Expected element of type \(String(describing: element)) to be before an element of type \(String(describing: before)) but it's not", + file: file, + line: line + ) return collection[elementIndex] as? T } } diff --git a/Sources/TuistSupportTesting/HTTP/HTTPResource+TestData.swift b/Sources/TuistSupportTesting/HTTP/HTTPResource+TestData.swift index 7cb8dbc59..34b8d8556 100644 --- a/Sources/TuistSupportTesting/HTTP/HTTPResource+TestData.swift +++ b/Sources/TuistSupportTesting/HTTP/HTTPResource+TestData.swift @@ -1,8 +1,8 @@ import Foundation import TuistSupport -public extension HTTPResource { - static func void() -> HTTPResource { +extension HTTPResource { + public static func void() -> HTTPResource { return HTTPResource { return URLRequest(url: URL(string: "https://test.tuist.io")!) } parse: { _, _ in @@ -12,7 +12,7 @@ public extension HTTPResource { } } - static func noop() -> HTTPResource { + public static func noop() -> HTTPResource { return HTTPResource { return URLRequest(url: URL(string: "https://test.tuist.io")!) } parse: { _, _ in diff --git a/Sources/TuistSupportTesting/HTTP/MockHTTPRequestDispatcher.swift b/Sources/TuistSupportTesting/HTTP/MockHTTPRequestDispatcher.swift index fcc4ab980..a270bd3a2 100644 --- a/Sources/TuistSupportTesting/HTTP/MockHTTPRequestDispatcher.swift +++ b/Sources/TuistSupportTesting/HTTP/MockHTTPRequestDispatcher.swift @@ -24,7 +24,9 @@ public class MockHTTPRequestDispatcher: HTTPRequestDispatching { } } - public func dispatch(resource: HTTPResource) -> AnyPublisher<(object: T, response: HTTPURLResponse), Error> where E: Error { + public func dispatch(resource: HTTPResource) -> AnyPublisher<(object: T, response: HTTPURLResponse), Error> + where E: Error + { AnyPublisher.create { subscriber in if T.self != Void.self { fatalError( diff --git a/Sources/TuistSupportTesting/TestCase/TuistTestCase.swift b/Sources/TuistSupportTesting/TestCase/TuistTestCase.swift index 2ff936fbf..1b782bf35 100644 --- a/Sources/TuistSupportTesting/TestCase/TuistTestCase.swift +++ b/Sources/TuistSupportTesting/TestCase/TuistTestCase.swift @@ -71,7 +71,9 @@ public final class MockFileHandler: FileHandler { return stubIsFolder(path) } - override public func inTemporaryDirectory(removeOnCompletion _: Bool, _ closure: (AbsolutePath) throws -> Result) throws -> Result { + override public func inTemporaryDirectory(removeOnCompletion _: Bool, + _ closure: (AbsolutePath) throws -> Result) throws -> Result + { try closure(temporaryDirectory()) } diff --git a/Sources/TuistSupportTesting/Utils/MockSystem.swift b/Sources/TuistSupportTesting/Utils/MockSystem.swift index 8c4635f6d..c12bf9bb5 100644 --- a/Sources/TuistSupportTesting/Utils/MockSystem.swift +++ b/Sources/TuistSupportTesting/Utils/MockSystem.swift @@ -115,8 +115,10 @@ public final class MockSystem: Systeming { observable(arguments, verbose: verbose, environment: [:]) } - public func observable(_ arguments: [String], verbose _: Bool, environment _: [String: String]) -> Observable> { - Observable.create { (observer) -> Disposable in + public func observable(_ arguments: [String], verbose _: Bool, + environment _: [String: String]) -> Observable> + { + Observable.create { observer -> Disposable in let command = arguments.joined(separator: " ") guard let stub = self.stubs[command] else { observer.onError(TuistSupport.SystemError.terminated(command: arguments.first!, code: 1, standardError: Data())) @@ -141,8 +143,10 @@ public final class MockSystem: Systeming { observable(arguments, environment: [:], pipeTo: pipedToArguments) } - public func observable(_ arguments: [String], environment _: [String: String], pipeTo _: [String]) -> Observable> { - Observable.create { (observer) -> Disposable in + public func observable(_ arguments: [String], environment _: [String: String], + pipeTo _: [String]) -> Observable> + { + Observable.create { observer -> Disposable in let command = arguments.joined(separator: " ") guard let stub = self.stubs[command] else { observer.onError(TuistSupport.SystemError.terminated(command: arguments.first!, code: 1, standardError: Data())) @@ -179,7 +183,7 @@ public final class MockSystem: Systeming { var swiftVersionStub: (() throws -> String)? public func swiftVersion() throws -> String { - if let swiftVersionStub = self.swiftVersionStub { + if let swiftVersionStub = swiftVersionStub { return try swiftVersionStub() } else { throw TestError("Call to non-stubbed method swiftVersion") diff --git a/Tests/Fixtures/WorkspaceWithPlugins/LocalPlugin/ProjectDescriptionHelpers/Project+Template.swift b/Tests/Fixtures/WorkspaceWithPlugins/LocalPlugin/ProjectDescriptionHelpers/Project+Template.swift index 68ff0b240..de9f9517e 100644 --- a/Tests/Fixtures/WorkspaceWithPlugins/LocalPlugin/ProjectDescriptionHelpers/Project+Template.swift +++ b/Tests/Fixtures/WorkspaceWithPlugins/LocalPlugin/ProjectDescriptionHelpers/Project+Template.swift @@ -1,7 +1,7 @@ import ProjectDescription -public extension Target { - static func app(name: String, dependencies: [TargetDependency] = []) -> Target { +extension Target { + public static func app(name: String, dependencies: [TargetDependency] = []) -> Target { Target( name: name, platform: .iOS, @@ -14,7 +14,7 @@ public extension Target { ) } - static func framework(name: String, dependencies: [TargetDependency] = []) -> Target { + public static func framework(name: String, dependencies: [TargetDependency] = []) -> Target { Target( name: name, platform: .iOS, @@ -28,12 +28,12 @@ public extension Target { } } -public extension String { +extension String { /// Returns a canonical bundle Id for the target with the /// given name /// - parameter target: the name of the target /// - returns: the bundle id for the given target - static func bundleId(for target: String) -> String { + public static func bundleId(for target: String) -> String { return "io.tuist.\(target)" } } diff --git a/Tests/ProjectDescriptionTests/Dependencies/CarthageDependenciesTests.swift b/Tests/ProjectDescriptionTests/Dependencies/CarthageDependenciesTests.swift index 35a721539..582ee1702 100644 --- a/Tests/ProjectDescriptionTests/Dependencies/CarthageDependenciesTests.swift +++ b/Tests/ProjectDescriptionTests/Dependencies/CarthageDependenciesTests.swift @@ -25,7 +25,10 @@ final class CarthageDependenciesTests: XCTestCase { } func test_carthageDependency_binary_codable() throws { - let subject: CarthageDependencies.Dependency = .binary(path: "file:///some/Path/MyFramework.json", requirement: .upToNext("5.6.9")) + let subject: CarthageDependencies.Dependency = .binary( + path: "file:///some/Path/MyFramework.json", + requirement: .upToNext("5.6.9") + ) XCTAssertCodable(subject) } diff --git a/Tests/ProjectDescriptionTests/SchemeTests.swift b/Tests/ProjectDescriptionTests/SchemeTests.swift index 4236d471a..c9a6fd00f 100644 --- a/Tests/ProjectDescriptionTests/SchemeTests.swift +++ b/Tests/ProjectDescriptionTests/SchemeTests.swift @@ -10,8 +10,16 @@ final class SchemeTests: XCTestCase { func test_codable() throws { // Given - let buildAction = [ExecutionAction(title: "Run Script", scriptText: "echo build_action", target: TargetReference(projectPath: nil, target: "target"))] - let testAction = [ExecutionAction(title: "Run Script", scriptText: "echo test_action", target: TargetReference(projectPath: nil, target: "target"))] + let buildAction = [ExecutionAction( + title: "Run Script", + scriptText: "echo build_action", + target: TargetReference(projectPath: nil, target: "target") + )] + let testAction = [ExecutionAction( + title: "Run Script", + scriptText: "echo test_action", + target: TargetReference(projectPath: nil, target: "target") + )] let subject = Scheme( name: "scheme", shared: true, @@ -51,8 +59,18 @@ final class SchemeTests: XCTestCase { func test_defaultConfigurationNames() throws { // Given / When - let buildAction = [ExecutionAction(title: "Run Script", scriptText: "echo build_action", target: .init(projectPath: nil, target: "target"))] - let testAction = [ExecutionAction(title: "Run Script", scriptText: "echo test_action", target: .init(projectPath: nil, target: "target"))] + let buildAction = + [ExecutionAction( + title: "Run Script", + scriptText: "echo build_action", + target: .init(projectPath: nil, target: "target") + )] + let testAction = + [ExecutionAction( + title: "Run Script", + scriptText: "echo test_action", + target: .init(projectPath: nil, target: "target") + )] let subject = Scheme( name: "scheme", shared: true, diff --git a/Tests/ProjectDescriptionTests/SettingsTests.swift b/Tests/ProjectDescriptionTests/SettingsTests.swift index 17fc61ebc..71036821e 100644 --- a/Tests/ProjectDescriptionTests/SettingsTests.swift +++ b/Tests/ProjectDescriptionTests/SettingsTests.swift @@ -42,8 +42,16 @@ final class SettingsTests: XCTestCase { func test_codable_config_with_exclusions() throws { // Given - let recommendedSubject = Settings(base: [:], configurations: [], defaultSettings: .recommended(excluding: ["someRecommendedKey", "anotherKey"])) - let essentialSubject = Settings(base: [:], configurations: [], defaultSettings: .essential(excluding: ["someEssentialKey", "anotherKey"])) + let recommendedSubject = Settings( + base: [:], + configurations: [], + defaultSettings: .recommended(excluding: ["someRecommendedKey", "anotherKey"]) + ) + let essentialSubject = Settings( + base: [:], + configurations: [], + defaultSettings: .essential(excluding: ["someEssentialKey", "anotherKey"]) + ) // Then XCTAssertCodable(recommendedSubject) diff --git a/Tests/ProjectDescriptionTests/TargetDependencyTests.swift b/Tests/ProjectDescriptionTests/TargetDependencyTests.swift index 2f5fce373..c84428db6 100644 --- a/Tests/ProjectDescriptionTests/TargetDependencyTests.swift +++ b/Tests/ProjectDescriptionTests/TargetDependencyTests.swift @@ -19,7 +19,11 @@ final class TargetDependencyTests: XCTestCase { } func test_toJSON_when_library() { - let subject = TargetDependency.library(path: "/path/library.a", publicHeaders: "/path/headers", swiftModuleMap: "/path/modulemap") + let subject = TargetDependency.library( + path: "/path/library.a", + publicHeaders: "/path/headers", + swiftModuleMap: "/path/modulemap" + ) XCTAssertCodable(subject) } diff --git a/Tests/ProjectDescriptionTests/TargetTests.swift b/Tests/ProjectDescriptionTests/TargetTests.swift index 3b950257d..330887040 100644 --- a/Tests/ProjectDescriptionTests/TargetTests.swift +++ b/Tests/ProjectDescriptionTests/TargetTests.swift @@ -57,9 +57,11 @@ final class TargetTests: XCTestCase { SourceFileGlob("Intents/Project.intentdefinition", codeGen: .project), SourceFileGlob("Intents/Disabled.intentdefinition", codeGen: .disabled), ]), - resources: ["resources/*", - .glob(pattern: "file.type", tags: ["tag"]), - .folderReference(path: "resource/", tags: ["tag"])], + resources: [ + "resources/*", + .glob(pattern: "file.type", tags: ["tag"]), + .folderReference(path: "resource/", tags: ["tag"]), + ], headers: Headers( public: ["public/*"], private: ["private/*"], diff --git a/Tests/TuistAutomationTests/Utilities/BuildGraphInspectorTests.swift b/Tests/TuistAutomationTests/Utilities/BuildGraphInspectorTests.swift index 5d805e035..740f431d3 100644 --- a/Tests/TuistAutomationTests/Utilities/BuildGraphInspectorTests.swift +++ b/Tests/TuistAutomationTests/Utilities/BuildGraphInspectorTests.swift @@ -113,7 +113,12 @@ final class BuildGraphInspectorTests: TuistUnitTestCase { let target = Target.test(settings: nil) // When - let got = subject.buildArguments(project: .test(settings: settings), target: target, configuration: "Release", skipSigning: false) + let got = subject.buildArguments( + project: .test(settings: settings), + target: target, + configuration: "Release", + skipSigning: false + ) // Then XCTAssertTrue(got.contains(.configuration("Release"))) @@ -157,7 +162,10 @@ final class BuildGraphInspectorTests: TuistUnitTestCase { let path = try temporaryPath() let projectPath = path.appending(component: "Project.xcodeproj") let coreProjectPath = path.appending(component: "CoreProject.xcodeproj") - let coreScheme = Scheme.test(name: "Core", buildAction: .test(targets: [.init(projectPath: coreProjectPath, name: "Core")])) + let coreScheme = Scheme.test( + name: "Core", + buildAction: .test(targets: [.init(projectPath: coreProjectPath, name: "Core")]) + ) let kitScheme = Scheme.test(name: "Kit", buildAction: .test(targets: [.init(projectPath: projectPath, name: "Kit")])) let coreProject = Project.test(path: coreProjectPath, schemes: [coreScheme]) let kitProject = Project.test(path: projectPath, schemes: [kitScheme]) diff --git a/Tests/TuistAutomationTests/Utilities/TargetRunnerTests.swift b/Tests/TuistAutomationTests/Utilities/TargetRunnerTests.swift index 6afac1396..c68946e40 100644 --- a/Tests/TuistAutomationTests/Utilities/TargetRunnerTests.swift +++ b/Tests/TuistAutomationTests/Utilities/TargetRunnerTests.swift @@ -157,7 +157,10 @@ final class TargetRunnerTests: TuistUnitTestCase { xcodeProjectBuildDirectoryLocator.locateStub = { _, _, _ in outputPath } xcodeBuildController.showBuildSettingsStub = { _, _, _ in let settings = ["PRODUCT_BUNDLE_IDENTIFIER": bundleId] - return .just([graphTarget.target.name: XcodeBuildSettings(settings, target: graphTarget.target.name, configuration: "Debug")]) + return .just([ + graphTarget.target + .name: XcodeBuildSettings(settings, target: graphTarget.target.name, configuration: "Debug"), + ]) } simulatorController.findAvailableDeviceStub = { _platform, _version, _minVersion, _deviceName in XCTAssertEqual(_platform, .iOS) diff --git a/Tests/TuistCacheIntegrationTests/ContentHashing/ContentHashingIntegrationTests.swift b/Tests/TuistCacheIntegrationTests/ContentHashing/ContentHashingIntegrationTests.swift index 3f779c999..4317e4448 100644 --- a/Tests/TuistCacheIntegrationTests/ContentHashing/ContentHashingIntegrationTests.swift +++ b/Tests/TuistCacheIntegrationTests/ContentHashing/ContentHashingIntegrationTests.swift @@ -35,13 +35,29 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { source4 = try createTemporarySourceFile(on: temporaryDirectoryPath, name: "4", content: "4") resourceFile1 = try createTemporaryResourceFile(on: temporaryDirectoryPath, name: "r1", content: "r1") resourceFile2 = try createTemporaryResourceFile(on: temporaryDirectoryPath, name: "r2", content: "r2") - resourceFolderReference1 = try createTemporaryResourceFolderReference(on: temporaryDirectoryPath, name: "rf1", content: "rf1") - resourceFolderReference2 = try createTemporaryResourceFolderReference(on: temporaryDirectoryPath, name: "rf2", content: "rf2") + resourceFolderReference1 = try createTemporaryResourceFolderReference( + on: temporaryDirectoryPath, + name: "rf1", + content: "rf1" + ) + resourceFolderReference2 = try createTemporaryResourceFolderReference( + on: temporaryDirectoryPath, + name: "rf2", + content: "rf2" + ) _ = try createTemporarySourceFile(on: temporaryDirectoryPath, name: "CoreDataModel1", content: "cd1") _ = try createTemporarySourceFile(on: temporaryDirectoryPath, name: "CoreDataModel2", content: "cd2") _ = try createTemporarySourceFile(on: temporaryDirectoryPath, name: "Info.plist", content: "plist") - coreDataModel1 = CoreDataModel(path: temporaryDirectoryPath.appending(component: "CoreDataModel1"), versions: [], currentVersion: "1") - coreDataModel2 = CoreDataModel(path: temporaryDirectoryPath.appending(component: "CoreDataModel2"), versions: [], currentVersion: "2") + coreDataModel1 = CoreDataModel( + path: temporaryDirectoryPath.appending(component: "CoreDataModel1"), + versions: [], + currentVersion: "1" + ) + coreDataModel2 = CoreDataModel( + path: temporaryDirectoryPath.appending(component: "CoreDataModel2"), + versions: [], + currentVersion: "2" + ) } catch { XCTFail("Error while creating files for stub project") } @@ -88,7 +104,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertEqual(contentHash[framework1], contentHash[framework2]) @@ -116,7 +137,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertNotEqual(contentHash[framework1], contentHash[framework2]) @@ -145,7 +171,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { let cacheProfile = TuistGraph.Cache.Profile(name: "Simulator", configuration: "Debug") // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: cacheProfile, cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: cacheProfile, + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertEqual(contentHash[framework1], "d31f7192381862aa6b74c7bbf2f097ce") @@ -174,8 +205,18 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentFrameworkHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) - let contentXCFrameworkHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .xcframework, excludedTargets: []) + let contentFrameworkHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) + let contentXCFrameworkHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .xcframework, + excludedTargets: [] + ) // Then XCTAssertNotEqual(contentFrameworkHash[framework1], contentXCFrameworkHash[framework1]) @@ -206,7 +247,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertNotEqual(contentHash[framework1], contentHash[framework2]) @@ -234,7 +280,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertNotEqual(contentHash[framework1], contentHash[framework2]) @@ -263,7 +314,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertEqual(contentHash[framework1], contentHash[framework2]) @@ -293,7 +349,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertNotEqual(contentHash[framework1], contentHash[framework2]) @@ -321,7 +382,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) // Then XCTAssertEqual(contentHash[framework1], contentHash[framework2]) @@ -353,7 +419,12 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) XCTAssertNotEqual(contentHash[framework1], contentHash[framework2]) } @@ -382,14 +453,21 @@ final class ContentHashingIntegrationTests: TuistUnitTestCase { ) // When - let contentHash = try subject.contentHashes(for: graph, cacheProfile: .test(), cacheOutputType: .framework, excludedTargets: []) + let contentHash = try subject.contentHashes( + for: graph, + cacheProfile: .test(), + cacheOutputType: .framework, + excludedTargets: [] + ) XCTAssertNotEqual(contentHash[framework1], contentHash[framework2]) } // MARK: - Private helpers - private func createTemporarySourceFile(on temporaryDirectoryPath: AbsolutePath, name: String, content: String) throws -> SourceFile { + private func createTemporarySourceFile(on temporaryDirectoryPath: AbsolutePath, name: String, + content: String) throws -> SourceFile + { let filePath = temporaryDirectoryPath.appending(component: name) try FileHandler.shared.touch(filePath) try FileHandler.shared.write(content, path: filePath, atomically: true) diff --git a/Tests/TuistCacheTests/Cache/CacheGraphContentHasherTests.swift b/Tests/TuistCacheTests/Cache/CacheGraphContentHasherTests.swift index 8f17104b6..e16b484d3 100644 --- a/Tests/TuistCacheTests/Cache/CacheGraphContentHasherTests.swift +++ b/Tests/TuistCacheTests/Cache/CacheGraphContentHasherTests.swift @@ -38,7 +38,11 @@ final class CacheGraphContentHasherTests: TuistUnitTestCase { func test_contentHashes_when_no_excluded_targets_all_hashes_are_computed() throws { var contentHashesCalled = false - let includedTarget = GraphTarget(path: "/Project/Path", target: Target.test(name: "Included", product: .framework), project: Project.test()) + let includedTarget = GraphTarget( + path: "/Project/Path", + target: Target.test(name: "Included", product: .framework), + project: Project.test() + ) graphContentHasher.contentHashesStub = { _, filter, _ in contentHashesCalled = true XCTAssertTrue(filter(includedTarget)) @@ -55,8 +59,16 @@ final class CacheGraphContentHasherTests: TuistUnitTestCase { func test_contentHashes_when_excluded_targets_excluded_hashes_are_not_computed() throws { var contentHashesCalled = false - let excludedTarget = GraphTarget(path: "/Project/Path", target: Target.test(name: "Excluded", product: .framework), project: Project.test()) - let includedTarget = GraphTarget(path: "/Project/Path", target: Target.test(name: "Included", product: .framework), project: Project.test()) + let excludedTarget = GraphTarget( + path: "/Project/Path", + target: Target.test(name: "Excluded", product: .framework), + project: Project.test() + ) + let includedTarget = GraphTarget( + path: "/Project/Path", + target: Target.test(name: "Included", product: .framework), + project: Project.test() + ) graphContentHasher.contentHashesStub = { _, filter, _ in contentHashesCalled = true XCTAssertTrue(filter(includedTarget)) diff --git a/Tests/TuistCacheTests/Cache/CacheGraphMutatorTests.swift b/Tests/TuistCacheTests/Cache/CacheGraphMutatorTests.swift index 6b21038c1..4bf4b8c9e 100644 --- a/Tests/TuistCacheTests/Cache/CacheGraphMutatorTests.swift +++ b/Tests/TuistCacheTests/Cache/CacheGraphMutatorTests.swift @@ -805,7 +805,11 @@ final class CacheGraphMutatorTests: TuistUnitTestCase { // Given: App let appProject = Project.test(path: path.appending(component: "App"), name: "App") - let appGraphTarget = GraphTarget.test(path: appProject.path, target: Target.test(name: "App", platform: .iOS, product: .app), project: appProject) + let appGraphTarget = GraphTarget.test( + path: appProject.path, + target: Target.test(name: "App", platform: .iOS, product: .app), + project: appProject + ) let graphTargets = [bGraphTarget, cGraphTarget, appGraphTarget] let graph = Graph.test( diff --git a/Tests/TuistCacheTests/Cache/CacheLocalStorageTests.swift b/Tests/TuistCacheTests/Cache/CacheLocalStorageTests.swift index fc5cc21e1..6de3f4d78 100644 --- a/Tests/TuistCacheTests/Cache/CacheLocalStorageTests.swift +++ b/Tests/TuistCacheTests/Cache/CacheLocalStorageTests.swift @@ -10,6 +10,9 @@ final class CacheLocalStorageErrorTests: TuistUnitTestCase { } func test_description() { - XCTAssertEqual(CacheLocalStorageError.compiledArtifactNotFound(hash: "hash").description, "xcframework with hash 'hash' not found in the local cache") + XCTAssertEqual( + CacheLocalStorageError.compiledArtifactNotFound(hash: "hash").description, + "xcframework with hash 'hash' not found in the local cache" + ) } } diff --git a/Tests/TuistCacheTests/Cache/CacheRemoteStorageTests.swift b/Tests/TuistCacheTests/Cache/CacheRemoteStorageTests.swift index ca2634baf..17ff8cfb3 100644 --- a/Tests/TuistCacheTests/Cache/CacheRemoteStorageTests.swift +++ b/Tests/TuistCacheTests/Cache/CacheRemoteStorageTests.swift @@ -199,7 +199,8 @@ final class CacheRemoteStorageTests: TuistUnitTestCase { .single() // Then - let expectedPath = cacheDirectoriesProvider.cacheDirectory(for: .builds).appending(RelativePath("\(hash)/myFramework.xcframework")) + let expectedPath = cacheDirectoriesProvider.cacheDirectory(for: .builds) + .appending(RelativePath("\(hash)/myFramework.xcframework")) XCTAssertEqual(result, expectedPath) } @@ -388,7 +389,10 @@ final class CacheRemoteStorageTests: TuistUnitTestCase { let uploadURLObject = CloudResponse(status: "uploadURLObject status", data: cacheResponse) let cloudVerifyUploadResponse = CloudVerifyUploadResponse.test() - let verifyUploadObject = CloudResponse(status: "cloudVerifyUploadResponse status", data: cloudVerifyUploadResponse) + let verifyUploadObject = CloudResponse( + status: "cloudVerifyUploadResponse status", + data: cloudVerifyUploadResponse + ) cloudClient.mock(objectPerURLRequest: [ uploadURLRequest: uploadURLObject, @@ -417,7 +421,10 @@ final class CacheRemoteStorageTests: TuistUnitTestCase { let uploadURLObject = CloudResponse(status: "uploadURLObject status", data: cacheResponse) let cloudVerifyUploadResponse = CloudVerifyUploadResponse.test() - let verifyUploadObject = CloudResponse(status: "cloudVerifyUploadResponse status", data: cloudVerifyUploadResponse) + let verifyUploadObject = CloudResponse( + status: "cloudVerifyUploadResponse status", + data: cloudVerifyUploadResponse + ) let verifyUploadError = CloudResponseError.test() cloudClient.mock( diff --git a/Tests/TuistCacheTests/ContentHashing/CopyFilesActionsContentHasherTests.swift b/Tests/TuistCacheTests/ContentHashing/CopyFilesActionsContentHasherTests.swift index a1a3c7bdc..7319c00b7 100644 --- a/Tests/TuistCacheTests/ContentHashing/CopyFilesActionsContentHasherTests.swift +++ b/Tests/TuistCacheTests/ContentHashing/CopyFilesActionsContentHasherTests.swift @@ -33,11 +33,12 @@ final class CopyFilesActionsContentHasherTests: TuistUnitTestCase { super.tearDown() } - private func makeCopyFilesAction(name: String = "Copy Fonts", - destination: CopyFilesAction.Destination = .resources, - subpath: String? = "Fonts", - files: [FileElement] = [.file(path: "/file1.ttf"), .file(path: "/file2.ttf")]) -> CopyFilesAction - { + private func makeCopyFilesAction( + name: String = "Copy Fonts", + destination: CopyFilesAction.Destination = .resources, + subpath: String? = "Fonts", + files: [FileElement] = [.file(path: "/file1.ttf"), .file(path: "/file2.ttf")] + ) -> CopyFilesAction { CopyFilesAction( name: name, destination: destination, diff --git a/Tests/TuistCacheTests/ContentHashing/CoreDataModelsContentHasherTests.swift b/Tests/TuistCacheTests/ContentHashing/CoreDataModelsContentHasherTests.swift index 3dd5f04d5..e2b7ce4b6 100644 --- a/Tests/TuistCacheTests/ContentHashing/CoreDataModelsContentHasherTests.swift +++ b/Tests/TuistCacheTests/ContentHashing/CoreDataModelsContentHasherTests.swift @@ -13,7 +13,8 @@ final class CoreDataModelsContentHasherTests: TuistUnitTestCase { private var subject: CoreDataModelsContentHasher! private var coreDataModel: CoreDataModel! private var mockContentHasher: MockContentHasher! - private let defaultValuesHash = "05c9d517e2cf12b45786787dae929a23" // Expected hash for the CoreDataModel created with the buildCoreDataModel function using default values + private let defaultValuesHash = + "05c9d517e2cf12b45786787dae929a23" // Expected hash for the CoreDataModel created with the buildCoreDataModel function using default values override func setUp() { super.setUp() diff --git a/Tests/TuistCacheTests/ContentHashing/InfoPlistContentHasherTests.swift b/Tests/TuistCacheTests/ContentHashing/InfoPlistContentHasherTests.swift index 1b0398ae2..25ebff384 100644 --- a/Tests/TuistCacheTests/ContentHashing/InfoPlistContentHasherTests.swift +++ b/Tests/TuistCacheTests/ContentHashing/InfoPlistContentHasherTests.swift @@ -70,7 +70,10 @@ final class InfoPlistContentHasherTests: TuistUnitTestCase { // Then XCTAssertEqual(mockContentHasher.hashStringCallCount, 1) - XCTAssertEqual(hash, "1=integer(23);2=string(\"foo\");3=boolean(true);4=boolean(false);5=array([TuistGraph.InfoPlist.Value.string(\"5a\"), TuistGraph.InfoPlist.Value.string(\"5b\")]);6=dictionary([\"6a\": TuistGraph.InfoPlist.Value.string(\"6value\")]);-hash") + XCTAssertEqual( + hash, + "1=integer(23);2=string(\"foo\");3=boolean(true);4=boolean(false);5=array([TuistGraph.InfoPlist.Value.string(\"5a\"), TuistGraph.InfoPlist.Value.string(\"5b\")]);6=dictionary([\"6a\": TuistGraph.InfoPlist.Value.string(\"6value\")]);-hash" + ) } func test_hash_whenPlistIsExtendingDefault_allDictionaryValuesAreConsideredForHash() throws { @@ -89,6 +92,9 @@ final class InfoPlistContentHasherTests: TuistUnitTestCase { // Then XCTAssertEqual(mockContentHasher.hashStringCallCount, 1) - XCTAssertEqual(hash, "1=integer(23);2=string(\"foo\");3=boolean(true);4=boolean(false);5=array([TuistGraph.InfoPlist.Value.string(\"5a\"), TuistGraph.InfoPlist.Value.string(\"5b\")]);6=dictionary([\"6a\": TuistGraph.InfoPlist.Value.string(\"6value\")]);-hash") + XCTAssertEqual( + hash, + "1=integer(23);2=string(\"foo\");3=boolean(true);4=boolean(false);5=array([TuistGraph.InfoPlist.Value.string(\"5a\"), TuistGraph.InfoPlist.Value.string(\"5b\")]);6=dictionary([\"6a\": TuistGraph.InfoPlist.Value.string(\"6value\")]);-hash" + ) } } diff --git a/Tests/TuistCacheTests/ContentHashing/SettingsContentHasherTests.swift b/Tests/TuistCacheTests/ContentHashing/SettingsContentHasherTests.swift index 767f4cd0e..5c2ecde42 100644 --- a/Tests/TuistCacheTests/ContentHashing/SettingsContentHasherTests.swift +++ b/Tests/TuistCacheTests/ContentHashing/SettingsContentHasherTests.swift @@ -35,7 +35,8 @@ final class SettingsContentHasherTests: TuistUnitTestCase { let settings = Settings( base: ["CURRENT_PROJECT_VERSION": SettingValue.string("1")], configurations: [ - BuildConfiguration.debug("dev"): Configuration(settings: ["SWIFT_VERSION": SettingValue.string("5")], xcconfig: filePath1), + BuildConfiguration + .debug("dev"): Configuration(settings: ["SWIFT_VERSION": SettingValue.string("5")], xcconfig: filePath1), ], defaultSettings: .recommended ) @@ -44,7 +45,10 @@ final class SettingsContentHasherTests: TuistUnitTestCase { let hash = try subject.hash(settings: settings) // Then - XCTAssertEqual(hash, "CURRENT_PROJECT_VERSION:string(\"1\")-hash;devdebugSWIFT_VERSION:string(\"5\")-hashxconfigHash;recommended") + XCTAssertEqual( + hash, + "CURRENT_PROJECT_VERSION:string(\"1\")-hash;devdebugSWIFT_VERSION:string(\"5\")-hashxconfigHash;recommended" + ) } func test_hash_whenEssential_withoutXCConfig_callsContentHasherWithExpectedStrings() throws { @@ -54,7 +58,8 @@ final class SettingsContentHasherTests: TuistUnitTestCase { let settings = Settings( base: ["CURRENT_PROJECT_VERSION": SettingValue.string("2")], configurations: [ - BuildConfiguration.release("prod"): Configuration(settings: ["SWIFT_VERSION": SettingValue.string("5")], xcconfig: nil), + BuildConfiguration + .release("prod"): Configuration(settings: ["SWIFT_VERSION": SettingValue.string("5")], xcconfig: nil), ], defaultSettings: .essential ) diff --git a/Tests/TuistCacheTests/ContentHashing/SourceFilesContentHasherTests.swift b/Tests/TuistCacheTests/ContentHashing/SourceFilesContentHasherTests.swift index ad34821c9..0d83f9dd9 100644 --- a/Tests/TuistCacheTests/ContentHashing/SourceFilesContentHasherTests.swift +++ b/Tests/TuistCacheTests/ContentHashing/SourceFilesContentHasherTests.swift @@ -62,6 +62,9 @@ final class SourceFilesContentHasherTests: TuistUnitTestCase { _ = try subject.hash(sources: [sourceFile1, sourceFile2]) // Then - XCTAssertEqual(mockContentHasher.hashStringsSpy, ["file1-content-hash-fno-objc-arc-hash", "file2-content-hash-print-objc-runtime-info-hash"]) + XCTAssertEqual( + mockContentHasher.hashStringsSpy, + ["file1-content-hash-fno-objc-arc-hash", "file2-content-hash-print-objc-runtime-info-hash"] + ) } } diff --git a/Tests/TuistCacheTests/ContentHashing/TargetScriptsContentHasherTests.swift b/Tests/TuistCacheTests/ContentHashing/TargetScriptsContentHasherTests.swift index 192db3639..b26587290 100644 --- a/Tests/TuistCacheTests/ContentHashing/TargetScriptsContentHasherTests.swift +++ b/Tests/TuistCacheTests/ContentHashing/TargetScriptsContentHasherTests.swift @@ -71,15 +71,17 @@ final class TargetScriptsContentHasherTests: TuistUnitTestCase { _ = try subject.hash(targetScripts: [targetScript]) // Then - let expected = [inputPaths1Hash, - inputFileListPaths1, - outputPaths1, - outputFileListPaths1, - "1", - "tool1", - "pre", - "arg1", - "arg2"] + let expected = [ + inputPaths1Hash, + inputFileListPaths1, + outputPaths1, + outputFileListPaths1, + "1", + "tool1", + "pre", + "arg1", + "arg2", + ] XCTAssertEqual(mockContentHasher.hashStringsSpy, expected) } @@ -137,14 +139,17 @@ final class TargetScriptsContentHasherTests: TuistUnitTestCase { _ = try subject.hash(targetScripts: [targetScript]) // Then - let expected = [inputPaths2Hash, - inputFileListPaths2, - outputPaths2, - outputFileListPaths2, - "2", - "tool2", - "post", - "arg1", "arg2"] + let expected = [ + inputPaths2Hash, + inputFileListPaths2, + outputPaths2, + outputFileListPaths2, + "2", + "tool2", + "post", + "arg1", + "arg2", + ] XCTAssertEqual(mockContentHasher.hashStringsSpy, expected) } } diff --git a/Tests/TuistCloudTests/Session/CloudSessionControllerTests.swift b/Tests/TuistCloudTests/Session/CloudSessionControllerTests.swift index 6124d52ee..99e2e74a7 100644 --- a/Tests/TuistCloudTests/Session/CloudSessionControllerTests.swift +++ b/Tests/TuistCloudTests/Session/CloudSessionControllerTests.swift @@ -59,7 +59,10 @@ final class CloudSessionControllerErrorTests: TuistUnitTestCase { let got = subject.description // Then - XCTAssertEqual(got, "The result from the authentication contains invalid parameters: invalid. We expect an account and token.") + XCTAssertEqual( + got, + "The result from the authentication contains invalid parameters: invalid. We expect an account and token." + ) } func test_type_when_invalidParameters() { @@ -109,12 +112,13 @@ final class CloudSessionControllerTests: TuistUnitTestCase { func test_authenticate_when_parametersAreMissing() throws { // Given - httpRedirectListener.listenStub = { (port, path, message, _) -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in - XCTAssertEqual(port, CloudSessionController.port) - XCTAssertEqual(path, "auth") - XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") - return .success(nil) - } + httpRedirectListener + .listenStub = { port, path, message, _ -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in + XCTAssertEqual(port, CloudSessionController.port) + XCTAssertEqual(path, "auth") + XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") + return .success(nil) + } // Then XCTAssertThrowsSpecific(try subject.authenticate(serverURL: serverURL), CloudSessionControllerError.missingParameters) @@ -125,15 +129,19 @@ final class CloudSessionControllerTests: TuistUnitTestCase { func test_authenticate_when_parametersIncludeError() throws { // Given - httpRedirectListener.listenStub = { (port, path, message, _) -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in - XCTAssertEqual(port, CloudSessionController.port) - XCTAssertEqual(path, "auth") - XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") - return .success(["error": "value"]) - } + httpRedirectListener + .listenStub = { port, path, message, _ -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in + XCTAssertEqual(port, CloudSessionController.port) + XCTAssertEqual(path, "auth") + XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") + return .success(["error": "value"]) + } // Then - XCTAssertThrowsSpecific(try subject.authenticate(serverURL: serverURL), CloudSessionControllerError.authenticationError("value")) + XCTAssertThrowsSpecific( + try subject.authenticate(serverURL: serverURL), + CloudSessionControllerError.authenticationError("value") + ) XCTAssertPrinterOutputContains(""" Opening \(authURL().absoluteString) to start the authentication flow """) @@ -141,12 +149,13 @@ final class CloudSessionControllerTests: TuistUnitTestCase { func test_authenticate_when_tokenAndAccountParametersAreIncluded() throws { // Given - httpRedirectListener.listenStub = { (port, path, message, _) -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in - XCTAssertEqual(port, CloudSessionController.port) - XCTAssertEqual(path, "auth") - XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") - return .success(["account": "account", "token": "token"]) - } + httpRedirectListener + .listenStub = { port, path, message, _ -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in + XCTAssertEqual(port, CloudSessionController.port) + XCTAssertEqual(path, "auth") + XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") + return .success(["account": "account", "token": "token"]) + } // When try subject.authenticate(serverURL: serverURL) @@ -163,15 +172,19 @@ final class CloudSessionControllerTests: TuistUnitTestCase { func test_authenticate_when_parametersContainInvalidKeys() throws { // Given - httpRedirectListener.listenStub = { (port, path, message, _) -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in - XCTAssertEqual(port, CloudSessionController.port) - XCTAssertEqual(path, "auth") - XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") - return .success(["invalid": "value"]) - } + httpRedirectListener + .listenStub = { port, path, message, _ -> (Swift.Result<[String: String]?, HTTPRedirectListenerError>) in + XCTAssertEqual(port, CloudSessionController.port) + XCTAssertEqual(path, "auth") + XCTAssertEqual(message, "Switch back to your terminal to continue the authentication.") + return .success(["invalid": "value"]) + } // Then - XCTAssertThrowsSpecific(try subject.authenticate(serverURL: serverURL), CloudSessionControllerError.invalidParameters(["invalid"])) + XCTAssertThrowsSpecific( + try subject.authenticate(serverURL: serverURL), + CloudSessionControllerError.invalidParameters(["invalid"]) + ) XCTAssertPrinterOutputContains(""" Opening \(authURL().absoluteString) to start the authentication flow """) diff --git a/Tests/TuistCoreTests/ContentHashing/ContentHasherTests.swift b/Tests/TuistCoreTests/ContentHashing/ContentHasherTests.swift index 1b5d84320..f1cc34ac5 100644 --- a/Tests/TuistCoreTests/ContentHashing/ContentHasherTests.swift +++ b/Tests/TuistCoreTests/ContentHashing/ContentHasherTests.swift @@ -91,10 +91,12 @@ final class ContentHasherTests: TuistUnitTestCase { let folderPath = try temporaryPath().appending(component: "assets.xcassets") try mockFileHandler.createFolder(folderPath) - let files = ["foo": "bar", - "foo2": "bar2", - ".ds_store": "should be ignored", - ".DS_STORE": "should be ignored too"] + let files = [ + "foo": "bar", + "foo2": "bar2", + ".ds_store": "should be ignored", + ".DS_STORE": "should be ignored too", + ] try writeFiles(to: folderPath, files: files) diff --git a/Tests/TuistCoreTests/Graph/GraphDependencyReferenceTests.swift b/Tests/TuistCoreTests/Graph/GraphDependencyReferenceTests.swift index c81c74083..a95a303f4 100644 --- a/Tests/TuistCoreTests/Graph/GraphDependencyReferenceTests.swift +++ b/Tests/TuistCoreTests/Graph/GraphDependencyReferenceTests.swift @@ -105,9 +105,9 @@ private enum KnownGraphDependencyReference: CaseIterable { } } -private extension GraphDependencyReference { +extension GraphDependencyReference { // This is added to enforce keeping `KnownGraphDependencyReference` and `GraphDependencyReference` in sync - var correspondingKnownType: KnownGraphDependencyReference { + fileprivate var correspondingKnownType: KnownGraphDependencyReference { switch self { case .xcframework: return .xcframework diff --git a/Tests/TuistCoreTests/Graph/GraphLoaderTests.swift b/Tests/TuistCoreTests/Graph/GraphLoaderTests.swift index 412b4f337..e0458d766 100644 --- a/Tests/TuistCoreTests/Graph/GraphLoaderTests.swift +++ b/Tests/TuistCoreTests/Graph/GraphLoaderTests.swift @@ -479,7 +479,10 @@ final class GraphLoaderTests: TuistUnitTestCase { XCTAssertEqual(graph.packages, [ "/A": ["/Packages/PackageLibraryA": .local(path: "/Packages/PackageLibraryA")], "/B": ["/Packages/PackageLibraryA": .local(path: "/Packages/PackageLibraryA")], - "/C": ["https://example.com/package-library-b": .remote(url: "https://example.com/package-library-b", requirement: .branch("testing"))], + "/C": ["https://example.com/package-library-b": .remote( + url: "https://example.com/package-library-b", + requirement: .branch("testing") + )], ]) XCTAssertEqual(graph.dependencies, [ .target(name: "A", path: "/A"): Set([ @@ -818,8 +821,8 @@ final class GraphLoaderTests: TuistUnitTestCase { } } -private extension GraphLoadingError { - var isCycleError: Bool { +extension GraphLoadingError { + fileprivate var isCycleError: Bool { switch self { case .circularDependency: return true diff --git a/Tests/TuistCoreTests/Graph/GraphLoadingErrorTests.swift b/Tests/TuistCoreTests/Graph/GraphLoadingErrorTests.swift index 102ca8015..404f96375 100644 --- a/Tests/TuistCoreTests/Graph/GraphLoadingErrorTests.swift +++ b/Tests/TuistCoreTests/Graph/GraphLoadingErrorTests.swift @@ -6,12 +6,18 @@ import XCTest final class GraphLoadingErrorTests: XCTestCase { func test_description_returns_the_right_value_when_manifestNotFound() { let path = AbsolutePath("/test/Project.swift") - XCTAssertEqual(GraphLoadingError.manifestNotFound(path).description, "Couldn't find manifest at path: '/test/Project.swift'") + XCTAssertEqual( + GraphLoadingError.manifestNotFound(path).description, + "Couldn't find manifest at path: '/test/Project.swift'" + ) } func test_description_returns_the_right_value_when_targetNotFound() { let path = AbsolutePath("/test/Project.swift") - XCTAssertEqual(GraphLoadingError.targetNotFound("Target", path).description, "Couldn't find target 'Target' at '/test/Project.swift'") + XCTAssertEqual( + GraphLoadingError.targetNotFound("Target", path).description, + "Couldn't find target 'Target' at '/test/Project.swift'" + ) } func test_description_returns_the_right_value_when_missingFile() { diff --git a/Tests/TuistCoreTests/Graph/GraphTargetTests.swift b/Tests/TuistCoreTests/Graph/GraphTargetTests.swift index 6e466cf5b..8357714e1 100644 --- a/Tests/TuistCoreTests/Graph/GraphTargetTests.swift +++ b/Tests/TuistCoreTests/Graph/GraphTargetTests.swift @@ -10,7 +10,13 @@ final class GraphTargetTests: TuistUnitTestCase { func test_comparable() { XCTAssertTrue(GraphTarget.test(target: Target.test(name: "a")) < GraphTarget.test(target: Target.test(name: "b"))) XCTAssertFalse(GraphTarget.test(target: Target.test(name: "b")) < GraphTarget.test(target: Target.test(name: "a"))) - XCTAssertTrue(GraphTarget.test(path: "/a", target: Target.test(name: "a")) < GraphTarget.test(path: "/b", target: Target.test(name: "a"))) - XCTAssertFalse(GraphTarget.test(path: "/b", target: Target.test(name: "a")) < GraphTarget.test(path: "/a", target: Target.test(name: "a"))) + XCTAssertTrue( + GraphTarget.test(path: "/a", target: Target.test(name: "a")) < GraphTarget + .test(path: "/b", target: Target.test(name: "a")) + ) + XCTAssertFalse( + GraphTarget.test(path: "/b", target: Target.test(name: "a")) < GraphTarget + .test(path: "/a", target: Target.test(name: "a")) + ) } } diff --git a/Tests/TuistCoreTests/Graph/GraphTraverserTests.swift b/Tests/TuistCoreTests/Graph/GraphTraverserTests.swift index 96799956a..a0408aaca 100644 --- a/Tests/TuistCoreTests/Graph/GraphTraverserTests.swift +++ b/Tests/TuistCoreTests/Graph/GraphTraverserTests.swift @@ -158,10 +158,12 @@ final class GraphTraverserTests: TuistUnitTestCase { let unitTests = Target.test(name: "UnitTests", product: .unitTests) let uiTests = Target.test(name: "UITests", product: .uiTests) let targets: [AbsolutePath: [String: Target]] = [ - path: [framework.name: framework, - dependantFramework.name: dependantFramework, - unitTests.name: unitTests, - uiTests.name: uiTests], + path: [ + framework.name: framework, + dependantFramework.name: dependantFramework, + unitTests.name: unitTests, + uiTests.name: uiTests, + ], ] let dependencies: [GraphDependency: Set] = [ .target(name: unitTests.name, path: path): Set([.target(name: framework.name, path: path)]), @@ -191,8 +193,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let framework = Target.test(name: "Framework", product: .framework) let staticLibrary = Target.test(name: "StaticLibrary", product: .staticLibrary) let targets: [AbsolutePath: [String: Target]] = [ - path: [framework.name: framework, - staticLibrary.name: staticLibrary], + path: [ + framework.name: framework, + staticLibrary.name: staticLibrary, + ], ] let dependencies: [GraphDependency: Set] = [ .target(name: framework.name, path: path): Set([.target(name: staticLibrary.name, path: path)]), @@ -210,7 +214,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let got = subject.directStaticDependencies(path: path, name: framework.name).sorted() // Then - XCTAssertEqual(got, [.product(target: staticLibrary.name, productName: staticLibrary.productNameWithExtension, platformFilter: .ios)]) + XCTAssertEqual( + got, + [.product(target: staticLibrary.name, productName: staticLibrary.productNameWithExtension, platformFilter: .ios)] + ) } func test_directLocalTargetDependencies() { @@ -353,9 +360,11 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [app.name: app, - watchApp.name: watchApp, - bundle.name: bundle]], + targets: [project.path: [ + app.name: app, + watchApp.name: watchApp, + bundle.name: bundle, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -385,9 +394,11 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [app.name: app, - staticLibrary.name: staticLibrary, - bundle.name: bundle]], + targets: [project.path: [ + app.name: app, + staticLibrary.name: staticLibrary, + bundle.name: bundle, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -417,8 +428,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [staticLibrary.name: staticLibrary, - bundle.name: bundle]], + targets: [project.path: [ + staticLibrary.name: staticLibrary, + bundle.name: bundle, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -445,8 +458,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [app.name: app, - bundle.name: bundle]], + targets: [project.path: [ + app.name: app, + bundle.name: bundle, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -476,10 +491,14 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let graph = Graph.test( path: .root, - projects: [projectA.path: projectA, - projectB.path: projectB], - targets: [projectA.path: [bundle.name: bundle], - projectB.path: [app.name: app]], + projects: [ + projectA.path: projectA, + projectB.path: projectB, + ], + targets: [ + projectA.path: [bundle.name: bundle], + projectB.path: [app.name: app], + ], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -511,11 +530,17 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let graph = Graph.test( path: .root, - projects: [projectA.path: projectA, - projectB.path: projectB], - targets: [projectA.path: [bundle.name: bundle, - staticFramework.name: staticFramework], - projectB.path: [app.name: app]], + projects: [ + projectA.path: projectA, + projectB.path: projectB, + ], + targets: [ + projectA.path: [ + bundle.name: bundle, + staticFramework.name: staticFramework, + ], + projectB.path: [app.name: app], + ], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -543,8 +568,13 @@ final class GraphTraverserTests: TuistUnitTestCase { let dependencies: [GraphDependency: Set] = [ .target(name: bundle1.name, path: projectA.path): Set([]), .target(name: bundle2.name, path: projectA.path): Set([]), - .target(name: staticFramework1.name, path: projectA.path): Set([.target(name: bundle1.name, path: projectA.path), - .target(name: staticFramework2.name, path: projectA.path)]), + .target(name: staticFramework1.name, path: projectA.path): Set([ + .target(name: bundle1.name, path: projectA.path), + .target( + name: staticFramework2.name, + path: projectA.path + ), + ]), .target(name: staticFramework2.name, path: projectA.path): Set([.target(name: bundle2.name, path: projectA.path)]), .target(name: app.name, path: projectB.path): Set([.target(name: staticFramework1.name, path: projectA.path)]), ] @@ -552,13 +582,19 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let graph = Graph.test( path: .root, - projects: [projectA.path: projectA, - projectB.path: projectB], - targets: [projectA.path: [bundle1.name: bundle1, - bundle2.name: bundle2, - staticFramework1.name: staticFramework1, - staticFramework2.name: staticFramework2], - projectB.path: [app.name: app]], + projects: [ + projectA.path: projectA, + projectB.path: projectB, + ], + targets: [ + projectA.path: [ + bundle1.name: bundle1, + bundle2.name: bundle2, + staticFramework1.name: staticFramework1, + staticFramework2.name: staticFramework2, + ], + projectB.path: [app.name: app], + ], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -589,31 +625,46 @@ final class GraphTraverserTests: TuistUnitTestCase { let dependencies: [GraphDependency: Set] = [ .target(name: bundle.name, path: projectA.path): Set([]), - .target(name: staticFramework1.name, path: projectA.path): Set([.target(name: staticFramework2.name, path: projectA.path)]), + .target( + name: staticFramework1.name, + path: projectA.path + ): Set([.target(name: staticFramework2.name, path: projectA.path)]), .target(name: staticFramework2.name, path: projectA.path): Set([.target(name: bundle.name, path: projectA.path)]), - .target(name: dynamicFramework.name, path: projectA.path): Set([.target(name: staticFramework2.name, path: projectA.path)]), + .target( + name: dynamicFramework.name, + path: projectA.path + ): Set([.target(name: staticFramework2.name, path: projectA.path)]), .target(name: app.name, path: projectB.path): Set([.target(name: dynamicFramework.name, path: projectA.path)]), ] // Given: Value Graph let graph = Graph.test( path: .root, - projects: [projectA.path: projectA, - projectB.path: projectB], - targets: [projectA.path: [bundle.name: bundle, - staticFramework1.name: staticFramework1, - staticFramework2.name: staticFramework2, - dynamicFramework.name: dynamicFramework], - projectB.path: [app.name: app]], + projects: [ + projectA.path: projectA, + projectB.path: projectB, + ], + targets: [ + projectA.path: [ + bundle.name: bundle, + staticFramework1.name: staticFramework1, + staticFramework2.name: staticFramework2, + dynamicFramework.name: dynamicFramework, + ], + projectB.path: [app.name: app], + ], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) // When let appResults = subject.resourceBundleDependencies(path: projectB.path, name: app.name).sorted() - let dynamicFrameworkResults = subject.resourceBundleDependencies(path: projectA.path, name: dynamicFramework.name).sorted() - let staticFramework1Results = subject.resourceBundleDependencies(path: projectA.path, name: staticFramework1.name).sorted() - let staticFramework2Results = subject.resourceBundleDependencies(path: projectA.path, name: staticFramework2.name).sorted() + let dynamicFrameworkResults = subject.resourceBundleDependencies(path: projectA.path, name: dynamicFramework.name) + .sorted() + let staticFramework1Results = subject.resourceBundleDependencies(path: projectA.path, name: staticFramework1.name) + .sorted() + let staticFramework2Results = subject.resourceBundleDependencies(path: projectA.path, name: staticFramework2.name) + .sorted() // Then XCTAssertEqual(appResults, []) @@ -843,9 +894,11 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [app.name: app, - staticLibrary.name: staticLibrary, - bundle.name: bundle]], + targets: [project.path: [ + app.name: app, + staticLibrary.name: staticLibrary, + bundle.name: bundle, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -873,8 +926,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let bundle = Target.test(name: "Bundle", product: .bundle) let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set([.target(name: staticLibrary.name, path: project.path), - .target(name: frameworkA.name, path: project.path)]), + .target(name: app.name, path: project.path): Set([ + .target(name: staticLibrary.name, path: project.path), + .target(name: frameworkA.name, path: project.path), + ]), .target(name: staticLibrary.name, path: project.path): Set([.target(name: bundle.name, path: project.path)]), .target(name: bundle.name, path: project.path): Set([]), .target(name: frameworkB.name, path: project.path): Set([]), @@ -884,11 +939,13 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [app.name: app, - staticLibrary.name: staticLibrary, - bundle.name: bundle, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB]], + targets: [project.path: [ + app.name: app, + staticLibrary.name: staticLibrary, + bundle.name: bundle, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -928,8 +985,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [target.name: target, - dependency.name: dependency]], + targets: [project.path: [ + target.name: target, + dependency.name: dependency, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -955,8 +1014,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [target.name: target, - dependency.name: dependency]], + targets: [project.path: [ + target.name: target, + dependency.name: dependency, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -982,8 +1043,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( path: project.path, projects: [project.path: project], - targets: [project.path: [app.name: app, - messageExtension.name: messageExtension]], + targets: [project.path: [ + app.name: app, + messageExtension.name: messageExtension, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1007,7 +1070,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let graph = Graph.test( projects: [project.path: project], targets: [project.path: [app.name: app, appClip.name: appClip]], - dependencies: [.target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: appClip.name, path: project.path))] + dependencies: [.target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: appClip.name, path: project.path))] ) let subject = GraphTraverser(graph: graph) @@ -1029,7 +1095,10 @@ final class GraphTraverserTests: TuistUnitTestCase { projects: [project.path: project], targets: [project.path: [dependency.name: dependency, target.name: target]], dependencies: [ - .target(name: target.name, path: project.path): Set(arrayLiteral: .target(name: dependency.name, path: project.path)), + .target( + name: target.name, + path: project.path + ): Set(arrayLiteral: .target(name: dependency.name, path: project.path)), ] ) let subject = GraphTraverser(graph: graph) @@ -1052,7 +1121,10 @@ final class GraphTraverserTests: TuistUnitTestCase { projects: [project.path: project], targets: [project.path: [dependency.name: dependency, target.name: target]], dependencies: [ - .target(name: target.name, path: project.path): Set(arrayLiteral: .target(name: dependency.name, path: project.path)), + .target( + name: target.name, + path: project.path + ): Set(arrayLiteral: .target(name: dependency.name, path: project.path)), ] ) let subject = GraphTraverser(graph: graph) @@ -1061,7 +1133,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let got = subject.embeddableFrameworks(path: project.path, name: target.name).sorted() // Then - XCTAssertEqual(got.first, GraphDependencyReference.product(target: "Dependency", productName: "Dependency.framework", platformFilter: .ios)) + XCTAssertEqual( + got.first, + GraphDependencyReference.product(target: "Dependency", productName: "Dependency.framework", platformFilter: .ios) + ) } func test_embeddableFrameworks_when_dependencyIsAFramework() throws { @@ -1213,15 +1288,23 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: watchExtension.name, path: project.path): Set(arrayLiteral: .target(name: frameworkA.name, path: project.path)), + .target( + name: watchExtension.name, + path: project.path + ): Set(arrayLiteral: .target(name: frameworkA.name, path: project.path)), .target(name: frameworkB.name, path: project.path): Set(), - .target(name: frameworkA.name, path: project.path): Set(arrayLiteral: .target(name: frameworkB.name, path: project.path)), + .target( + name: frameworkA.name, + path: project.path + ): Set(arrayLiteral: .target(name: frameworkB.name, path: project.path)), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - watchExtension.name: watchExtension]], + targets: [project.path: [ + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + watchExtension.name: watchExtension, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1255,9 +1338,11 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - tests.name: tests, - framework.name: framework]], + targets: [project.path: [ + app.name: app, + tests.name: tests, + framework.name: framework, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1287,12 +1372,17 @@ final class GraphTraverserTests: TuistUnitTestCase { ) let dependencies: [GraphDependency: Set] = [ .target(name: target.name, path: project.path): Set(), - .target(name: unitTests.name, path: project.path): Set(arrayLiteral: .target(name: target.name, path: project.path), precompiledDependency), + .target(name: unitTests.name, path: project.path): Set( + arrayLiteral: .target(name: target.name, path: project.path), + precompiledDependency + ), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [unitTests.name: unitTests, - target.name: target]], + targets: [project.path: [ + unitTests.name: unitTests, + target.name: target, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1322,17 +1412,28 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), .target(name: framework.name, path: project.path): Set(), - .target(name: staticFramework.name, path: project.path): Set(arrayLiteral: .target(name: framework.name, path: project.path)), - .target(name: tests.name, path: project.path): Set(arrayLiteral: .target(name: app.name, path: project.path), .target(name: staticFramework.name, path: project.path)), + .target( + name: staticFramework.name, + path: project.path + ): Set(arrayLiteral: .target(name: framework.name, path: project.path)), + .target(name: tests.name, path: project.path): Set( + arrayLiteral: .target(name: app.name, path: project.path), + .target(name: staticFramework.name, path: project.path) + ), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [framework.name: framework, - staticFramework.name: staticFramework, - app.name: app, - tests.name: tests]], + targets: [project.path: [ + framework.name: framework, + staticFramework.name: staticFramework, + app.name: app, + tests.name: tests, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1367,8 +1468,10 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - uiTests.name: uiTests]], + targets: [project.path: [ + app.name: app, + uiTests.name: uiTests, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1474,7 +1577,8 @@ final class GraphTraverserTests: TuistUnitTestCase { XCTAssertEqual(got.first, GraphDependencyReference(precompiledDependency)) } - func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledStaticBinaryWithPrecompiledStaticBinaryDependency() throws { + func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledStaticBinaryWithPrecompiledStaticBinaryDependency( + ) throws { // App ---(depends on)---> Precompiled static binary (A) ---> Precompiled static binary (B) // Given @@ -1529,7 +1633,8 @@ final class GraphTraverserTests: TuistUnitTestCase { XCTAssertTrue(embeddable.isEmpty) } - func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledDynamicBinaryWithPrecompiledDynamicBinaryDependency() throws { + func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledDynamicBinaryWithPrecompiledDynamicBinaryDependency( + ) throws { // App ---(depends on)---> Precompiled dynamic binary (A) ----> Precompiled dynamic binary (B) // Given @@ -1587,7 +1692,8 @@ final class GraphTraverserTests: TuistUnitTestCase { ]) } - func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledStaticBinaryWithPrecompiledDynamicBinaryDependency() throws { + func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledStaticBinaryWithPrecompiledDynamicBinaryDependency( + ) throws { // App ---(depends on)---> Precompiled static binary (A) ----> Precompiled dynamic binary (B) // Given @@ -1644,7 +1750,8 @@ final class GraphTraverserTests: TuistUnitTestCase { ]) } - func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledDynamicBinaryWithPrecompiledStaticBinaryDependency() throws { + func test_linkableAndEmbeddableDependencies_when_appDependensOnPrecompiledDynamicBinaryWithPrecompiledStaticBinaryDependency( + ) throws { // App ---(depends on)---> Precompiled dynamic binary (A) ----> Precompiled static binary (B) // Given @@ -1736,14 +1843,19 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ .target(name: target.name, path: project.path): Set(arrayLiteral: .target(name: dependency.name, path: project.path)), - .target(name: dependency.name, path: project.path): Set(arrayLiteral: .target(name: staticDependency.name, path: project.path)), + .target( + name: dependency.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticDependency.name, path: project.path)), .target(name: staticDependency.name, path: project.path): Set(), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [target.name: target, - dependency.name: dependency, - staticDependency.name: staticDependency]], + targets: [project.path: [ + target.name: target, + dependency.name: dependency, + staticDependency.name: staticDependency, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1761,7 +1873,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let frameworkGot = try subject.linkableDependencies(path: project.path, name: dependency.name) XCTAssertEqual(frameworkGot.count, 1) - XCTAssertTrue(frameworkGot.contains(.product(target: "StaticDependency", productName: "libStaticDependency.a", platformFilter: .ios))) + XCTAssertTrue( + frameworkGot + .contains(.product(target: "StaticDependency", productName: "libStaticDependency.a", platformFilter: .ios)) + ) } func test_linkableDependencies_transitiveDynamicLibrariesOneStaticHop() throws { @@ -1781,15 +1896,23 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), - .target(name: staticFramework.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), + .target( + name: staticFramework.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework.name, path: project.path)), .target(name: dynamicFramework.name, path: project.path): Set(), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - staticFramework.name: staticFramework, - dynamicFramework.name: dynamicFramework]], + targets: [project.path: [ + app.name: app, + staticFramework.name: staticFramework, + dynamicFramework.name: dynamicFramework, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1798,8 +1921,18 @@ final class GraphTraverserTests: TuistUnitTestCase { let got = try subject.linkableDependencies(path: project.path, name: app.name).sorted() // Then - XCTAssertEqual(got, [GraphDependencyReference.product(target: "DynamicFramework", productName: "DynamicFramework.framework", platformFilter: .ios), - GraphDependencyReference.product(target: "StaticFramework", productName: "StaticFramework.framework", platformFilter: .ios)]) + XCTAssertEqual( + got, + [ + GraphDependencyReference + .product(target: "DynamicFramework", productName: "DynamicFramework.framework", platformFilter: .ios), + GraphDependencyReference.product( + target: "StaticFramework", + productName: "StaticFramework.framework", + platformFilter: .ios + ), + ] + ) } func test_linkableDependencies_transitiveDynamicLibrariesThreeHops() throws { @@ -1829,19 +1962,33 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework1.name, path: project.path)), - .target(name: dynamicFramework1.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework1.name, path: project.path)), - .target(name: staticFramework1.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework2.name, path: project.path)), - .target(name: staticFramework2.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework2.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework1.name, path: project.path)), + .target( + name: dynamicFramework1.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework1.name, path: project.path)), + .target( + name: staticFramework1.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework2.name, path: project.path)), + .target( + name: staticFramework2.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework2.name, path: project.path)), .target(name: dynamicFramework2.name, path: project.path): Set(), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - dynamicFramework1.name: dynamicFramework1, - dynamicFramework2.name: dynamicFramework2, - staticFramework1.name: staticFramework1, - staticFramework2.name: staticFramework2]], + targets: [project.path: [ + app.name: app, + dynamicFramework1.name: dynamicFramework1, + dynamicFramework2.name: dynamicFramework2, + staticFramework1.name: staticFramework1, + staticFramework2.name: staticFramework2, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1852,12 +1999,28 @@ final class GraphTraverserTests: TuistUnitTestCase { // Then XCTAssertEqual(appGot, [ - GraphDependencyReference.product(target: "DynamicFramework1", productName: "DynamicFramework1.framework", platformFilter: .ios), + GraphDependencyReference.product( + target: "DynamicFramework1", + productName: "DynamicFramework1.framework", + platformFilter: .ios + ), ]) XCTAssertEqual(dynamicFramework1Got, [ - GraphDependencyReference.product(target: "DynamicFramework2", productName: "DynamicFramework2.framework", platformFilter: .ios), - GraphDependencyReference.product(target: "StaticFramework1", productName: "libStaticFramework1.a", platformFilter: .ios), - GraphDependencyReference.product(target: "StaticFramework2", productName: "libStaticFramework2.a", platformFilter: .ios), + GraphDependencyReference.product( + target: "DynamicFramework2", + productName: "DynamicFramework2.framework", + platformFilter: .ios + ), + GraphDependencyReference.product( + target: "StaticFramework1", + productName: "libStaticFramework1.a", + platformFilter: .ios + ), + GraphDependencyReference.product( + target: "StaticFramework2", + productName: "libStaticFramework2.a", + platformFilter: .ios + ), ]) } @@ -1895,21 +2058,38 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework1.name, path: project.path)), - .target(name: dynamicFramework1.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework2.name, path: project.path)), - .target(name: dynamicFramework2.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework1.name, path: project.path)), - .target(name: staticFramework1.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework2.name, path: project.path)), - .target(name: staticFramework2.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework3.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework1.name, path: project.path)), + .target( + name: dynamicFramework1.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework2.name, path: project.path)), + .target( + name: dynamicFramework2.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework1.name, path: project.path)), + .target( + name: staticFramework1.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework2.name, path: project.path)), + .target( + name: staticFramework2.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework3.name, path: project.path)), .target(name: dynamicFramework3.name, path: project.path): Set(), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - dynamicFramework1.name: dynamicFramework1, - dynamicFramework2.name: dynamicFramework2, - staticFramework1.name: staticFramework1, - staticFramework2.name: staticFramework2, - dynamicFramework3.name: dynamicFramework3]], + targets: [project.path: [ + app.name: app, + dynamicFramework1.name: dynamicFramework1, + dynamicFramework2.name: dynamicFramework2, + staticFramework1.name: staticFramework1, + staticFramework2.name: staticFramework2, + dynamicFramework3.name: dynamicFramework3, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1918,7 +2098,13 @@ final class GraphTraverserTests: TuistUnitTestCase { let dynamicFramework1Got = try subject.linkableDependencies(path: project.path, name: dynamicFramework1.name).sorted() // Then - XCTAssertEqual(dynamicFramework1Got, [GraphDependencyReference.product(target: "DynamicFramework2", productName: "DynamicFramework2.framework", platformFilter: .ios)]) + XCTAssertEqual( + dynamicFramework1Got, + [ + GraphDependencyReference + .product(target: "DynamicFramework2", productName: "DynamicFramework2.framework", platformFilter: .ios), + ] + ) } func test_linkableDependencies_transitiveSDKDependenciesStatic() throws { @@ -1938,8 +2124,14 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: staticFrameworkB.name, path: project.path)), - .target(name: staticFrameworkB.name, path: project.path): Set(arrayLiteral: .target(name: staticFrameworkA.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFrameworkB.name, path: project.path)), + .target( + name: staticFrameworkB.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFrameworkA.name, path: project.path)), .target(name: staticFrameworkA.name, path: project.path): Set(arrayLiteral: .sdk( name: "some.framework", path: "/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/some.framework", @@ -1949,9 +2141,11 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - staticFrameworkB.name: staticFrameworkB, - staticFrameworkA.name: staticFrameworkA]], + targets: [project.path: [ + app.name: app, + staticFrameworkB.name: staticFrameworkB, + staticFrameworkA.name: staticFrameworkA, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -1982,8 +2176,14 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: dynamicFramework.name, path: project.path)), - .target(name: dynamicFramework.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: dynamicFramework.name, path: project.path)), + .target( + name: dynamicFramework.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), .target(name: staticFramework.name, path: project.path): Set(arrayLiteral: .sdk( name: "some.framework", path: "/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/some.framework", @@ -1993,9 +2193,11 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - staticFramework.name: staticFramework, - dynamicFramework.name: dynamicFramework]], + targets: [project.path: [ + app.name: app, + staticFramework.name: staticFramework, + dynamicFramework.name: dynamicFramework, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2029,7 +2231,10 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), .target(name: staticFramework.name, path: project.path): Set(arrayLiteral: .sdk( name: "some.framework", path: "/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/some.framework", @@ -2039,8 +2244,10 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - staticFramework.name: staticFramework]], + targets: [project.path: [ + app.name: app, + staticFramework.name: staticFramework, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2057,8 +2264,10 @@ final class GraphTraverserTests: TuistUnitTestCase { let staticFramework = Target.test( name: "StaticFrameworkA", product: .staticFramework, - dependencies: [.sdk(name: "thingone.framework", status: .optional), - .sdk(name: "thingtwo.framework", status: .required)] + dependencies: [ + .sdk(name: "thingone.framework", status: .optional), + .sdk(name: "thingtwo.framework", status: .required), + ] ) let project = Project.test(path: "/path/a") @@ -2093,8 +2302,10 @@ final class GraphTraverserTests: TuistUnitTestCase { // Then XCTAssertEqual( got.compactMap(sdkDependency), - [SDKPathAndStatus(name: "thingone.framework", status: .optional), - SDKPathAndStatus(name: "thingtwo.framework", status: .required)] + [ + SDKPathAndStatus(name: "thingone.framework", status: .optional), + SDKPathAndStatus(name: "thingtwo.framework", status: .required), + ] ) } @@ -2133,8 +2344,10 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB]], + targets: [project.path: [ + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2303,15 +2516,23 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: watchExtension.name, path: project.path): Set(arrayLiteral: .target(name: frameworkA.name, path: project.path)), - .target(name: frameworkA.name, path: project.path): Set(arrayLiteral: .target(name: frameworkB.name, path: project.path)), + .target( + name: watchExtension.name, + path: project.path + ): Set(arrayLiteral: .target(name: frameworkA.name, path: project.path)), + .target( + name: frameworkA.name, + path: project.path + ): Set(arrayLiteral: .target(name: frameworkB.name, path: project.path)), .target(name: frameworkB.name, path: project.path): Set(), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [watchExtension.name: watchExtension, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB]], + targets: [project.path: [ + watchExtension.name: watchExtension, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2334,15 +2555,23 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: watchExtension.name, path: project.path): Set(arrayLiteral: .target(name: frameworkA.name, path: project.path)), - .target(name: frameworkA.name, path: project.path): Set(arrayLiteral: .target(name: frameworkB.name, path: project.path)), + .target( + name: watchExtension.name, + path: project.path + ): Set(arrayLiteral: .target(name: frameworkA.name, path: project.path)), + .target( + name: frameworkA.name, + path: project.path + ): Set(arrayLiteral: .target(name: frameworkB.name, path: project.path)), .target(name: frameworkB.name, path: project.path): Set(), ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [watchExtension.name: watchExtension, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB]], + targets: [project.path: [ + watchExtension.name: watchExtension, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2370,7 +2599,10 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: project.path): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), + .target( + name: app.name, + path: project.path + ): Set(arrayLiteral: .target(name: staticFramework.name, path: project.path)), .target(name: staticFramework.name, path: project.path): Set(), .target(name: tests.name, path: project.path): Set( arrayLiteral: .target(name: staticFramework.name, path: project.path), @@ -2379,9 +2611,11 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - staticFramework.name: staticFramework, - tests.name: tests]], + targets: [project.path: [ + app.name: app, + staticFramework.name: staticFramework, + tests.name: tests, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2415,9 +2649,11 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - framework.name: framework, - tests.name: tests]], + targets: [project.path: [ + app.name: app, + framework.name: framework, + tests.name: tests, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2450,9 +2686,11 @@ final class GraphTraverserTests: TuistUnitTestCase { ] let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - framework.name: framework, - tests.name: tests]], + targets: [project.path: [ + app.name: app, + framework.name: framework, + tests.name: tests, + ]], dependencies: dependencies ) let subject = GraphTraverser(graph: graph) @@ -2471,7 +2709,12 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let dependencies: [GraphDependency: Set] = [ - .target(name: target.name, path: project.path): Set(arrayLiteral: .sdk(name: "AppClip.framework", path: "/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AppClip.framework", status: .required, source: .system)), + .target(name: target.name, path: project.path): Set(arrayLiteral: .sdk( + name: "AppClip.framework", + path: "/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/AppClip.framework", + status: .required, + source: .system + )), ] let graph = Graph.test( projects: [project.path: project], @@ -2930,10 +3173,15 @@ final class GraphTraverserTests: TuistUnitTestCase { ) let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [unitTests.name: unitTests, - app.name: app]], + targets: [project.path: [ + unitTests.name: unitTests, + app.name: app, + ]], dependencies: [ - .target(name: unitTests.name, path: project.path): Set([precompiledDependency, .target(name: app.name, path: project.path)]), + .target( + name: unitTests.name, + path: project.path + ): Set([precompiledDependency, .target(name: app.name, path: project.path)]), .target(name: app.name, path: project.path): Set([]), precompiledDependency: Set(), ] @@ -2956,8 +3204,10 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [app.name: app, - watchApp.name: watchApp]], + targets: [project.path: [ + app.name: app, + watchApp.name: watchApp, + ]], dependencies: [ .target(name: app.name, path: project.path): Set([.target(name: watchApp.name, path: project.path)]), .target(name: watchApp.name, path: project.path): Set([]), @@ -2981,10 +3231,15 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [watchAppExtension.name: watchAppExtension, - watchApp.name: watchApp]], + targets: [project.path: [ + watchAppExtension.name: watchAppExtension, + watchApp.name: watchApp, + ]], dependencies: [ - .target(name: watchApp.name, path: project.path): Set([.target(name: watchAppExtension.name, path: project.path)]), + .target( + name: watchApp.name, + path: project.path + ): Set([.target(name: watchAppExtension.name, path: project.path)]), .target(name: watchAppExtension.name, path: project.path): Set([]), ] ) @@ -3007,9 +3262,11 @@ final class GraphTraverserTests: TuistUnitTestCase { // Given: Value Graph let graph = Graph.test( projects: [project.path: project], - targets: [project.path: [macosApp.name: macosApp, - tvosApp.name: tvosApp, - framework.name: framework]], + targets: [project.path: [ + macosApp.name: macosApp, + tvosApp.name: tvosApp, + framework.name: framework, + ]], dependencies: [ .target(name: macosApp.name, path: project.path): Set(), .target(name: tvosApp.name, path: project.path): Set(), @@ -3036,10 +3293,14 @@ final class GraphTraverserTests: TuistUnitTestCase { let firstTarget = Target.test(name: "first") let secondTarget = Target.test(name: "second") let graph = Graph.test( - projects: [firstPath: firstProject, - secondPath: secondProject], - targets: [firstPath: [firstTarget.name: firstTarget], - secondPath: [secondTarget.name: secondTarget]] + projects: [ + firstPath: firstProject, + secondPath: secondProject, + ], + targets: [ + firstPath: [firstTarget.name: firstTarget], + secondPath: [secondTarget.name: secondTarget], + ] ) let graphTraverser = GraphTraverser(graph: graph) diff --git a/Tests/TuistCoreTests/MetadataProviders/PrecompiledMetadataProviderTests.swift b/Tests/TuistCoreTests/MetadataProviders/PrecompiledMetadataProviderTests.swift index 836cfbf4d..124fa6abf 100644 --- a/Tests/TuistCoreTests/MetadataProviders/PrecompiledMetadataProviderTests.swift +++ b/Tests/TuistCoreTests/MetadataProviders/PrecompiledMetadataProviderTests.swift @@ -81,7 +81,8 @@ final class PrecompiledMetadataProviderTests: TuistUnitTestCase { func test_metadata_xcframework() throws { // Given - let binaryPath = fixturePath(path: RelativePath("MyFramework.xcframework/ios-x86_64-simulator/MyFramework.framework/MyFramework")) + let binaryPath = + fixturePath(path: RelativePath("MyFramework.xcframework/ios-x86_64-simulator/MyFramework.framework/MyFramework")) // When let architectures = try subject.architectures(binaryPath: binaryPath) diff --git a/Tests/TuistCoreTests/MetadataProviders/XCFrameworkMetadataProviderTests.swift b/Tests/TuistCoreTests/MetadataProviders/XCFrameworkMetadataProviderTests.swift index c6e3dabfa..db73318e4 100644 --- a/Tests/TuistCoreTests/MetadataProviders/XCFrameworkMetadataProviderTests.swift +++ b/Tests/TuistCoreTests/MetadataProviders/XCFrameworkMetadataProviderTests.swift @@ -161,7 +161,8 @@ final class XCFrameworkMetadataProviderTests: TuistTestCase { architectures: [.arm64] ), ]) - let expectedBinaryPath = frameworkPath.appending(RelativePath("ios-arm64/MyFrameworkMissingArch.framework/MyFrameworkMissingArch")) + let expectedBinaryPath = frameworkPath + .appending(RelativePath("ios-arm64/MyFrameworkMissingArch.framework/MyFrameworkMissingArch")) XCTAssertEqual(metadata, XCFrameworkMetadata( path: frameworkPath, infoPlist: expectedInfoPlist, diff --git a/Tests/TuistCoreTests/NodeLoaders/XCFrameworkLoaderTests.swift b/Tests/TuistCoreTests/NodeLoaders/XCFrameworkLoaderTests.swift index 8c1c8c87c..7041f7bcd 100644 --- a/Tests/TuistCoreTests/NodeLoaders/XCFrameworkLoaderTests.swift +++ b/Tests/TuistCoreTests/NodeLoaders/XCFrameworkLoaderTests.swift @@ -47,7 +47,10 @@ final class XCFrameworkLoaderTests: TuistUnitTestCase { let xcframeworkPath = path.appending(component: "tuist.xcframework") // Then - XCTAssertThrowsSpecific(try subject.load(path: xcframeworkPath), XCFrameworkLoaderError.xcframeworkNotFound(xcframeworkPath)) + XCTAssertThrowsSpecific( + try subject.load(path: xcframeworkPath), + XCFrameworkLoaderError.xcframeworkNotFound(xcframeworkPath) + ) } func test_load_when_the_xcframework_exists() throws { diff --git a/Tests/TuistCoreTests/Simulator/SimulatorControllerTests.swift b/Tests/TuistCoreTests/Simulator/SimulatorControllerTests.swift index 73541c43b..b4ecaaa86 100644 --- a/Tests/TuistCoreTests/Simulator/SimulatorControllerTests.swift +++ b/Tests/TuistCoreTests/Simulator/SimulatorControllerTests.swift @@ -60,7 +60,8 @@ final class SimulatorControllerTests: TuistUnitTestCase { // Then XCTAssertThrowsSpecific( // When - _ = try subject.findAvailableDevice(platform: .macOS, version: nil, minVersion: nil, deviceName: nil).toBlocking(timeout: 1).single(), + _ = try subject.findAvailableDevice(platform: .macOS, version: nil, minVersion: nil, deviceName: nil) + .toBlocking(timeout: 1).single(), SimulatorControllerError.deviceNotFound(.macOS, nil, nil, [expectedDeviceAndRuntime]) ) } @@ -72,7 +73,8 @@ final class SimulatorControllerTests: TuistUnitTestCase { // Then XCTAssertThrowsSpecific( // When - _ = try subject.findAvailableDevice(platform: .iOS, version: .init(15, 0, 0), minVersion: nil, deviceName: nil).toBlocking(timeout: 1).single(), + _ = try subject.findAvailableDevice(platform: .iOS, version: .init(15, 0, 0), minVersion: nil, deviceName: nil) + .toBlocking(timeout: 1).single(), SimulatorControllerError.deviceNotFound(.iOS, .init(15, 0, 0), nil, [expectedDeviceAndRuntime]) ) } @@ -84,7 +86,8 @@ final class SimulatorControllerTests: TuistUnitTestCase { // Then XCTAssertThrowsSpecific( // When - _ = try subject.findAvailableDevice(platform: .iOS, version: nil, minVersion: .init(15, 0, 0), deviceName: nil).toBlocking(timeout: 1).single(), + _ = try subject.findAvailableDevice(platform: .iOS, version: nil, minVersion: .init(15, 0, 0), deviceName: nil) + .toBlocking(timeout: 1).single(), SimulatorControllerError.deviceNotFound(.iOS, nil, nil, [expectedDeviceAndRuntime]) ) } @@ -96,7 +99,8 @@ final class SimulatorControllerTests: TuistUnitTestCase { // Then XCTAssertThrowsSpecific( // When - _ = try subject.findAvailableDevice(platform: .iOS, version: nil, minVersion: nil, deviceName: "iPad 100").toBlocking(timeout: 1).single(), + _ = try subject.findAvailableDevice(platform: .iOS, version: nil, minVersion: nil, deviceName: "iPad 100") + .toBlocking(timeout: 1).single(), SimulatorControllerError.deviceNotFound(.iOS, nil, "iPad 100", [expectedDeviceAndRuntime]) ) } @@ -145,9 +149,14 @@ final class SimulatorControllerTests: TuistUnitTestCase { let expectedDeviceAndRuntime = createSystemStubs(devices: true, runtimes: true) // When - let device = try subject.findAvailableDevice(platform: .iOS, version: nil, minVersion: nil, deviceName: expectedDeviceAndRuntime.device.name) - .toBlocking(timeout: 1) - .single() + let device = try subject.findAvailableDevice( + platform: .iOS, + version: nil, + minVersion: nil, + deviceName: expectedDeviceAndRuntime.device.name + ) + .toBlocking(timeout: 1) + .single() // Then XCTAssertEqual(device, expectedDeviceAndRuntime) diff --git a/Tests/TuistCoreTests/Simulator/SimulatorRuntimeVersionTests.swift b/Tests/TuistCoreTests/Simulator/SimulatorRuntimeVersionTests.swift index c8ea53d9f..44041a730 100644 --- a/Tests/TuistCoreTests/Simulator/SimulatorRuntimeVersionTests.swift +++ b/Tests/TuistCoreTests/Simulator/SimulatorRuntimeVersionTests.swift @@ -68,11 +68,29 @@ final class SimulatorRuntimeVersionTests: TuistUnitTestCase { } func test_comparable() { - XCTAssertTrue(SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) < SimulatorRuntimeVersion(major: 3, minor: 2, patch: 2)) - XCTAssertTrue(SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) <= SimulatorRuntimeVersion(major: 3, minor: 2, patch: 2)) - XCTAssertTrue(SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) <= SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1)) - XCTAssertTrue(SimulatorRuntimeVersion(major: 4, minor: 2, patch: 1) > SimulatorRuntimeVersion(major: 3, minor: 2, patch: 2)) - XCTAssertTrue(SimulatorRuntimeVersion(major: 4, minor: 2, patch: 1) > SimulatorRuntimeVersion(major: 4, minor: 1, patch: 2)) - XCTAssertFalse(SimulatorRuntimeVersion(major: 4, minor: 2, patch: 1) < SimulatorRuntimeVersion(major: 4, minor: 1, patch: 2)) + XCTAssertTrue( + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) < + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 2) + ) + XCTAssertTrue( + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) <= + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 2) + ) + XCTAssertTrue( + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) <= + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 1) + ) + XCTAssertTrue( + SimulatorRuntimeVersion(major: 4, minor: 2, patch: 1) > + SimulatorRuntimeVersion(major: 3, minor: 2, patch: 2) + ) + XCTAssertTrue( + SimulatorRuntimeVersion(major: 4, minor: 2, patch: 1) > + SimulatorRuntimeVersion(major: 4, minor: 1, patch: 2) + ) + XCTAssertFalse( + SimulatorRuntimeVersion(major: 4, minor: 2, patch: 1) < + SimulatorRuntimeVersion(major: 4, minor: 1, patch: 2) + ) } } diff --git a/Tests/TuistDependenciesTests/Carthage/CarthageInteractorTests.swift b/Tests/TuistDependenciesTests/Carthage/CarthageInteractorTests.swift index c687b88eb..ceb4940ca 100644 --- a/Tests/TuistDependenciesTests/Carthage/CarthageInteractorTests.swift +++ b/Tests/TuistDependenciesTests/Carthage/CarthageInteractorTests.swift @@ -311,8 +311,8 @@ final class CarthageInteractorTests: TuistUnitTestCase { // MARK: - Helpers -private extension CarthageInteractorTests { - func simulateCarthageOutput(at path: AbsolutePath) throws { +extension CarthageInteractorTests { + fileprivate func simulateCarthageOutput(at path: AbsolutePath) throws { try [ "Cartfile.resolved", "Carthage/Cartfile", diff --git a/Tests/TuistDependenciesTests/SwiftPackageManager/SwiftPackageManagerInteractorTests.swift b/Tests/TuistDependenciesTests/SwiftPackageManager/SwiftPackageManagerInteractorTests.swift index f3f520937..0b4697a18 100644 --- a/Tests/TuistDependenciesTests/SwiftPackageManager/SwiftPackageManagerInteractorTests.swift +++ b/Tests/TuistDependenciesTests/SwiftPackageManager/SwiftPackageManagerInteractorTests.swift @@ -63,15 +63,16 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { XCTAssertNil(version) // swift-tools-version is not specified } - swiftPackageManagerGraphGenerator.generateStub = { path, automaticProductType, platforms, baseSettings, targetSettings, swiftToolsVersion in - XCTAssertEqual(path, swiftPackageManagerBuildDirectory) - XCTAssertEqual(platforms, [.iOS]) - XCTAssertEqual(automaticProductType, [:]) - XCTAssertEqual(baseSettings, .default) - XCTAssertEqual(targetSettings, [:]) - XCTAssertNil(swiftToolsVersion) - return .test() - } + swiftPackageManagerGraphGenerator + .generateStub = { path, automaticProductType, platforms, baseSettings, targetSettings, swiftToolsVersion in + XCTAssertEqual(path, swiftPackageManagerBuildDirectory) + XCTAssertEqual(platforms, [.iOS]) + XCTAssertEqual(automaticProductType, [:]) + XCTAssertEqual(baseSettings, .default) + XCTAssertEqual(targetSettings, [:]) + XCTAssertNil(swiftToolsVersion) + return .test() + } // When let dependenciesGraph = try subject.install( @@ -147,18 +148,22 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { } swiftPackageManagerController.setToolsVersionStub = { path, version in XCTAssertEqual(path, swiftPackageManagerDirectory) - XCTAssertEqual(version, swiftToolsVersion.description) // version should be equal to the version that has been specified + XCTAssertEqual( + version, + swiftToolsVersion.description + ) // version should be equal to the version that has been specified } - swiftPackageManagerGraphGenerator.generateStub = { path, automaticProductType, platforms, baseSettings, targetSettings, swiftVersion in - XCTAssertEqual(path, swiftPackageManagerBuildDirectory) - XCTAssertEqual(automaticProductType, [:]) - XCTAssertEqual(platforms, [.iOS]) - XCTAssertEqual(baseSettings, .default) - XCTAssertEqual(targetSettings, [:]) - XCTAssertEqual(swiftVersion, swiftToolsVersion) - return .test() - } + swiftPackageManagerGraphGenerator + .generateStub = { path, automaticProductType, platforms, baseSettings, targetSettings, swiftVersion in + XCTAssertEqual(path, swiftPackageManagerBuildDirectory) + XCTAssertEqual(automaticProductType, [:]) + XCTAssertEqual(platforms, [.iOS]) + XCTAssertEqual(baseSettings, .default) + XCTAssertEqual(targetSettings, [:]) + XCTAssertEqual(swiftVersion, swiftToolsVersion) + return .test() + } // When let dependenciesGraph = try subject.install( @@ -236,15 +241,16 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { XCTAssertNil(version) // swift-tools-version is not specified } - swiftPackageManagerGraphGenerator.generateStub = { path, automaticProductType, platforms, baseSettings, targetSettings, swiftToolsVersion in - XCTAssertEqual(path, swiftPackageManagerBuildDirectory) - XCTAssertEqual(automaticProductType, [:]) - XCTAssertEqual(platforms, [.iOS]) - XCTAssertEqual(baseSettings, .default) - XCTAssertEqual(targetSettings, [:]) - XCTAssertNil(swiftToolsVersion) - return .test() - } + swiftPackageManagerGraphGenerator + .generateStub = { path, automaticProductType, platforms, baseSettings, targetSettings, swiftToolsVersion in + XCTAssertEqual(path, swiftPackageManagerBuildDirectory) + XCTAssertEqual(automaticProductType, [:]) + XCTAssertEqual(platforms, [.iOS]) + XCTAssertEqual(baseSettings, .default) + XCTAssertEqual(targetSettings, [:]) + XCTAssertNil(swiftToolsVersion) + return .test() + } // When let dependenciesGraph = try subject.install( @@ -334,8 +340,8 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { // MARK: - Helpers -private extension SwiftPackageManagerInteractorTests { - func simulateSPMOutput(at path: AbsolutePath) throws { +extension SwiftPackageManagerInteractorTests { + fileprivate func simulateSPMOutput(at path: AbsolutePath) throws { try [ "Package.swift", "Package.resolved", diff --git a/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/PackageInfoMapperTests.swift b/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/PackageInfoMapperTests.swift index f8797eedd..e6b00c6a0 100644 --- a/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/PackageInfoMapperTests.swift +++ b/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/PackageInfoMapperTests.swift @@ -22,40 +22,44 @@ final class PackageInfoMapperTests: TuistUnitTestCase { exitstatus: 0 ) // swiftlint:disable line_length - system.stubs["/usr/bin/xcrun vtool -show-build /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest"] = ( - stderror: nil, - stdout: """ - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7): - Load command 8 - cmd LC_VERSION_MIN_IPHONEOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7s): - Load command 8 - cmd LC_VERSION_MIN_IPHONEOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64): - Load command 8 - cmd LC_VERSION_MIN_IPHONEOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64e): - Load command 9 - cmd LC_BUILD_VERSION - cmdsize 32 - platform IOS - minos 14.0 - sdk 15.0 - ntools 1 - tool LD - version 711.0 - """, - exitstatus: 0 - ) + system + .stubs[ + "/usr/bin/xcrun vtool -show-build /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest" + ] = + ( + stderror: nil, + stdout: """ + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7): + Load command 8 + cmd LC_VERSION_MIN_IPHONEOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7s): + Load command 8 + cmd LC_VERSION_MIN_IPHONEOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64): + Load command 8 + cmd LC_VERSION_MIN_IPHONEOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64e): + Load command 9 + cmd LC_BUILD_VERSION + cmdsize 32 + platform IOS + minos 14.0 + sdk 15.0 + ntools 1 + tool LD + version 711.0 + """, + exitstatus: 0 + ) // swiftlint:enable line_length subject = PackageInfoMapper() } @@ -181,7 +185,10 @@ final class PackageInfoMapperTests: TuistUnitTestCase { "Target1", basePath: basePath, customSources: .init( - globs: [basePath.appending(RelativePath("Package/Path/\(alternativeDefaultSource)/Target1/**")).pathString] + globs: [ + basePath.appending(RelativePath("Package/Path/\(alternativeDefaultSource)/Target1/**")) + .pathString, + ] ) ), ] @@ -280,7 +287,10 @@ final class PackageInfoMapperTests: TuistUnitTestCase { "com_example_target-1", basePath: basePath, customBundleID: "com.example.target-1", - customSources: .init(globs: [basePath.appending(RelativePath("Package/Path/Sources/com.example.target-1/**")).pathString]) + customSources: .init(globs: [ + basePath + .appending(RelativePath("Package/Path/Sources/com.example.target-1/**")).pathString, + ]) ), ] ) @@ -485,11 +495,14 @@ final class PackageInfoMapperTests: TuistUnitTestCase { "Target1", basePath: basePath, customSources: [ - .init(stringLiteral: + .init( + stringLiteral: basePath.appending(RelativePath("Package/Path/Sources/Target1/Subfolder/**")).pathString ), - .init(stringLiteral: - basePath.appending(RelativePath("Package/Path/Sources/Target1/Another/Subfolder/file.swift")).pathString + .init( + stringLiteral: + basePath.appending(RelativePath("Package/Path/Sources/Target1/Another/Subfolder/file.swift")) + .pathString ), ] ), @@ -543,29 +556,52 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .init( Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/**")).pathString), excluding: [ - Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")).pathString), + Path( + basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")) + .pathString + ), ] ), ]), resources: [ .glob( - pattern: Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/Resource/Folder/**")).pathString), + pattern: Path( + basePath.appending(RelativePath("Package/Path/Sources/Target1/Resource/Folder/**")) + .pathString + ), excluding: [ - Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")).pathString), + Path( + basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")) + .pathString + ), ], tags: [] ), .glob( - pattern: Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/Another/Resource/Folder/**")).pathString), + pattern: Path( + basePath + .appending(RelativePath("Package/Path/Sources/Target1/Another/Resource/Folder/**")) + .pathString + ), excluding: [ - Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")).pathString), + Path( + basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")) + .pathString + ), ], tags: [] ), .glob( - pattern: Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/Folder/**")).pathString), + pattern: Path( + basePath + .appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/Folder/**")) + .pathString + ), excluding: [ - Path(basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")).pathString), + Path( + basePath.appending(RelativePath("Package/Path/Sources/Target1/AnotherOne/Resource/**")) + .pathString + ), ], tags: [] ), @@ -885,9 +921,15 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( "Target1", basePath: basePath, - customSources: .init(globs: [basePath.appending(RelativePath("Package/Path/Custom/Path/Sources/Folder/**")).pathString]), + customSources: .init(globs: [ + basePath + .appending(RelativePath("Package/Path/Custom/Path/Sources/Folder/**")).pathString, + ]), resources: [ - .init(stringLiteral: basePath.appending(RelativePath("Package/Path/Custom/Path/Resource/Folder/**")).pathString), + .init( + stringLiteral: basePath.appending(RelativePath("Package/Path/Custom/Path/Resource/Folder/**")) + .pathString + ), ], customSettings: [ "HEADER_SEARCH_PATHS": ["$(SRCROOT)/Custom/Path/Headers"], @@ -995,28 +1037,32 @@ final class PackageInfoMapperTests: TuistUnitTestCase { exitstatus: 0 ) // swiftlint:disable line_length - system.stubs["/usr/bin/xcrun vtool -show-build /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest"] = ( - stderror: nil, - stdout: """ - /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64): - Load command 8 - cmd LC_VERSION_MIN_TVOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64e): - Load command 9 - cmd LC_BUILD_VERSION - cmdsize 32 - platform TVOS - minos 14.0 - sdk 15.0 - ntools 1 - tool LD - version 711.0 - """, - exitstatus: 0 - ) + system + .stubs[ + "/usr/bin/xcrun vtool -show-build /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest" + ] = + ( + stderror: nil, + stdout: """ + /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64): + Load command 8 + cmd LC_VERSION_MIN_TVOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64e): + Load command 9 + cmd LC_BUILD_VERSION + cmdsize 32 + platform TVOS + minos 14.0 + sdk 15.0 + ntools 1 + tool LD + version 711.0 + """, + exitstatus: 0 + ) // swiftlint:enable line_length let basePath = try temporaryPath() let sourcesPath = basePath.appending(RelativePath("Package/Path/Sources/Target1")) @@ -1111,7 +1157,12 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, platform: .iOS, deploymentTarget: .iOS(targetVersion: "13.0", devices: [.iphone, .ipad])), + .test( + "Target1", + basePath: basePath, + platform: .iOS, + deploymentTarget: .iOS(targetVersion: "13.0", devices: [.iphone, .ipad]) + ), ] ) ) @@ -1147,7 +1198,11 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, customSettings: ["HEADER_SEARCH_PATHS": ["$(SRCROOT)/Sources/Target1/value"]]), + .test( + "Target1", + basePath: basePath, + customSettings: ["HEADER_SEARCH_PATHS": ["$(SRCROOT)/Sources/Target1/value"]] + ), ] ) ) @@ -1183,7 +1238,11 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, customSettings: ["HEADER_SEARCH_PATHS": ["$(SRCROOT)/Sources/Target1/value"]]), + .test( + "Target1", + basePath: basePath, + customSettings: ["HEADER_SEARCH_PATHS": ["$(SRCROOT)/Sources/Target1/value"]] + ), ] ) ) @@ -1223,7 +1282,11 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, customSettings: ["GCC_PREPROCESSOR_DEFINITIONS": ["key1=1", "key2=value", "key3="]]), + .test( + "Target1", + basePath: basePath, + customSettings: ["GCC_PREPROCESSOR_DEFINITIONS": ["key1=1", "key2=value", "key3="]] + ), ] ) ) @@ -1262,7 +1325,11 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, customSettings: ["GCC_PREPROCESSOR_DEFINITIONS": ["key1=1", "key2=value"]]), + .test( + "Target1", + basePath: basePath, + customSettings: ["GCC_PREPROCESSOR_DEFINITIONS": ["key1=1", "key2=value"]] + ), ] ) ) @@ -1605,8 +1672,18 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Target1", settings: [ - .init(tool: .c, name: .headerSearchPath, condition: .init(platformNames: ["tvos"], config: nil), value: ["value"]), - .init(tool: .c, name: .headerSearchPath, condition: .init(platformNames: ["ios"], config: nil), value: ["otherValue"]), + .init( + tool: .c, + name: .headerSearchPath, + condition: .init(platformNames: ["tvos"], config: nil), + value: ["value"] + ), + .init( + tool: .c, + name: .headerSearchPath, + condition: .init(platformNames: ["ios"], config: nil), + value: ["otherValue"] + ), ] ), ], @@ -1622,7 +1699,11 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, customSettings: ["HEADER_SEARCH_PATHS": ["$(SRCROOT)/Sources/Target1/otherValue"]]), + .test( + "Target1", + basePath: basePath, + customSettings: ["HEADER_SEARCH_PATHS": ["$(SRCROOT)/Sources/Target1/otherValue"]] + ), ] ) ) @@ -1785,7 +1866,10 @@ final class PackageInfoMapperTests: TuistUnitTestCase { "Target1", basePath: basePath, dependencies: [ - .xcframework(path: Path(basePath.appending(RelativePath("artifacts/Package/Dependency1.xcframework")).pathString)), + .xcframework(path: Path( + basePath.appending(RelativePath("artifacts/Package/Dependency1.xcframework")) + .pathString + )), ] ), ] @@ -1872,7 +1956,10 @@ final class PackageInfoMapperTests: TuistUnitTestCase { "Target1", basePath: basePath, dependencies: [ - .xcframework(path: Path(basePath.appending(RelativePath("artifacts/Package/Dependency1.xcframework")).pathString)), + .xcframework(path: Path( + basePath.appending(RelativePath("artifacts/Package/Dependency1.xcframework")) + .pathString + )), ] ), ] @@ -1914,7 +2001,14 @@ final class PackageInfoMapperTests: TuistUnitTestCase { .test( name: "Package", targets: [ - .test("Target1", basePath: basePath, dependencies: [.xcframework(path: Path(basePath.appending(.init("Package/Dependency1/Dependency1.xcframework")).pathString))]), + .test( + "Target1", + basePath: basePath, + dependencies: [.xcframework(path: Path( + basePath + .appending(.init("Package/Dependency1/Dependency1.xcframework")).pathString + ))] + ), ] ) ) @@ -2341,7 +2435,8 @@ extension ProjectDescription.Target { bundleId: customBundleID ?? name, deploymentTarget: deploymentTarget, infoPlist: .default, - sources: customSources ?? .init(globs: [basePath.appending(RelativePath("Package/Path/Sources/\(name)/**")).pathString]), + sources: customSources ?? + .init(globs: [basePath.appending(RelativePath("Package/Path/Sources/\(name)/**")).pathString]), resources: resources.isEmpty ? nil : ResourceFileElements(resources: resources), headers: headers, dependencies: dependencies, diff --git a/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/SwiftPackageManagerGraphGeneratorTests.swift b/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/SwiftPackageManagerGraphGeneratorTests.swift index 7d5370aa9..d58e2214c 100644 --- a/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/SwiftPackageManagerGraphGeneratorTests.swift +++ b/Tests/TuistDependenciesTests/SwiftPackageManager/Utils/SwiftPackageManagerGraphGeneratorTests.swift @@ -25,40 +25,44 @@ class SwiftPackageManagerGraphGeneratorTests: TuistUnitTestCase { exitstatus: 0 ) // swiftlint:disable line_length - system.stubs["/usr/bin/xcrun vtool -show-build /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest"] = ( - stderror: nil, - stdout: """ - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7): - Load command 8 - cmd LC_VERSION_MIN_IPHONEOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7s): - Load command 8 - cmd LC_VERSION_MIN_IPHONEOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64): - Load command 8 - cmd LC_VERSION_MIN_IPHONEOS - cmdsize 16 - version 9.0 - sdk 15.0 - /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64e): - Load command 9 - cmd LC_BUILD_VERSION - cmdsize 32 - platform IOS - minos 14.0 - sdk 15.0 - ntools 1 - tool LD - version 711.0 - """, - exitstatus: 0 - ) + system + .stubs[ + "/usr/bin/xcrun vtool -show-build /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest" + ] = + ( + stderror: nil, + stdout: """ + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7): + Load command 8 + cmd LC_VERSION_MIN_IPHONEOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture armv7s): + Load command 8 + cmd LC_VERSION_MIN_IPHONEOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64): + Load command 8 + cmd LC_VERSION_MIN_IPHONEOS + cmdsize 16 + version 9.0 + sdk 15.0 + /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework/XCTest (architecture arm64e): + Load command 9 + cmd LC_BUILD_VERSION + cmdsize 32 + platform IOS + minos 14.0 + sdk 15.0 + ntools 1 + tool LD + version 711.0 + """, + exitstatus: 0 + ) // swiftlint:enable line_length subject = SwiftPackageManagerGraphGenerator(swiftPackageManagerController: swiftPackageManagerController) @@ -94,7 +98,8 @@ class SwiftPackageManagerGraphGeneratorTests: TuistUnitTestCase { func test_generate_google_measurement() throws { try fileHandler.createFolder(AbsolutePath("\(spmFolder.pathString)/checkouts/nanopb/Sources/nanopb")) - try fileHandler.createFolder(AbsolutePath("\(spmFolder.pathString)/checkouts/GoogleUtilities/Sources/GULAppDelegateSwizzler")) + try fileHandler + .createFolder(AbsolutePath("\(spmFolder.pathString)/checkouts/GoogleUtilities/Sources/GULAppDelegateSwizzler")) try fileHandler.createFolder(AbsolutePath("\(spmFolder.pathString)/checkouts/GoogleUtilities/Sources/GULNSData")) try fileHandler.createFolder(AbsolutePath("\(spmFolder.pathString)/checkouts/GoogleUtilities/Sources/GULMethodSwizzler")) try fileHandler.createFolder(AbsolutePath("\(spmFolder.pathString)/checkouts/GoogleUtilities/Sources/GULNetwork")) diff --git a/Tests/TuistEnvKitTests/HTTP/HTTPClientTests.swift b/Tests/TuistEnvKitTests/HTTP/HTTPClientTests.swift index 1ac106495..44dbecf97 100644 --- a/Tests/TuistEnvKitTests/HTTP/HTTPClientTests.swift +++ b/Tests/TuistEnvKitTests/HTTP/HTTPClientTests.swift @@ -22,7 +22,10 @@ final class HTTPClientErrorTests: XCTestCase { let url = URL.test() // Then - XCTAssertEqual(HTTPClientError.clientError(url, error).description, "The request to \(url.absoluteString) errored with: \(error.localizedDescription)") + XCTAssertEqual( + HTTPClientError.clientError(url, error).description, + "The request to \(url.absoluteString) errored with: \(error.localizedDescription)" + ) XCTAssertEqual(HTTPClientError.noData(url).description, "The request to \(url.absoluteString) returned no data") } } diff --git a/Tests/TuistEnvKitTests/Services/BundleServiceTests.swift b/Tests/TuistEnvKitTests/Services/BundleServiceTests.swift index 578633f57..81c09e30c 100644 --- a/Tests/TuistEnvKitTests/Services/BundleServiceTests.swift +++ b/Tests/TuistEnvKitTests/Services/BundleServiceTests.swift @@ -13,7 +13,10 @@ final class BundleServiceErrorTests: XCTestCase { func test_description() { let path = AbsolutePath("/test") - XCTAssertEqual(BundleServiceError.missingVersionFile(path).description, "Couldn't find a .tuist-version file in the directory \(path.pathString)") + XCTAssertEqual( + BundleServiceError.missingVersionFile(path).description, + "Couldn't find a .tuist-version file in the directory \(path.pathString)" + ) } } diff --git a/Tests/TuistGeneratorIntegrationTests/Generator/SwiftPackageManagerInteractorTests.swift b/Tests/TuistGeneratorIntegrationTests/Generator/SwiftPackageManagerInteractorTests.swift index dc4410b5e..c01507429 100644 --- a/Tests/TuistGeneratorIntegrationTests/Generator/SwiftPackageManagerInteractorTests.swift +++ b/Tests/TuistGeneratorIntegrationTests/Generator/SwiftPackageManagerInteractorTests.swift @@ -59,7 +59,15 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { func test_generate_usesSystemGitCredentials() throws { // Given let temporaryPath = try self.temporaryPath() - let config = Config(compatibleXcodeVersions: .all, cloud: nil, cache: nil, swiftVersion: nil, plugins: [], generationOptions: [.resolveDependenciesWithSystemScm], path: nil) + let config = Config( + compatibleXcodeVersions: .all, + cloud: nil, + cache: nil, + swiftVersion: nil, + plugins: [], + generationOptions: [.resolveDependenciesWithSystemScm], + path: nil + ) let target = anyTarget(dependencies: [ .package(product: "Example"), @@ -80,7 +88,16 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { let graphTraverser = GraphTraverser(graph: graph) let workspacePath = temporaryPath.appending(component: "\(project.name).xcworkspace") - system.succeedCommand(["xcodebuild", "-resolvePackageDependencies", "-scmProvider", "system", "-workspace", workspacePath.pathString, "-list"]) + system + .succeedCommand([ + "xcodebuild", + "-resolvePackageDependencies", + "-scmProvider", + "system", + "-workspace", + workspacePath.pathString, + "-list", + ]) try createFiles(["\(workspacePath.basename)/xcshareddata/swiftpm/Package.resolved"]) // When @@ -127,7 +144,8 @@ final class SwiftPackageManagerInteractorTests: TuistUnitTestCase { try subject.install(graphTraverser: graphTraverser, workspaceName: workspacePath.basename) // Then - let workspacePackageResolvedPath = temporaryPath.appending(RelativePath("\(workspace.name).xcworkspace/xcshareddata/swiftpm/Package.resolved")) + let workspacePackageResolvedPath = temporaryPath + .appending(RelativePath("\(workspace.name).xcworkspace/xcshareddata/swiftpm/Package.resolved")) XCTAssertEqual( try FileHandler.shared.readTextFile(workspacePackageResolvedPath), "package" diff --git a/Tests/TuistGeneratorTests/Generator/BuildPhaseGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/BuildPhaseGeneratorTests.swift index 3c36d1fea..dad9f9b32 100644 --- a/Tests/TuistGeneratorTests/Generator/BuildPhaseGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/BuildPhaseGeneratorTests.swift @@ -131,7 +131,13 @@ final class BuildPhaseGeneratorTests: TuistUnitTestCase { let target = PBXNativeTarget(name: "Test") let pbxproj = PBXProj() pbxproj.add(object: target) - let targetScript = RawScriptBuildPhase(name: "Test", script: "Script", showEnvVarsInLog: true, hashable: false, shellPath: "/bin/zsh") + let targetScript = RawScriptBuildPhase( + name: "Test", + script: "Script", + showEnvVarsInLog: true, + hashable: false, + shellPath: "/bin/zsh" + ) let targetScripts = [targetScript] // When @@ -551,8 +557,10 @@ final class BuildPhaseGeneratorTests: TuistUnitTestCase { func test_generateResourcesBuildPhase_whenContainsResourcesTags() throws { // Given let temporaryPath = try self.temporaryPath() - let resources: [ResourceFileElement] = [.file(path: "/file.type", tags: ["fileTag"]), - .folderReference(path: "/folder", tags: ["folderTag"])] + let resources: [ResourceFileElement] = [ + .file(path: "/file.type", tags: ["fileTag"]), + .folderReference(path: "/folder", tags: ["folderTag"]), + ] let target = Target.test(resources: resources) let fileElements = ProjectFileElements() let pbxproj = PBXProj() @@ -612,8 +620,10 @@ final class BuildPhaseGeneratorTests: TuistUnitTestCase { let dependencies: [GraphDependency: Set] = [ .target(name: bundle1.name, path: project.path): Set(), .target(name: bundle2.name, path: project.path): Set(), - .target(name: app.name, path: project.path): Set([.target(name: bundle1.name, path: project.path), - .target(name: bundle2.name, path: project.path)]), + .target(name: app.name, path: project.path): Set([ + .target(name: bundle1.name, path: project.path), + .target(name: bundle2.name, path: project.path), + ]), ] let graph = Graph.test( path: path, @@ -788,8 +798,10 @@ final class BuildPhaseGeneratorTests: TuistUnitTestCase { ]) XCTAssertEqual( pbxBuildPhase?.files?.compactMap { $0.settings as? [String: [String]] }, - [["ATTRIBUTES": ["RemoveHeadersOnCopy"]], - ["ATTRIBUTES": ["RemoveHeadersOnCopy"]]] + [ + ["ATTRIBUTES": ["RemoveHeadersOnCopy"]], + ["ATTRIBUTES": ["RemoveHeadersOnCopy"]], + ] ) } @@ -901,7 +913,12 @@ final class BuildPhaseGeneratorTests: TuistUnitTestCase { ), ] ) - let project = Project.test(path: path, sourceRootPath: path, xcodeProjPath: path.appending(component: "Project.xcodeproj"), targets: [target]) + let project = Project.test( + path: path, + sourceRootPath: path, + xcodeProjPath: path.appending(component: "Project.xcodeproj"), + targets: [target] + ) let groups = ProjectGroups.generate( project: project, pbxproj: pbxproj @@ -972,7 +989,12 @@ final class BuildPhaseGeneratorTests: TuistUnitTestCase { ), ] ) - let project = Project.test(path: path, sourceRootPath: path, xcodeProjPath: path.appending(component: "Project.xcodeproj"), targets: [target]) + let project = Project.test( + path: path, + sourceRootPath: path, + xcodeProjPath: path.appending(component: "Project.xcodeproj"), + targets: [target] + ) let groups = ProjectGroups.generate( project: project, pbxproj: pbxproj diff --git a/Tests/TuistGeneratorTests/Generator/ConfigGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/ConfigGeneratorTests.swift index 276a497e7..7e1e0dd0a 100644 --- a/Tests/TuistGeneratorTests/Generator/ConfigGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/ConfigGeneratorTests.swift @@ -605,7 +605,10 @@ final class ConfigGeneratorTests: TuistUnitTestCase { path: project.path, projects: [project.path: project], targets: [project.path: [appTarget.name: appTarget, target.name: target]], - dependencies: [GraphDependency.target(name: target.name, path: project.path): Set([.target(name: appTarget.name, path: project.path)])] + dependencies: [ + GraphDependency + .target(name: target.name, path: project.path): Set([.target(name: appTarget.name, path: project.path)]), + ] ) let graphTraverser = GraphTraverser(graph: graph) diff --git a/Tests/TuistGeneratorTests/Generator/InfoPlistContentProviderTests.swift b/Tests/TuistGeneratorTests/Generator/InfoPlistContentProviderTests.swift index b43a4fd79..4dfeb31f8 100644 --- a/Tests/TuistGeneratorTests/Generator/InfoPlistContentProviderTests.swift +++ b/Tests/TuistGeneratorTests/Generator/InfoPlistContentProviderTests.swift @@ -298,7 +298,13 @@ final class InfoPlistContentProviderTests: XCTestCase { let value = lhs?["CFBundlePackageType"] as? String if let packageType = packageType { - XCTAssertEqual(value, packageType, "Expected package type \(packageType) but got \(value ?? "")", file: file, line: line) + XCTAssertEqual( + value, + packageType, + "Expected package type \(packageType) but got \(value ?? "")", + file: file, + line: line + ) } else { XCTAssertNil(value, "Expected package type to be nil and got \(value ?? "")", file: file, line: line) } diff --git a/Tests/TuistGeneratorTests/Generator/LinkGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/LinkGeneratorTests.swift index d10e6a685..764866ce7 100644 --- a/Tests/TuistGeneratorTests/Generator/LinkGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/LinkGeneratorTests.swift @@ -13,7 +13,10 @@ final class LinkGeneratorPathTests: TuistUnitTestCase { func test_xcodeValue() { let path = AbsolutePath("/my-path") XCTAssertEqual(LinkGeneratorPath.absolutePath(path).xcodeValue(sourceRootPath: .root), "$(SRCROOT)/my-path") - XCTAssertEqual(LinkGeneratorPath.string("$(DEVELOPER_FRAMEWORKS_DIR)").xcodeValue(sourceRootPath: .root), "$(DEVELOPER_FRAMEWORKS_DIR)") + XCTAssertEqual( + LinkGeneratorPath.string("$(DEVELOPER_FRAMEWORKS_DIR)").xcodeValue(sourceRootPath: .root), + "$(DEVELOPER_FRAMEWORKS_DIR)" + ) } } @@ -34,9 +37,18 @@ final class LinkGeneratorTests: XCTestCase { } func test_linkGeneratorError_description() { - XCTAssertEqual(LinkGeneratorError.missingProduct(name: "name").description, "Couldn't find a reference for the product name.") - XCTAssertEqual(LinkGeneratorError.missingReference(path: AbsolutePath("/")).description, "Couldn't find a reference for the file at path /.") - XCTAssertEqual(LinkGeneratorError.missingConfigurationList(targetName: "target").description, "The target target doesn't have a configuration list.") + XCTAssertEqual( + LinkGeneratorError.missingProduct(name: "name").description, + "Couldn't find a reference for the product name." + ) + XCTAssertEqual( + LinkGeneratorError.missingReference(path: AbsolutePath("/")).description, + "Couldn't find a reference for the file at path /." + ) + XCTAssertEqual( + LinkGeneratorError.missingConfigurationList(targetName: "target").description, + "The target target doesn't have a configuration list." + ) } func test_linkGeneratorError_type() { @@ -174,7 +186,10 @@ final class LinkGeneratorTests: XCTestCase { graphTraverser: graphTraverser ) - XCTAssert(embedScriptGenerator.scriptArgs.last?.2 == true, "Expected `includeSymbolsInFileLists == true` for product `\(product)`") + XCTAssert( + embedScriptGenerator.scriptArgs.last?.2 == true, + "Expected `includeSymbolsInFileLists == true` for product `\(product)`" + ) } } @@ -212,7 +227,10 @@ final class LinkGeneratorTests: XCTestCase { graphTraverser: graphTraverser ) - XCTAssert(embedScriptGenerator.scriptArgs.last?.2 == false, "Expected `includeSymbolsInFileLists == false` for product `\(product)`") + XCTAssert( + embedScriptGenerator.scriptArgs.last?.2 == false, + "Expected `includeSymbolsInFileLists == false` for product `\(product)`" + ) } } @@ -699,7 +717,8 @@ final class LinkGeneratorTests: XCTestCase { // Given let path = AbsolutePath("/path/") var dependencies: Set = [] - dependencies.insert(GraphDependencyReference.testProduct(target: "StaticDependency", productName: "libStaticDependency.a")) + dependencies + .insert(GraphDependencyReference.testProduct(target: "StaticDependency", productName: "libStaticDependency.a")) let staticDependency = Target.test(name: "StaticDependency", product: .staticLibrary) let target = Target.test() let graphTraverser = MockGraphTraverser() diff --git a/Tests/TuistGeneratorTests/Generator/Mocks/MockSchemeDescriptorsGenerator.swift b/Tests/TuistGeneratorTests/Generator/Mocks/MockSchemeDescriptorsGenerator.swift index c9af78287..b9af0d222 100644 --- a/Tests/TuistGeneratorTests/Generator/Mocks/MockSchemeDescriptorsGenerator.swift +++ b/Tests/TuistGeneratorTests/Generator/Mocks/MockSchemeDescriptorsGenerator.swift @@ -7,11 +7,17 @@ import TuistGraphTesting @testable import TuistGenerator final class MockSchemeDescriptorsGenerator: SchemeDescriptorsGenerating { - func generateProjectSchemes(project _: Project, generatedProject _: GeneratedProject, graphTraverser _: GraphTraversing) throws -> [SchemeDescriptor] { + func generateProjectSchemes(project _: Project, generatedProject _: GeneratedProject, + graphTraverser _: GraphTraversing) throws -> [SchemeDescriptor] + { [] } - func generateWorkspaceSchemes(workspace _: Workspace, generatedProjects _: [AbsolutePath: GeneratedProject], graphTraverser _: GraphTraversing) throws -> [SchemeDescriptor] { + func generateWorkspaceSchemes( + workspace _: Workspace, + generatedProjects _: [AbsolutePath: GeneratedProject], + graphTraverser _: GraphTraversing + ) throws -> [SchemeDescriptor] { [] } } diff --git a/Tests/TuistGeneratorTests/Generator/Mocks/MockTargetGenerator.swift b/Tests/TuistGeneratorTests/Generator/Mocks/MockTargetGenerator.swift index 1a54e1361..f1290518e 100644 --- a/Tests/TuistGeneratorTests/Generator/Mocks/MockTargetGenerator.swift +++ b/Tests/TuistGeneratorTests/Generator/Mocks/MockTargetGenerator.swift @@ -11,9 +11,23 @@ import XcodeProj class MockTargetGenerator: TargetGenerating { var generateTargetStub: (() -> PBXNativeTarget)? - func generateTarget(target: Target, project _: Project, pbxproj _: PBXProj, pbxProject _: PBXProject, projectSettings _: Settings, fileElements _: ProjectFileElements, path _: AbsolutePath, graphTraverser _: GraphTraversing) throws -> PBXNativeTarget { + func generateTarget( + target: Target, + project _: Project, + pbxproj _: PBXProj, + pbxProject _: PBXProject, + projectSettings _: Settings, + fileElements _: ProjectFileElements, + path _: AbsolutePath, + graphTraverser _: GraphTraversing + ) throws -> PBXNativeTarget { generateTargetStub?() ?? PBXNativeTarget(name: target.name) } - func generateTargetDependencies(path _: AbsolutePath, targets _: [Target], nativeTargets _: [String: PBXNativeTarget], graphTraverser _: GraphTraversing) throws {} + func generateTargetDependencies( + path _: AbsolutePath, + targets _: [Target], + nativeTargets _: [String: PBXNativeTarget], + graphTraverser _: GraphTraversing + ) throws {} } diff --git a/Tests/TuistGeneratorTests/Generator/ProjectDescriptorGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/ProjectDescriptorGeneratorTests.swift index 25c2430a5..2cd89b477 100644 --- a/Tests/TuistGeneratorTests/Generator/ProjectDescriptorGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/ProjectDescriptorGeneratorTests.swift @@ -261,8 +261,10 @@ final class ProjectDescriptorGeneratorTests: TuistUnitTestCase { let path = try temporaryPath() let graph = Graph.test(path: path) let graphTraverser = GraphTraverser(graph: graph) - let resources: [ResourceFileElement] = [.file(path: "/", tags: ["fileTag", "commonTag"]), - .folderReference(path: "/", tags: ["folderTag", "commonTag"])] + let resources: [ResourceFileElement] = [ + .file(path: "/", tags: ["fileTag", "commonTag"]), + .folderReference(path: "/", tags: ["folderTag", "commonTag"]), + ] let project = Project.test( path: path, targets: [.test(resources: resources)] diff --git a/Tests/TuistGeneratorTests/Generator/ProjectFileElementsTests.swift b/Tests/TuistGeneratorTests/Generator/ProjectFileElementsTests.swift index 90289dab3..812a12713 100644 --- a/Tests/TuistGeneratorTests/Generator/ProjectFileElementsTests.swift +++ b/Tests/TuistGeneratorTests/Generator/ProjectFileElementsTests.swift @@ -453,11 +453,16 @@ final class ProjectFileElementsTests: TuistUnitTestCase { func test_generateProduct() throws { // Given let pbxproj = PBXProj() - let project = Project.test(path: .root, sourceRootPath: .root, xcodeProjPath: AbsolutePath.root.appending(component: "Project.xcodeproj"), targets: [ - .test(name: "App", product: .app), - .test(name: "Framework", product: .framework), - .test(name: "Library", product: .staticLibrary), - ]) + let project = Project.test( + path: .root, + sourceRootPath: .root, + xcodeProjPath: AbsolutePath.root.appending(component: "Project.xcodeproj"), + targets: [ + .test(name: "App", product: .app), + .test(name: "Framework", product: .framework), + .test(name: "Library", product: .staticLibrary), + ] + ) let graph = Graph.test() let graphTraverser = GraphTraverser(graph: graph) let groups = ProjectGroups.generate(project: project, pbxproj: pbxproj) @@ -764,7 +769,8 @@ final class ProjectFileElementsTests: TuistUnitTestCase { } func test_closestRelativeElementPath() { - let pathRelativeToSourceRoot = AbsolutePath("/a/framework/framework.framework").relative(to: AbsolutePath("/a/b/c/project")) + let pathRelativeToSourceRoot = AbsolutePath("/a/framework/framework.framework") + .relative(to: AbsolutePath("/a/b/c/project")) let got = subject.closestRelativeElementPath(pathRelativeToSourceRoot: pathRelativeToSourceRoot) XCTAssertEqual(got, RelativePath("../../../framework")) } @@ -773,7 +779,11 @@ final class ProjectFileElementsTests: TuistUnitTestCase { // Given let pbxproj = PBXProj() let sourceRootPath = AbsolutePath("/a/project/") - let project = Project.test(path: sourceRootPath, sourceRootPath: sourceRootPath, xcodeProjPath: sourceRootPath.appending(component: "Project.xcodeproj")) + let project = Project.test( + path: sourceRootPath, + sourceRootPath: sourceRootPath, + xcodeProjPath: sourceRootPath.appending(component: "Project.xcodeproj") + ) let groups = ProjectGroups.generate(project: project, pbxproj: pbxproj) let sdkPath = try temporaryPath().appending(component: "ARKit.framework") @@ -813,7 +823,11 @@ final class ProjectFileElementsTests: TuistUnitTestCase { ) let graphTarget: GraphTarget = .test(path: project.path, target: target, project: project) let groups = ProjectGroups.generate( - project: .test(path: .root, sourceRootPath: .root, xcodeProjPath: AbsolutePath.root.appending(component: "Project.xcodeproj")), + project: .test( + path: .root, + sourceRootPath: .root, + xcodeProjPath: AbsolutePath.root.appending(component: "Project.xcodeproj") + ), pbxproj: pbxproj ) @@ -851,9 +865,9 @@ final class ProjectFileElementsTests: TuistUnitTestCase { } } -private extension PBXGroup { +extension PBXGroup { /// Retuns all the child variant groups (recursively) - var debugVariantGroupPaths: [String] { + fileprivate var debugVariantGroupPaths: [String] { children.flatMap { (element: PBXFileElement) -> [String] in switch element { case let group as PBXVariantGroup: diff --git a/Tests/TuistGeneratorTests/Generator/SchemeDescriptorsGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/SchemeDescriptorsGeneratorTests.swift index 21ec49ef7..183734233 100644 --- a/Tests/TuistGeneratorTests/Generator/SchemeDescriptorsGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/SchemeDescriptorsGeneratorTests.swift @@ -208,9 +208,21 @@ final class SchemeDescriptorsGeneratorTests: XCTestCase { let xcodeProjPath = projectPath.appending(component: "Project.xcodeproj") let target = Target.test(name: "App", product: .app) - let preAction = ExecutionAction(title: "Pre Action", scriptText: "echo Pre Actions", target: TargetReference(projectPath: projectPath, name: "App")) - let postAction = ExecutionAction(title: "Post Action", scriptText: "echo Post Actions", target: TargetReference(projectPath: projectPath, name: "App")) - let buildAction = BuildAction.test(targets: [TargetReference(projectPath: projectPath, name: "App")], preActions: [preAction], postActions: [postAction]) + let preAction = ExecutionAction( + title: "Pre Action", + scriptText: "echo Pre Actions", + target: TargetReference(projectPath: projectPath, name: "App") + ) + let postAction = ExecutionAction( + title: "Post Action", + scriptText: "echo Post Actions", + target: TargetReference(projectPath: projectPath, name: "App") + ) + let buildAction = BuildAction.test( + targets: [TargetReference(projectPath: projectPath, name: "App")], + preActions: [preAction], + postActions: [postAction] + ) let scheme = Scheme.test(name: "App", shared: true, buildAction: buildAction) let project = Project.test( @@ -618,9 +630,23 @@ final class SchemeDescriptorsGeneratorTests: XCTestCase { let projectPath = AbsolutePath("/somepath/Project") let testTarget = Target.test(name: "AppTests", product: .unitTests) - let preAction = ExecutionAction(title: "Pre Action", scriptText: "echo Pre Actions", target: TargetReference(projectPath: projectPath, name: "AppTests")) - let postAction = ExecutionAction(title: "Post Action", scriptText: "echo Post Actions", target: TargetReference(projectPath: projectPath, name: "AppTests")) - let testAction = TestAction.test(targets: [TestableTarget(target: TargetReference(projectPath: projectPath, name: "AppTests"))], preActions: [preAction], postActions: [postAction], language: "es", region: "ES") + let preAction = ExecutionAction( + title: "Pre Action", + scriptText: "echo Pre Actions", + target: TargetReference(projectPath: projectPath, name: "AppTests") + ) + let postAction = ExecutionAction( + title: "Post Action", + scriptText: "echo Post Actions", + target: TargetReference(projectPath: projectPath, name: "AppTests") + ) + let testAction = TestAction.test( + targets: [TestableTarget(target: TargetReference(projectPath: projectPath, name: "AppTests"))], + preActions: [preAction], + postActions: [postAction], + language: "es", + region: "ES" + ) let scheme = Scheme.test(name: "AppTests", shared: true, testAction: testAction) let project = Project.test(path: projectPath, targets: [testTarget]) @@ -752,7 +778,10 @@ final class SchemeDescriptorsGeneratorTests: XCTestCase { XCTAssertEqual(buildableReference.buildableName, "App.app") XCTAssertEqual(buildableReference.blueprintName, "App") XCTAssertEqual(buildableReference.buildableIdentifier, "primary") - XCTAssertEqual(result.storeKitConfigurationFileReference, .init(identifier: "../nested/configuration/configuration.storekit")) + XCTAssertEqual( + result.storeKitConfigurationFileReference, + .init(identifier: "../nested/configuration/configuration.storekit") + ) XCTAssertEqual(result.locationScenarioReference?.referenceType, "1") XCTAssertEqual(result.locationScenarioReference?.identifier, "New York, NY, USA") XCTAssertEqual(result.language, "pl") @@ -958,9 +987,16 @@ final class SchemeDescriptorsGeneratorTests: XCTestCase { let target = Target.test(name: "Library", platform: .iOS, product: .dynamicLibrary) let buildAction = BuildAction.test(targets: [TargetReference(projectPath: projectPath, name: "Library")]) - let testAction = TestAction.test(targets: [TestableTarget(target: TargetReference(projectPath: projectPath, name: "Library"))]) + let testAction = TestAction + .test(targets: [TestableTarget(target: TargetReference(projectPath: projectPath, name: "Library"))]) let profileAction = ProfileAction.test(configurationName: "Beta Release", executable: nil) - let scheme = Scheme.test(name: "Library", buildAction: buildAction, testAction: testAction, runAction: nil, profileAction: profileAction) + let scheme = Scheme.test( + name: "Library", + buildAction: buildAction, + testAction: testAction, + runAction: nil, + profileAction: profileAction + ) let project = Project.test( path: projectPath, @@ -1056,7 +1092,10 @@ final class SchemeDescriptorsGeneratorTests: XCTestCase { XCTAssertEqual(result.ignoresPersistentStateOnLaunch, false) XCTAssertEqual(result.useCustomWorkingDirectory, false) XCTAssertEqual(result.debugDocumentVersioning, true) - XCTAssertEqual(result.commandlineArguments, XCScheme.CommandLineArguments(arguments: [.init(name: "something", enabled: true)])) + XCTAssertEqual( + result.commandlineArguments, + XCScheme.CommandLineArguments(arguments: [.init(name: "something", enabled: true)]) + ) XCTAssertEqual(result.environmentVariables, []) XCTAssertEqual(result.enableTestabilityWhenProfilingTests, true) } @@ -1441,7 +1480,11 @@ final class SchemeDescriptorsGeneratorTests: XCTestCase { let buildAction = BuildAction.test(targets: [appTargetReference]) let testAction = TestAction.test(targets: [TestableTarget(target: appTargetReference)]) let runAction = RunAction.test(configurationName: "Release", executable: appTargetReference, arguments: nil) - let profileAction = ProfileAction.test(configurationName: "Beta Release", executable: appTargetReference, arguments: launchArguments) + let profileAction = ProfileAction.test( + configurationName: "Beta Release", + executable: appTargetReference, + arguments: launchArguments + ) return Scheme.test( name: "App", buildAction: buildAction, diff --git a/Tests/TuistGeneratorTests/Generator/TargetGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/TargetGeneratorTests.swift index 6bf86cd9c..9fae0fa24 100644 --- a/Tests/TuistGeneratorTests/Generator/TargetGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/TargetGeneratorTests.swift @@ -165,7 +165,12 @@ final class TargetGeneratorTests: XCTestCase { ), ] ) - let project = Project.test(path: path, sourceRootPath: path, xcodeProjPath: path.appending(component: "Project.xcodeproj"), targets: [target]) + let project = Project.test( + path: path, + sourceRootPath: path, + xcodeProjPath: path.appending(component: "Project.xcodeproj"), + targets: [target] + ) let groups = ProjectGroups.generate( project: project, pbxproj: pbxproj diff --git a/Tests/TuistGeneratorTests/Generator/WorkspaceStructureGeneratorTests.swift b/Tests/TuistGeneratorTests/Generator/WorkspaceStructureGeneratorTests.swift index e961fa101..84c10092f 100644 --- a/Tests/TuistGeneratorTests/Generator/WorkspaceStructureGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Generator/WorkspaceStructureGeneratorTests.swift @@ -352,7 +352,9 @@ final class WorkspaceStructureGeneratorTests: XCTestCase { try closure(currentPath) } - func inTemporaryDirectory(removeOnCompletion _: Bool, _ closure: (AbsolutePath) throws -> Result) throws -> Result { + func inTemporaryDirectory(removeOnCompletion _: Bool, + _ closure: (AbsolutePath) throws -> Result) throws -> Result + { try closure(currentPath) } diff --git a/Tests/TuistGeneratorTests/GraphViz/GraphToGraphVizMapperTests.swift b/Tests/TuistGeneratorTests/GraphViz/GraphToGraphVizMapperTests.swift index 5828cc491..c7b0ed1b3 100644 --- a/Tests/TuistGeneratorTests/GraphViz/GraphToGraphVizMapperTests.swift +++ b/Tests/TuistGeneratorTests/GraphViz/GraphToGraphVizMapperTests.swift @@ -78,7 +78,12 @@ final class GraphToGraphVizMapperTests: XCTestCase { expected.append(GraphViz.Edge(from: tuist, to: core)) // When - let got = subject.map(graph: graph, skipTestTargets: false, skipExternalDependencies: true, targetsToFilter: ["Tuist iOS"]) + let got = subject.map( + graph: graph, + skipTestTargets: false, + skipExternalDependencies: true, + targetsToFilter: ["Tuist iOS"] + ) // Then let gotNodeIds = got.nodes.map(\.id).sorted() diff --git a/Tests/TuistGeneratorTests/Linter/EnvironmentLinterTests.swift b/Tests/TuistGeneratorTests/Linter/EnvironmentLinterTests.swift index 88de33eee..4a113b910 100644 --- a/Tests/TuistGeneratorTests/Linter/EnvironmentLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/EnvironmentLinterTests.swift @@ -35,7 +35,8 @@ final class EnvironmentLinterTests: TuistUnitTestCase { let got = try subject.lintXcodeVersion(config: config) // Then - let expectedMessage = "The project, which only supports the versions of Xcode 3.2.1, is not compatible with your selected version of Xcode, 4.3.2" + let expectedMessage = + "The project, which only supports the versions of Xcode 3.2.1, is not compatible with your selected version of Xcode, 4.3.2" XCTAssertTrue(got.contains(LintingIssue(reason: expectedMessage, severity: .error))) } diff --git a/Tests/TuistGeneratorTests/Linter/GraphLinterTests.swift b/Tests/TuistGeneratorTests/Linter/GraphLinterTests.swift index cd8699a33..6828711b7 100644 --- a/Tests/TuistGeneratorTests/Linter/GraphLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/GraphLinterTests.swift @@ -46,7 +46,10 @@ final class GraphLinterTests: TuistUnitTestCase { let result = subject.lint(graphTraverser: graphTraverser) // Then - XCTAssertTrue(result.contains(LintingIssue(reason: "Framework not found at path \(frameworkBPath.pathString)", severity: .error))) + XCTAssertTrue( + result + .contains(LintingIssue(reason: "Framework not found at path \(frameworkBPath.pathString)", severity: .error)) + ) } func test_lint_when_packages_and_xcode_10() throws { @@ -62,7 +65,8 @@ final class GraphLinterTests: TuistUnitTestCase { let result = subject.lint(graphTraverser: graphTraverser) // Then - let reason = "The project contains package dependencies but the selected version of Xcode is not compatible. Need at least 11 but got \(versionStub)" + let reason = + "The project contains package dependencies but the selected version of Xcode is not compatible. Need at least 11 but got \(versionStub)" XCTAssertTrue(result.contains(LintingIssue(reason: reason, severity: .error))) } @@ -79,7 +83,8 @@ final class GraphLinterTests: TuistUnitTestCase { let result = subject.lint(graphTraverser: graphTraverser) // Then - let reason = "The project contains package dependencies but the selected version of Xcode is not compatible. Need at least 11 but got \(versionStub)" + let reason = + "The project contains package dependencies but the selected version of Xcode is not compatible. Need at least 11 but got \(versionStub)" XCTAssertFalse(result.contains(LintingIssue(reason: reason, severity: .error))) } @@ -115,9 +120,11 @@ final class GraphLinterTests: TuistUnitTestCase { ) let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: path): Set([.target(name: staticFrameworkA.name, path: path), - .target(name: staticFrameworkB.name, path: path), - .target(name: staticLibrary.name, path: path)]), + .target(name: app.name, path: path): Set([ + .target(name: staticFrameworkA.name, path: path), + .target(name: staticFrameworkB.name, path: path), + .target(name: staticLibrary.name, path: path), + ]), .target(name: staticFrameworkA.name, path: path): Set([.target(name: staticFrameworkB.name, path: path)]), .target(name: staticFrameworkB.name, path: path): Set([.target(name: staticLibrary.name, path: path)]), .target(name: staticLibrary.name, path: path): Set([]), @@ -126,10 +133,12 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [appTarget.name: appTarget, - staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB, - staticLibrary.name: staticLibrary]], + targets: [path: [ + appTarget.name: appTarget, + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + staticLibrary.name: staticLibrary, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -157,9 +166,11 @@ final class GraphLinterTests: TuistUnitTestCase { ) let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: path): Set([.target(name: staticLibraryA.name, path: path), - .target(name: staticLibraryB.name, path: path), - .target(name: staticFramework.name, path: path)]), + .target(name: app.name, path: path): Set([ + .target(name: staticLibraryA.name, path: path), + .target(name: staticLibraryB.name, path: path), + .target(name: staticFramework.name, path: path), + ]), .target(name: staticLibraryA.name, path: path): Set([.target(name: staticLibraryB.name, path: path)]), .target(name: staticLibraryB.name, path: path): Set([.target(name: staticFramework.name, path: path)]), .target(name: staticFramework.name, path: path): Set([]), @@ -168,10 +179,12 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [appTarget.name: appTarget, - staticLibraryA.name: staticLibraryA, - staticLibraryB.name: staticLibraryB, - staticFramework.name: staticFramework]], + targets: [path: [ + appTarget.name: appTarget, + staticLibraryA.name: staticLibraryA, + staticLibraryB.name: staticLibraryB, + staticFramework.name: staticFramework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -198,8 +211,10 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [bundle.name: bundle, - framework.name: framework]], + targets: [path: [ + bundle.name: bundle, + framework.name: framework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -226,8 +241,10 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [bundle.name: bundle, - application.name: application]], + targets: [path: [ + bundle.name: bundle, + application.name: application, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -256,9 +273,11 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [bundle.name: bundle, - unitTests.name: unitTests, - uiTests.name: uiTests]], + targets: [path: [ + bundle.name: bundle, + unitTests.name: unitTests, + uiTests.name: uiTests, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -287,9 +306,11 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [staticFramework.name: staticFramework, - staticLibrary.name: staticLibrary, - dynamicFramework.name: dynamicFramework]], + targets: [path: [ + staticFramework.name: staticFramework, + staticLibrary.name: staticLibrary, + dynamicFramework.name: dynamicFramework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -310,7 +331,13 @@ final class GraphLinterTests: TuistUnitTestCase { let project = Project.empty(path: path) let dependencies: [GraphDependency: Set] = [ - .target(name: macStaticFramework.name, path: path): Set([.target(name: iosStaticFramework.name, path: path), .target(name: iosStaticLibrary.name, path: path)]), + .target( + name: macStaticFramework.name, + path: path + ): Set([ + .target(name: iosStaticFramework.name, path: path), + .target(name: iosStaticLibrary.name, path: path), + ]), .target(name: iosStaticFramework.name, path: path): Set([]), .target(name: iosStaticLibrary.name, path: path): Set([]), ] @@ -318,9 +345,11 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [macStaticFramework.name: macStaticFramework, - iosStaticFramework.name: iosStaticFramework, - iosStaticLibrary.name: iosStaticLibrary]], + targets: [path: [ + macStaticFramework.name: macStaticFramework, + iosStaticFramework.name: iosStaticFramework, + iosStaticLibrary.name: iosStaticLibrary, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -347,8 +376,10 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [watchExtension.name: watchExtension, - watchApp.name: watchApp]], + targets: [path: [ + watchExtension.name: watchExtension, + watchApp.name: watchApp, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -375,8 +406,10 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [invalidDependency.name: invalidDependency, - watchApp.name: watchApp]], + targets: [path: [ + invalidDependency.name: invalidDependency, + watchApp.name: watchApp, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -399,11 +432,19 @@ final class GraphLinterTests: TuistUnitTestCase { ] let targetA = Target.empty(name: "TargetA", product: .framework) let projectAPath: AbsolutePath = "/path/to/a" - let projectA = Project.empty(path: projectAPath, name: "ProjectA", settings: Settings(configurations: customConfigurations)) + let projectA = Project.empty( + path: projectAPath, + name: "ProjectA", + settings: Settings(configurations: customConfigurations) + ) let targetB = Target.empty(name: "TargetB", product: .framework) let projectBPath: AbsolutePath = "/path/to/b" - let projectB = Project.empty(path: projectBPath, name: "ProjectB", settings: Settings(configurations: customConfigurations)) + let projectB = Project.empty( + path: projectBPath, + name: "ProjectB", + settings: Settings(configurations: customConfigurations) + ) let targetC = Target.empty(name: "TargetC", product: .framework) let projectCPath: AbsolutePath = "/path/to/c" @@ -417,12 +458,16 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, workspace: Workspace.test(projects: [projectAPath, projectBPath, projectCPath]), - projects: [projectAPath: projectA, - projectBPath: projectB, - projectCPath: projectC], - targets: [projectAPath: [targetA.name: targetA], - projectBPath: [targetB.name: targetB], - projectCPath: [targetC.name: targetC]], + projects: [ + projectAPath: projectA, + projectBPath: projectB, + projectCPath: projectC, + ], + targets: [ + projectAPath: [targetA.name: targetA], + projectBPath: [targetB.name: targetB], + projectCPath: [targetC.name: targetC], + ], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -450,11 +495,19 @@ final class GraphLinterTests: TuistUnitTestCase { ] let targetA = Target.empty(name: "TargetA", product: .framework) let projectAPath: AbsolutePath = "/path/to/a" - let projectA = Project.empty(path: projectAPath, name: "ProjectA", settings: Settings(configurations: customConfigurations)) + let projectA = Project.empty( + path: projectAPath, + name: "ProjectA", + settings: Settings(configurations: customConfigurations) + ) let targetB = Target.empty(name: "TargetB", product: .framework) let projectBPath: AbsolutePath = "/path/to/b" - let projectB = Project.empty(path: projectBPath, name: "ProjectB", settings: Settings(configurations: customConfigurations)) + let projectB = Project.empty( + path: projectBPath, + name: "ProjectB", + settings: Settings(configurations: customConfigurations) + ) let mismatchingConfigurations: [BuildConfiguration: Configuration?] = [ .release("Debug"): nil, @@ -464,7 +517,11 @@ final class GraphLinterTests: TuistUnitTestCase { ] let targetC = Target.empty(name: "TargetC", product: .framework) let projectCPath: AbsolutePath = "/path/to/c" - let projectC = Project.empty(path: projectCPath, name: "ProjectC", settings: Settings(configurations: mismatchingConfigurations)) + let projectC = Project.empty( + path: projectCPath, + name: "ProjectC", + settings: Settings(configurations: mismatchingConfigurations) + ) let dependencies: [GraphDependency: Set] = [ .target(name: targetA.name, path: projectAPath): Set([.target(name: targetB.name, path: projectBPath)]), @@ -475,12 +532,16 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, workspace: Workspace.test(projects: [projectAPath]), - projects: [projectAPath: projectA, - projectBPath: projectB, - projectCPath: projectC], - targets: [projectAPath: [targetA.name: targetA], - projectBPath: [targetB.name: targetB], - projectCPath: [targetC.name: targetC]], + projects: [ + projectAPath: projectA, + projectBPath: projectB, + projectCPath: projectC, + ], + targets: [ + projectAPath: [targetA.name: targetA], + projectBPath: [targetB.name: targetB], + projectCPath: [targetC.name: targetC], + ], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -510,11 +571,19 @@ final class GraphLinterTests: TuistUnitTestCase { ] let targetA = Target.empty(name: "TargetA", product: .framework) let projectAPath: AbsolutePath = "/path/to/a" - let projectA = Project.empty(path: projectAPath, name: "ProjectA", settings: Settings(configurations: customConfigurations)) + let projectA = Project.empty( + path: projectAPath, + name: "ProjectA", + settings: Settings(configurations: customConfigurations) + ) let targetB = Target.empty(name: "TargetB", product: .framework) let projectBPath: AbsolutePath = "/path/to/b" - let projectB = Project.empty(path: projectBPath, name: "ProjectB", settings: Settings(configurations: customConfigurations)) + let projectB = Project.empty( + path: projectBPath, + name: "ProjectB", + settings: Settings(configurations: customConfigurations) + ) let additionalConfigurations: [BuildConfiguration: Configuration?] = [ .debug("Debug"): nil, @@ -524,7 +593,11 @@ final class GraphLinterTests: TuistUnitTestCase { ] let targetC = Target.empty(name: "TargetC", product: .framework) let projectCPath: AbsolutePath = "/path/to/c" - let projectC = Project.empty(path: projectCPath, name: "ProjectC", settings: Settings(configurations: additionalConfigurations)) + let projectC = Project.empty( + path: projectCPath, + name: "ProjectC", + settings: Settings(configurations: additionalConfigurations) + ) let dependencies: [GraphDependency: Set] = [ .target(name: targetA.name, path: projectAPath): Set([.target(name: targetB.name, path: projectBPath)]), @@ -535,12 +608,16 @@ final class GraphLinterTests: TuistUnitTestCase { let graph = Graph.test( path: path, workspace: Workspace.test(projects: [projectAPath, projectBPath]), - projects: [projectAPath: projectA, - projectBPath: projectB, - projectCPath: projectC], - targets: [projectAPath: [targetA.name: targetA], - projectBPath: [targetB.name: targetB], - projectCPath: [targetC.name: targetC]], + projects: [ + projectAPath: projectA, + projectBPath: projectB, + projectCPath: projectC, + ], + targets: [ + projectAPath: [targetA.name: targetA], + projectBPath: [targetB.name: targetB], + projectCPath: [targetC.name: targetC], + ], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -862,7 +939,13 @@ final class GraphLinterTests: TuistUnitTestCase { let project = Project.test(path: temporaryPath, targets: [app, appClip1, appClip2]) let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: temporaryPath): Set([.target(name: appClip1.name, path: temporaryPath), .target(name: appClip2.name, path: temporaryPath)]), + .target( + name: app.name, + path: temporaryPath + ): Set([ + .target(name: appClip1.name, path: temporaryPath), + .target(name: appClip2.name, path: temporaryPath), + ]), .target(name: appClip1.name, path: temporaryPath): Set([]), .target(name: appClip2.name, path: temporaryPath): Set([]), ] @@ -1040,7 +1123,10 @@ final class GraphLinterTests: TuistUnitTestCase { let project = Project.test(path: path, targets: [tool, staticLib, staticFmwk]) let dependencies: [GraphDependency: Set] = [ - .target(name: tool.name, path: path): Set([.target(name: staticLib.name, path: path), .target(name: staticFmwk.name, path: path)]), + .target( + name: tool.name, + path: path + ): Set([.target(name: staticLib.name, path: path), .target(name: staticFmwk.name, path: path)]), .target(name: staticLib.name, path: path): Set([]), .target(name: staticFmwk.name, path: path): Set([]), ] @@ -1076,8 +1162,10 @@ final class GraphLinterTests: TuistUnitTestCase { ) let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: path): Set([.target(name: frameworkA.name, path: frameworks1.path), - .target(name: frameworkB.name, path: frameworks1.path)]), + .target(name: app.name, path: path): Set([ + .target(name: frameworkA.name, path: frameworks1.path), + .target(name: frameworkB.name, path: frameworks1.path), + ]), ] let project = Project.test(path: path, targets: [appTarget, frameworkA, frameworkB]) @@ -1086,8 +1174,10 @@ final class GraphLinterTests: TuistUnitTestCase { path: path, workspace: Workspace.test(projects: [path]), projects: [path: project], - targets: [path: [appTarget.name: appTarget], - frameworks1.path: [frameworkA.name: frameworkA, frameworkB.name: frameworkB]], + targets: [ + path: [appTarget.name: appTarget], + frameworks1.path: [frameworkA.name: frameworkA, frameworkB.name: frameworkB], + ], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -1128,24 +1218,31 @@ final class GraphLinterTests: TuistUnitTestCase { ) let dependencies: [GraphDependency: Set] = [ - .target(name: app.name, path: path): Set([.target(name: frameworkA.name, path: frameworks1.path), - .target(name: frameworkB.name, path: frameworks1.path), - .target(name: frameworkC.name, path: frameworks2.path), - .target(name: frameworkD.name, path: frameworks2.path), - .target(name: frameworkE.name, path: frameworks3.path), - .target(name: frameworkF.name, path: frameworks3.path)]), + .target(name: app.name, path: path): Set([ + .target(name: frameworkA.name, path: frameworks1.path), + .target(name: frameworkB.name, path: frameworks1.path), + .target(name: frameworkC.name, path: frameworks2.path), + .target(name: frameworkD.name, path: frameworks2.path), + .target(name: frameworkE.name, path: frameworks3.path), + .target(name: frameworkF.name, path: frameworks3.path), + ]), ] - let project = Project.test(path: path, targets: [appTarget, frameworkA, frameworkB, frameworkC, frameworkD, frameworkE, frameworkF]) + let project = Project.test( + path: path, + targets: [appTarget, frameworkA, frameworkB, frameworkC, frameworkD, frameworkE, frameworkF] + ) let graph = Graph.test( path: path, workspace: Workspace.test(projects: [path]), projects: [path: project], - targets: [path: [appTarget.name: appTarget], - frameworks1.path: [frameworkA.name: frameworkA, frameworkB.name: frameworkB], - frameworks2.path: [frameworkC.name: frameworkC, frameworkD.name: frameworkD], - frameworks3.path: [frameworkE.name: frameworkE, frameworkF.name: frameworkF]], + targets: [ + path: [appTarget.name: appTarget], + frameworks1.path: [frameworkA.name: frameworkA, frameworkB.name: frameworkB], + frameworks2.path: [frameworkC.name: frameworkC, frameworkD.name: frameworkD], + frameworks3.path: [frameworkE.name: frameworkE, frameworkF.name: frameworkF], + ], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -1155,8 +1252,14 @@ final class GraphLinterTests: TuistUnitTestCase { // Then XCTAssertEqual(got, [ - LintingIssue(reason: "The bundle identifier 'com.tuist.frameworks.test' is being used by multiple targets: frameworkA, frameworkB, and frameworkF.", severity: .warning), - LintingIssue(reason: "The bundle identifier 'com.tuist.frameworks.test2' is being used by multiple targets: frameworkC and frameworkE.", severity: .warning), + LintingIssue( + reason: "The bundle identifier 'com.tuist.frameworks.test' is being used by multiple targets: frameworkA, frameworkB, and frameworkF.", + severity: .warning + ), + LintingIssue( + reason: "The bundle identifier 'com.tuist.frameworks.test2' is being used by multiple targets: frameworkC and frameworkE.", + severity: .warning + ), ]) } diff --git a/Tests/TuistGeneratorTests/Linter/PackageLinterTests.swift b/Tests/TuistGeneratorTests/Linter/PackageLinterTests.swift index 99efa536d..7b3c98c7d 100644 --- a/Tests/TuistGeneratorTests/Linter/PackageLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/PackageLinterTests.swift @@ -37,7 +37,10 @@ final class PackageLinterTests: TuistUnitTestCase { let got = subject.lint(package) - XCTContainsLintingIssue(got, LintingIssue(reason: "Package with remote URL (\(url)) does not have a valid URL.", severity: .error)) + XCTContainsLintingIssue( + got, + LintingIssue(reason: "Package with remote URL (\(url)) does not have a valid URL.", severity: .error) + ) } func test_lint_when_a_local_path_exists() { diff --git a/Tests/TuistGeneratorTests/Linter/ProjectLinterTests.swift b/Tests/TuistGeneratorTests/Linter/ProjectLinterTests.swift index 533a37772..0c61d46b0 100644 --- a/Tests/TuistGeneratorTests/Linter/ProjectLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/ProjectLinterTests.swift @@ -43,14 +43,24 @@ final class ProjectLinterTests: XCTestCase { let target = Target.test(name: "A") let project = Project.test(targets: [target, target]) let got = subject.lint(project) - XCTAssertTrue(got.contains(LintingIssue(reason: "Targets A from project at \(project.path.pathString) have duplicates.", severity: .error))) + XCTAssertTrue( + got + .contains(LintingIssue( + reason: "Targets A from project at \(project.path.pathString) have duplicates.", + severity: .error + )) + ) } func test_lint_valid_watchTargetBundleIdentifiers() throws { // Given let app = Target.test(name: "App", product: .app, bundleId: "app") let watchApp = Target.test(name: "WatchApp", product: .watch2App, bundleId: "app.watchapp") - let watchExtension = Target.test(name: "WatchExtension", product: .watch2Extension, bundleId: "app.watchapp.watchextension") + let watchExtension = Target.test( + name: "WatchExtension", + product: .watch2Extension, + bundleId: "app.watchapp.watchextension" + ) let project = Project.test(targets: [app, watchApp, watchExtension]) // When diff --git a/Tests/TuistGeneratorTests/Linter/SchemeLinterTests.swift b/Tests/TuistGeneratorTests/Linter/SchemeLinterTests.swift index 1005402ea..5ad7f7ced 100644 --- a/Tests/TuistGeneratorTests/Linter/SchemeLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/SchemeLinterTests.swift @@ -39,8 +39,14 @@ class SchemeLinterTests: TuistTestCase { // Then XCTAssertEqual(got.first?.severity, .error) XCTAssertEqual(got.last?.severity, .error) - XCTAssertEqual(got.first?.reason, "The build configuration 'CustomDebug' specified in the scheme's run action isn't defined in the project.") - XCTAssertEqual(got.last?.reason, "The build configuration 'Alpha' specified in the scheme's test action isn't defined in the project.") + XCTAssertEqual( + got.first?.reason, + "The build configuration 'CustomDebug' specified in the scheme's run action isn't defined in the project." + ) + XCTAssertEqual( + got.last?.reason, + "The build configuration 'Alpha' specified in the scheme's test action isn't defined in the project." + ) } func test_lint_referenceLocalTarget() { @@ -75,7 +81,10 @@ class SchemeLinterTests: TuistTestCase { // Then XCTAssertEqual(got.first?.severity, .error) - XCTAssertEqual(got.first?.reason, "The target 'Framework' specified in scheme 'SchemeWithTargetThatDoesNotExist' is not defined in the project named 'Project'. Consider using a workspace scheme instead to reference a target in another project.") + XCTAssertEqual( + got.first?.reason, + "The target 'Framework' specified in scheme 'SchemeWithTargetThatDoesNotExist' is not defined in the project named 'Project'. Consider using a workspace scheme instead to reference a target in another project." + ) } func test_lint_referenceRemoteTargetTestAction() { @@ -110,7 +119,10 @@ class SchemeLinterTests: TuistTestCase { // Then XCTAssertEqual(got.first?.severity, .error) - XCTAssertEqual(got.first?.reason, "The target 'Framework' specified in scheme 'SchemeWithTargetThatDoesNotExist' is not defined in the project named 'Project'. Consider using a workspace scheme instead to reference a target in another project.") + XCTAssertEqual( + got.first?.reason, + "The target 'Framework' specified in scheme 'SchemeWithTargetThatDoesNotExist' is not defined in the project named 'Project'. Consider using a workspace scheme instead to reference a target in another project." + ) } func test_lint_referenceRemoteTargetExecutionAction() { @@ -135,7 +147,10 @@ class SchemeLinterTests: TuistTestCase { // Then XCTAssertEqual(got.first?.severity, .error) - XCTAssertEqual(got.first?.reason, "The target 'Target2' specified in scheme 'SchemeWithTargetThatDoesNotExist' is not defined in the project named 'Project'. Consider using a workspace scheme instead to reference a target in another project.") + XCTAssertEqual( + got.first?.reason, + "The target 'Target2' specified in scheme 'SchemeWithTargetThatDoesNotExist' is not defined in the project named 'Project'. Consider using a workspace scheme instead to reference a target in another project." + ) } func test_lint_missingStoreKitConfiguration() { @@ -160,7 +175,10 @@ class SchemeLinterTests: TuistTestCase { // Then XCTAssertEqual(got.first?.severity, .error) - XCTAssertEqual(got.first?.reason, "StoreKit configuration file not found at path /non/existing/path/configuration.storekit") + XCTAssertEqual( + got.first?.reason, + "StoreKit configuration file not found at path /non/existing/path/configuration.storekit" + ) } func test_lint_existingStoreKitConfiguration() { diff --git a/Tests/TuistGeneratorTests/Linter/SettingsLinterTests.swift b/Tests/TuistGeneratorTests/Linter/SettingsLinterTests.swift index 846eccae0..84de2dd16 100644 --- a/Tests/TuistGeneratorTests/Linter/SettingsLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/SettingsLinterTests.swift @@ -36,8 +36,16 @@ final class SettingsLinterTests: TuistUnitTestCase { let got = subject.lint(project: project) // Then - XCTAssertEqual(got, [LintingIssue(reason: "Configuration file not found at path \(debugPath.pathString)", severity: .error), - LintingIssue(reason: "Configuration file not found at path \(releasePath.pathString)", severity: .error)]) + XCTAssertEqual( + got, + [ + LintingIssue(reason: "Configuration file not found at path \(debugPath.pathString)", severity: .error), + LintingIssue( + reason: "Configuration file not found at path \(releasePath.pathString)", + severity: .error + ), + ] + ) } func test_lint_target_when_config_files_are_missing() throws { @@ -55,8 +63,16 @@ final class SettingsLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) // Then - XCTAssertEqual(got, [LintingIssue(reason: "Configuration file not found at path \(debugPath.pathString)", severity: .error), - LintingIssue(reason: "Configuration file not found at path \(releasePath.pathString)", severity: .error)]) + XCTAssertEqual( + got, + [ + LintingIssue(reason: "Configuration file not found at path \(debugPath.pathString)", severity: .error), + LintingIssue( + reason: "Configuration file not found at path \(releasePath.pathString)", + severity: .error + ), + ] + ) } func test_lint_project_when_no_configurations() { @@ -102,6 +118,12 @@ final class SettingsLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) // Then - XCTAssertEqual(got, [LintingIssue(reason: "Found an inconsistency between a platform `iOS` and deployment target `macOS`", severity: .error)]) + XCTAssertEqual( + got, + [LintingIssue( + reason: "Found an inconsistency between a platform `iOS` and deployment target `macOS`", + severity: .error + )] + ) } } diff --git a/Tests/TuistGeneratorTests/Linter/StaticProductsGraphLinterTests.swift b/Tests/TuistGeneratorTests/Linter/StaticProductsGraphLinterTests.swift index c2f6ea80b..3aca82020 100644 --- a/Tests/TuistGeneratorTests/Linter/StaticProductsGraphLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/StaticProductsGraphLinterTests.swift @@ -40,8 +40,10 @@ class StaticProductsGraphLinterTests: XCTestCase { path: path, projects: [path: project], packages: [path: ["Package": package]], - targets: [path: [app.name: app, - framework.name: framework]], + targets: [path: [ + app.name: app, + framework.name: framework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -63,7 +65,11 @@ class StaticProductsGraphLinterTests: XCTestCase { let project = Project.test(targets: [app, framework]) let appDependency = GraphDependency.target(name: app.name, path: path) let frameworkDependency = GraphDependency.target(name: framework.name, path: path) - let libraryDependency = GraphDependency.testLibrary(path: "/path/to/library", publicHeaders: "/path/to/library/include", linking: .static) + let libraryDependency = GraphDependency.testLibrary( + path: "/path/to/library", + publicHeaders: "/path/to/library/include", + linking: .static + ) let dependencies: [GraphDependency: Set] = [ appDependency: Set([frameworkDependency, libraryDependency]), @@ -73,8 +79,10 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - framework.name: framework]], + targets: [path: [ + app.name: app, + framework.name: framework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -108,9 +116,11 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - framework.name: framework, - staticFramework.name: staticFramework]], + targets: [path: [ + app.name: app, + framework.name: framework, + staticFramework.name: staticFramework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -134,7 +144,8 @@ class StaticProductsGraphLinterTests: XCTestCase { let frameworkA = Target.test(name: "FrameworkA", product: .framework) let frameworkB = Target.test(name: "FrameworkB", product: .framework) let frameworkC = Target.test(name: "FrameworkC", product: .framework) - let project = Project.test(targets: [app, staticFrameworkA, staticFrameworkB, staticFrameworkC, frameworkA, frameworkB, frameworkC]) + let project = Project + .test(targets: [app, staticFrameworkA, staticFrameworkB, staticFrameworkC, frameworkA, frameworkB, frameworkC]) let appDependency = GraphDependency.target(name: app.name, path: path) let staticFrameworkAdependency = GraphDependency.target(name: staticFrameworkA.name, path: path) @@ -156,13 +167,15 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB, - staticFrameworkC.name: staticFrameworkC, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - frameworkC.name: frameworkC]], + targets: [path: [ + app.name: app, + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + staticFrameworkC.name: staticFrameworkC, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + frameworkC.name: frameworkC, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -186,7 +199,8 @@ class StaticProductsGraphLinterTests: XCTestCase { let frameworkA = Target.test(name: "FrameworkA", product: .framework) let frameworkB = Target.test(name: "FrameworkB", product: .framework) let frameworkC = Target.test(name: "FrameworkC", product: .framework) - let project = Project.test(targets: [app, staticFrameworkA, staticFrameworkB, staticFrameworkC, frameworkA, frameworkB, frameworkC]) + let project = Project + .test(targets: [app, staticFrameworkA, staticFrameworkB, staticFrameworkC, frameworkA, frameworkB, frameworkC]) let appDependency = GraphDependency.target(name: app.name, path: path) let staticFrameworkAdependency = GraphDependency.target(name: staticFrameworkA.name, path: path) @@ -208,13 +222,15 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB, - staticFrameworkC.name: staticFrameworkC, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - frameworkC.name: frameworkC]], + targets: [path: [ + app.name: app, + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + staticFrameworkC.name: staticFrameworkC, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + frameworkC.name: frameworkC, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -257,12 +273,14 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - staticFrameworkA.name: staticFrameworkA, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - frameworkC.name: frameworkC, - frameworkD.name: frameworkD]], + targets: [path: [ + app.name: app, + staticFrameworkA.name: staticFrameworkA, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + frameworkC.name: frameworkC, + frameworkD.name: frameworkD, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -297,9 +315,11 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - staticFramework.name: staticFramework, - framework.name: framework]], + targets: [path: [ + app.name: app, + staticFramework.name: staticFramework, + framework.name: framework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -321,7 +341,8 @@ class StaticProductsGraphLinterTests: XCTestCase { let frameworkA = Target.test(name: "FrameworkA", product: .framework) let frameworkB = Target.test(name: "FrameworkB", product: .framework) let frameworkC = Target.test(name: "FrameworkC", product: .framework) - let project = Project.test(targets: [app, frameworkA, frameworkB, frameworkC, staticFrameworkA, staticFrameworkB, staticFrameworkC]) + let project = Project + .test(targets: [app, frameworkA, frameworkB, frameworkC, staticFrameworkA, staticFrameworkB, staticFrameworkC]) let appDependency = GraphDependency.target(name: app.name, path: path) let frameworkADependency = GraphDependency.target(name: frameworkA.name, path: path) @@ -343,13 +364,15 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - frameworkC.name: frameworkC, - staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB, - staticFrameworkC.name: staticFrameworkC]], + targets: [path: [ + app.name: app, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + frameworkC.name: frameworkC, + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + staticFrameworkC.name: staticFrameworkC, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -381,9 +404,11 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - staticFramework.name: staticFramework, - frameworkTests.name: frameworkTests]], + targets: [path: [ + app.name: app, + staticFramework.name: staticFramework, + frameworkTests.name: frameworkTests, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -418,10 +443,12 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - framework.name: framework, - staticFramework.name: staticFramework, - frameworkTests.name: frameworkTests]], + targets: [path: [ + app.name: app, + framework.name: framework, + staticFramework.name: staticFramework, + frameworkTests.name: frameworkTests, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -455,9 +482,11 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appTestsTarget.name: appTestsTarget, - staticFramework.name: staticFramework]], + targets: [path: [ + app.name: app, + appTestsTarget.name: appTestsTarget, + staticFramework.name: staticFramework, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -488,10 +517,21 @@ class StaticProductsGraphLinterTests: XCTestCase { let staticFrameworkBTests = Target.test(name: "StaticFrameworkBTests", product: .unitTests) let staticFrameworkCTests = Target.test(name: "StaticFrameworkCTests", product: .unitTests) - let project = Project.test(targets: [app, appTests, appUITests, - frameworkA, frameworkB, frameworkC, frameworkTests, - staticFrameworkA, staticFrameworkB, staticFrameworkC, - staticFrameworkATests, staticFrameworkBTests, staticFrameworkCTests]) + let project = Project.test(targets: [ + app, + appTests, + appUITests, + frameworkA, + frameworkB, + frameworkC, + frameworkTests, + staticFrameworkA, + staticFrameworkB, + staticFrameworkC, + staticFrameworkATests, + staticFrameworkBTests, + staticFrameworkCTests, + ]) let appDependency = GraphDependency.target(name: app.name, path: path) let appTestsDependency = GraphDependency.target(name: appTests.name, path: path) @@ -526,19 +566,21 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appTests.name: appTests, - appUITests.name: appUITests, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - frameworkC.name: frameworkC, - frameworkTests.name: frameworkTests, - staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB, - staticFrameworkC.name: staticFrameworkC, - staticFrameworkATests.name: staticFrameworkATests, - staticFrameworkBTests.name: staticFrameworkBTests, - staticFrameworkCTests.name: staticFrameworkCTests]], + targets: [path: [ + app.name: app, + appTests.name: appTests, + appUITests.name: appUITests, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + frameworkC.name: frameworkC, + frameworkTests.name: frameworkTests, + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + staticFrameworkC.name: staticFrameworkC, + staticFrameworkATests.name: staticFrameworkATests, + staticFrameworkBTests.name: staticFrameworkBTests, + staticFrameworkCTests.name: staticFrameworkCTests, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -565,9 +607,17 @@ class StaticProductsGraphLinterTests: XCTestCase { let staticFrameworkB = Target.test(name: "StaticFrameworkB", product: .staticFramework) let staticFrameworkC = Target.test(name: "StaticFrameworkC", product: .staticFramework) - let project = Project.test(targets: [app, appTests, - frameworkA, frameworkB, frameworkC, frameworkTests, - staticFrameworkA, staticFrameworkB, staticFrameworkC]) + let project = Project.test(targets: [ + app, + appTests, + frameworkA, + frameworkB, + frameworkC, + frameworkTests, + staticFrameworkA, + staticFrameworkB, + staticFrameworkC, + ]) let appDependency = GraphDependency.target(name: app.name, path: path) let appTestsDependency = GraphDependency.target(name: appTests.name, path: path) @@ -594,15 +644,17 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appTests.name: appTests, - frameworkA.name: frameworkA, - frameworkB.name: frameworkB, - frameworkC.name: frameworkC, - frameworkTests.name: frameworkTests, - staticFrameworkA.name: staticFrameworkA, - staticFrameworkB.name: staticFrameworkB, - staticFrameworkC.name: staticFrameworkC]], + targets: [path: [ + app.name: app, + appTests.name: appTests, + frameworkA.name: frameworkA, + frameworkB.name: frameworkB, + frameworkC.name: frameworkC, + frameworkTests.name: frameworkTests, + staticFrameworkA.name: staticFrameworkA, + staticFrameworkB.name: staticFrameworkB, + staticFrameworkC.name: staticFrameworkC, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -644,11 +696,13 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appTests.name: appTests, - appUITests.name: appUITests, - frameworkA.name: frameworkA, - staticFrameworkA.name: staticFrameworkA]], + targets: [path: [ + app.name: app, + appTests.name: appTests, + appUITests.name: appUITests, + frameworkA.name: frameworkA, + staticFrameworkA.name: staticFrameworkA, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -686,10 +740,12 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appUITests.name: appUITests, - frameworkA.name: frameworkA, - staticFrameworkA.name: staticFrameworkA]], + targets: [path: [ + app.name: app, + appUITests.name: appUITests, + frameworkA.name: frameworkA, + staticFrameworkA.name: staticFrameworkA, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -729,10 +785,12 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appUITests.name: appUITests, - frameworkA.name: frameworkA, - staticFrameworkA.name: staticFrameworkA]], + targets: [path: [ + app.name: app, + appUITests.name: appUITests, + frameworkA.name: frameworkA, + staticFrameworkA.name: staticFrameworkA, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -771,10 +829,12 @@ class StaticProductsGraphLinterTests: XCTestCase { let graph = Graph.test( path: path, projects: [path: project], - targets: [path: [app.name: app, - appUITests.name: appUITests, - frameworkA.name: frameworkA, - staticFrameworkA.name: staticFrameworkA]], + targets: [path: [ + app.name: app, + appUITests.name: appUITests, + frameworkA.name: frameworkA, + staticFrameworkA.name: staticFrameworkA, + ]], dependencies: dependencies ) let graphTraverser = GraphTraverser(graph: graph) @@ -1036,7 +1096,9 @@ class StaticProductsGraphLinterTests: XCTestCase { // MARK: - Helpers private func warning(product node: String, type: String = "Target", linkedBy: [GraphDependency]) -> LintingIssue { - let reason = "\(type) \'\(node)\' has been linked from \(linkedBy.map(\.description).listed()), it is a static product so may introduce unwanted side effects.".uppercasingFirst + let reason = + "\(type) \'\(node)\' has been linked from \(linkedBy.map(\.description).listed()), it is a static product so may introduce unwanted side effects." + .uppercasingFirst return LintingIssue( reason: reason, severity: .warning diff --git a/Tests/TuistGeneratorTests/Linter/TargetLinterTests.swift b/Tests/TuistGeneratorTests/Linter/TargetLinterTests.swift index cd9da0bd2..2478bb1cc 100644 --- a/Tests/TuistGeneratorTests/Linter/TargetLinterTests.swift +++ b/Tests/TuistGeneratorTests/Linter/TargetLinterTests.swift @@ -26,7 +26,8 @@ final class TargetLinterTests: TuistUnitTestCase { let XCTAssertInvalidProductName: (String) -> Void = { productName in let target = Target.test(productName: productName) let got = self.subject.lint(target: target) - let reason = "Invalid product name '\(productName)'. This string must contain only alphanumeric (A-Z,a-z,0-9) and underscore (_) characters." + let reason = + "Invalid product name '\(productName)'. This string must contain only alphanumeric (A-Z,a-z,0-9) and underscore (_) characters." self.XCTContainsLintingIssue(got, LintingIssue(reason: reason, severity: .warning)) } @@ -48,7 +49,8 @@ final class TargetLinterTests: TuistUnitTestCase { let XCTAssertInvalidBundleId: (String) -> Void = { bundleId in let target = Target.test(bundleId: bundleId) let got = self.subject.lint(target: target) - let reason = "Invalid bundle identifier '\(bundleId)'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters." + let reason = + "Invalid bundle identifier '\(bundleId)'. This string must be a uniform type identifier (UTI) that contains only alphanumeric (A-Z,a-z,0-9), hyphen (-), and period (.) characters." self.XCTContainsLintingIssue(got, LintingIssue(reason: reason, severity: .error)) } let XCTAssertValidBundleId: (String) -> Void = { bundleId in @@ -68,7 +70,10 @@ final class TargetLinterTests: TuistUnitTestCase { let target = Target.test(sources: []) let got = subject.lint(target: target) - XCTContainsLintingIssue(got, LintingIssue(reason: "The target \(target.name) doesn't contain source files.", severity: .warning)) + XCTContainsLintingIssue( + got, + LintingIssue(reason: "The target \(target.name) doesn't contain source files.", severity: .warning) + ) } func test_lint_when_target_no_source_files_but_has_dependency() { @@ -103,8 +108,20 @@ final class TargetLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) - XCTContainsLintingIssue(got, LintingIssue(reason: "Info.plist at path \(infoPlistPath.pathString) being copied into the target \(target.name) product.", severity: .warning)) - XCTDoesNotContainLintingIssue(got, LintingIssue(reason: "Info.plist at path \(googeServiceInfoPlistPath.pathString) being copied into the target \(target.name) product.", severity: .warning)) + XCTContainsLintingIssue( + got, + LintingIssue( + reason: "Info.plist at path \(infoPlistPath.pathString) being copied into the target \(target.name) product.", + severity: .warning + ) + ) + XCTDoesNotContainLintingIssue( + got, + LintingIssue( + reason: "Info.plist at path \(googeServiceInfoPlistPath.pathString) being copied into the target \(target.name) product.", + severity: .warning + ) + ) } func test_lint_when_a_entitlements_file_is_being_copied() { @@ -113,7 +130,13 @@ final class TargetLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) - XCTContainsLintingIssue(got, LintingIssue(reason: "Entitlements file at path \(path.pathString) being copied into the target \(target.name) product.", severity: .warning)) + XCTContainsLintingIssue( + got, + LintingIssue( + reason: "Entitlements file at path \(path.pathString) being copied into the target \(target.name) product.", + severity: .warning + ) + ) } func test_lint_when_entitlements_not_missing() throws { @@ -123,7 +146,10 @@ final class TargetLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) - XCTContainsLintingIssue(got, LintingIssue(reason: "Info.plist file not found at path \(path.pathString)", severity: .error)) + XCTContainsLintingIssue( + got, + LintingIssue(reason: "Info.plist file not found at path \(path.pathString)", severity: .error) + ) } func test_lint_when_infoplist_not_found() throws { @@ -133,7 +159,10 @@ final class TargetLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) - XCTContainsLintingIssue(got, LintingIssue(reason: "Entitlements file not found at path \(path.pathString)", severity: .error)) + XCTContainsLintingIssue( + got, + LintingIssue(reason: "Entitlements file not found at path \(path.pathString)", severity: .error) + ) } func test_lint_when_library_has_resources() throws { @@ -145,10 +174,22 @@ final class TargetLinterTests: TuistUnitTestCase { let dynamicLibrary = Target.test(product: .dynamicLibrary, resources: [element]) let staticResult = subject.lint(target: staticLibrary) - XCTContainsLintingIssue(staticResult, LintingIssue(reason: "Target \(staticLibrary.name) cannot contain resources. static library targets do not support resources", severity: .error)) + XCTContainsLintingIssue( + staticResult, + LintingIssue( + reason: "Target \(staticLibrary.name) cannot contain resources. static library targets do not support resources", + severity: .error + ) + ) let dynamicResult = subject.lint(target: dynamicLibrary) - XCTContainsLintingIssue(dynamicResult, LintingIssue(reason: "Target \(dynamicLibrary.name) cannot contain resources. dynamic library targets do not support resources", severity: .error)) + XCTContainsLintingIssue( + dynamicResult, + LintingIssue( + reason: "Target \(dynamicLibrary.name) cannot contain resources. dynamic library targets do not support resources", + severity: .error + ) + ) } func test_lint_when_ios_bundle_has_sources() { @@ -166,7 +207,13 @@ final class TargetLinterTests: TuistUnitTestCase { let result = subject.lint(target: bundle) // Then - XCTContainsLintingIssue(result, LintingIssue(reason: "Target \(bundle.name) cannot contain sources. iOS bundle targets don't support source files", severity: .error)) + XCTContainsLintingIssue( + result, + LintingIssue( + reason: "Target \(bundle.name) cannot contain sources. iOS bundle targets don't support source files", + severity: .error + ) + ) } func test_lint_valid_ios_bundle() { @@ -196,7 +243,10 @@ final class TargetLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) // Then - XCTDoesNotContainLintingIssue(got, LintingIssue(reason: "The version of deployment target is incorrect", severity: .error)) + XCTDoesNotContainLintingIssue( + got, + LintingIssue(reason: "The version of deployment target is incorrect", severity: .error) + ) } } @@ -215,10 +265,12 @@ final class TargetLinterTests: TuistUnitTestCase { } func test_lint_when_target_platform_and_deployment_target_property_mismatch() throws { - let invalidCombinations: [(Platform, DeploymentTarget)] = [(.iOS, .macOS("10.0.0")), - (.watchOS, .macOS("10.0.0")), - (.macOS, .watchOS("10.0.0")), - (.tvOS, .macOS("10.0.0"))] + let invalidCombinations: [(Platform, DeploymentTarget)] = [ + (.iOS, .macOS("10.0.0")), + (.watchOS, .macOS("10.0.0")), + (.macOS, .watchOS("10.0.0")), + (.tvOS, .macOS("10.0.0")), + ] for combinations in invalidCombinations { // Given let target = Target.test(platform: combinations.0, deploymentTarget: combinations.1) @@ -227,7 +279,13 @@ final class TargetLinterTests: TuistUnitTestCase { let got = subject.lint(target: target) // Then - XCTContainsLintingIssue(got, LintingIssue(reason: "Found an inconsistency between a platform `\(combinations.0.caseValue)` and deployment target `\(combinations.1.platform)`", severity: .error)) + XCTContainsLintingIssue( + got, + LintingIssue( + reason: "Found an inconsistency between a platform `\(combinations.0.caseValue)` and deployment target `\(combinations.1.platform)`", + severity: .error + ) + ) } } @@ -243,7 +301,10 @@ final class TargetLinterTests: TuistUnitTestCase { // Then let expectedIssues: [LintingIssue] = [ - LintingIssue(reason: "'WatchApp_for_iOS' for platform 'iOS' can't have a product type 'watch 2 application'", severity: .error), + LintingIssue( + reason: "'WatchApp_for_iOS' for platform 'iOS' can't have a product type 'watch 2 application'", + severity: .error + ), LintingIssue( reason: "'Watch2Extension_for_iOS' for platform 'iOS' can't have a product type 'watch 2 extension'", severity: .error diff --git a/Tests/TuistGeneratorTests/ProjectMappers/ResourcesProjectMapperTests.swift b/Tests/TuistGeneratorTests/ProjectMappers/ResourcesProjectMapperTests.swift index 6e1ab9037..239802488 100644 --- a/Tests/TuistGeneratorTests/ProjectMappers/ResourcesProjectMapperTests.swift +++ b/Tests/TuistGeneratorTests/ProjectMappers/ResourcesProjectMapperTests.swift @@ -73,7 +73,8 @@ final class ResourcesProjectMapperTests: TuistUnitTestCase { func test_map_when_a_target_that_has_core_data_models_and_doesnt_supports_them() throws { // Given - let coreDataModels: [CoreDataModel] = [CoreDataModel(path: "/data.xcdatamodeld", versions: ["/data.xcdatamodeld"], currentVersion: "1")] + let coreDataModels: [CoreDataModel] = + [CoreDataModel(path: "/data.xcdatamodeld", versions: ["/data.xcdatamodeld"], currentVersion: "1")] let target = Target.test(product: .staticLibrary, coreDataModels: coreDataModels) project = Project.test(targets: [target]) @@ -155,7 +156,8 @@ final class ResourcesProjectMapperTests: TuistUnitTestCase { func test_map_when_a_target_that_has_core_data_models_and_supports_them() throws { // Given - let coreDataModels: [CoreDataModel] = [CoreDataModel(path: "/data.xcdatamodeld", versions: ["/data.xcdatamodeld"], currentVersion: "1")] + let coreDataModels: [CoreDataModel] = + [CoreDataModel(path: "/data.xcdatamodeld", versions: ["/data.xcdatamodeld"], currentVersion: "1")] let target = Target.test(product: .framework, coreDataModels: coreDataModels) project = Project.test(targets: [target]) diff --git a/Tests/TuistGeneratorTests/Settings/DefaultSettingsProviderTests.swift b/Tests/TuistGeneratorTests/Settings/DefaultSettingsProviderTests.swift index 26a0bcf79..4f7c24163 100644 --- a/Tests/TuistGeneratorTests/Settings/DefaultSettingsProviderTests.swift +++ b/Tests/TuistGeneratorTests/Settings/DefaultSettingsProviderTests.swift @@ -737,45 +737,57 @@ final class DefaultSettingsProvider_iOSTests: TuistUnitTestCase { final class DictionaryStringAnyExtensionTests: XCTestCase { func testToSettings_whenOnlyStrings() throws { // Given - let subject: [String: Any] = ["A": "A_VALUE", - "B": "B_VALUE"] + let subject: [String: Any] = [ + "A": "A_VALUE", + "B": "B_VALUE", + ] // When let got = try subject.toSettings() // Then - XCTAssertEqual(got, ["A": .string("A_VALUE"), - "B": .string("B_VALUE")]) + XCTAssertEqual(got, [ + "A": .string("A_VALUE"), + "B": .string("B_VALUE"), + ]) } func testToSettings_whenStringsAndArray() throws { // Given - let subject: [String: Any] = ["A": "A_VALUE", - "B": "B_VALUE", - "C": ["C_1", "C_2"], - "D": ["D_1", "D_2"]] + let subject: [String: Any] = [ + "A": "A_VALUE", + "B": "B_VALUE", + "C": ["C_1", "C_2"], + "D": ["D_1", "D_2"], + ] // When let got = try subject.toSettings() // Then - XCTAssertEqual(got, ["A": .string("A_VALUE"), - "B": .string("B_VALUE"), - "C": .array(["C_1", "C_2"]), - "D": .array(["D_1", "D_2"])]) + XCTAssertEqual(got, [ + "A": .string("A_VALUE"), + "B": .string("B_VALUE"), + "C": .array(["C_1", "C_2"]), + "D": .array(["D_1", "D_2"]), + ]) } func testToSettings_whenArraysOnly() throws { // Given - let subject: [String: Any] = ["A": ["A_1", "A_2"], - "B": ["B_1", "B_2"]] + let subject: [String: Any] = [ + "A": ["A_1", "A_2"], + "B": ["B_1", "B_2"], + ] // When let got = try subject.toSettings() // Then - XCTAssertEqual(got, ["A": .array(["A_1", "A_2"]), - "B": .array(["B_1", "B_2"])]) + XCTAssertEqual(got, [ + "A": .array(["A_1", "A_2"]), + "B": .array(["B_1", "B_2"]), + ]) } func testToSettings_whenInvaludContent() throws { @@ -795,11 +807,11 @@ final class DictionaryStringAnyExtensionTests: XCTestCase { } } -private extension XCTestCase { - func XCTAssertSettings(_ first: [String: SettingValue], - containsAll second: [String: SettingValue], - file: StaticString = #file, - line: UInt = #line) +extension XCTestCase { + fileprivate func XCTAssertSettings(_ first: [String: SettingValue], + containsAll second: [String: SettingValue], + file: StaticString = #file, + line: UInt = #line) { for (key, expectedValue) in second { let result = first[key] diff --git a/Tests/TuistGeneratorTests/Utils/EmbedScriptGeneratorTests.swift b/Tests/TuistGeneratorTests/Utils/EmbedScriptGeneratorTests.swift index 9bc791174..24adce0eb 100644 --- a/Tests/TuistGeneratorTests/Utils/EmbedScriptGeneratorTests.swift +++ b/Tests/TuistGeneratorTests/Utils/EmbedScriptGeneratorTests.swift @@ -32,7 +32,11 @@ final class EmbedScriptGeneratorTests: TuistUnitTestCase { bcsymbolmapPaths: [bcsymbolPath] ) // When - let got = try subject.script(sourceRootPath: framework.precompiledPath!.parentDirectory, frameworkReferences: [framework], includeSymbolsInFileLists: true) + let got = try subject.script( + sourceRootPath: framework.precompiledPath!.parentDirectory, + frameworkReferences: [framework], + includeSymbolsInFileLists: true + ) // Then XCTAssertEqual(got.inputPaths, [ @@ -61,7 +65,11 @@ final class EmbedScriptGeneratorTests: TuistUnitTestCase { bcsymbolmapPaths: [bcsymbolPath] ) // When - let got = try subject.script(sourceRootPath: framework.precompiledPath!.parentDirectory, frameworkReferences: [framework], includeSymbolsInFileLists: false) + let got = try subject.script( + sourceRootPath: framework.precompiledPath!.parentDirectory, + frameworkReferences: [framework], + includeSymbolsInFileLists: false + ) // Then XCTAssertEqual(got.inputPaths, [ diff --git a/Tests/TuistGeneratorTests/Utils/SettingsHelperTests.swift b/Tests/TuistGeneratorTests/Utils/SettingsHelperTests.swift index eb4b1df94..0b370e2f3 100644 --- a/Tests/TuistGeneratorTests/Utils/SettingsHelperTests.swift +++ b/Tests/TuistGeneratorTests/Utils/SettingsHelperTests.swift @@ -70,9 +70,11 @@ final class SettingsHelpersTests: XCTestCase { subject.extend(buildSettings: &settings, with: ["A": "$(inherited) A_VALUE_2", "C": "C_VALUE"]) // Then - XCTAssertEqual(settings, ["A": ["$(inherited) A_VALUE_2", "A_VALUE"], - "B": "B_VALUE", - "C": "C_VALUE"]) + XCTAssertEqual(settings, [ + "A": ["$(inherited) A_VALUE_2", "A_VALUE"], + "B": "B_VALUE", + "C": "C_VALUE", + ]) } func testExtend_whenArraySettings() { diff --git a/Tests/TuistGraphTests/Models/Dependencies/CarthageDependenciesTests.swift b/Tests/TuistGraphTests/Models/Dependencies/CarthageDependenciesTests.swift index 5965355fb..3cbbd2195 100644 --- a/Tests/TuistGraphTests/Models/Dependencies/CarthageDependenciesTests.swift +++ b/Tests/TuistGraphTests/Models/Dependencies/CarthageDependenciesTests.swift @@ -68,7 +68,10 @@ final class CarthageDependenciesTests: TuistUnitTestCase { func test_dependency_cartfileValue_git() { // Given - let origin: CarthageDependencies.Dependency = .git(path: "https://enterprise.local/desktop/git-error-translations2.git", requirement: .atLeast("5.4.3")) + let origin: CarthageDependencies.Dependency = .git( + path: "https://enterprise.local/desktop/git-error-translations2.git", + requirement: .atLeast("5.4.3") + ) let expected = #"git "https://enterprise.local/desktop/git-error-translations2.git" >= 5.4.3"# // When @@ -80,7 +83,10 @@ final class CarthageDependenciesTests: TuistUnitTestCase { func test_dependency_cartfileValue_binary() { // Given - let origin: CarthageDependencies.Dependency = .binary(path: "file:///some/local/path/MyFramework.json", requirement: .upToNext("5.0.0")) + let origin: CarthageDependencies.Dependency = .binary( + path: "file:///some/local/path/MyFramework.json", + requirement: .upToNext("5.0.0") + ) let expected = #"binary "file:///some/local/path/MyFramework.json" ~> 5.0.0"# // When diff --git a/Tests/TuistGraphTests/Models/LintingIssueTests.swift b/Tests/TuistGraphTests/Models/LintingIssueTests.swift index 528b9abcb..8398b0455 100644 --- a/Tests/TuistGraphTests/Models/LintingIssueTests.swift +++ b/Tests/TuistGraphTests/Models/LintingIssueTests.swift @@ -17,11 +17,13 @@ final class LintingIssueTests: TuistUnitTestCase { XCTAssertThrowsError(try [first, second].printAndThrowIfNeeded()) - XCTAssertPrinterOutputContains(""" + XCTAssertPrinterOutputContains( + """ warning """ ) - XCTAssertPrinterErrorContains(""" + XCTAssertPrinterErrorContains( + """ error """ ) @@ -32,7 +34,8 @@ final class LintingIssueTests: TuistUnitTestCase { XCTAssertThrowsError(try [first].printAndThrowIfNeeded()) - XCTAssertPrinterErrorContains(""" + XCTAssertPrinterErrorContains( + """ error """ ) diff --git a/Tests/TuistGraphTests/Models/TargetTests.swift b/Tests/TuistGraphTests/Models/TargetTests.swift index c54073364..e9cd63527 100644 --- a/Tests/TuistGraphTests/Models/TargetTests.swift +++ b/Tests/TuistGraphTests/Models/TargetTests.swift @@ -16,7 +16,10 @@ final class TargetErrorTests: TuistUnitTestCase { let got = TargetError.invalidSourcesGlob(targetName: "Target", invalidGlobs: invalidGlobs).description // Then - XCTAssertEqual(got, "The target Target has the following invalid source files globs:\n" + invalidGlobs.invalidGlobsDescription) + XCTAssertEqual( + got, + "The target Target has the following invalid source files globs:\n" + invalidGlobs.invalidGlobsDescription + ) } } @@ -102,8 +105,16 @@ final class TargetTests: TuistUnitTestCase { // When let sources = try Target.sources(targetName: "Target", sources: [ - SourceFileGlob(glob: temporaryPath.appending(RelativePath("sources/**")).pathString, excluding: [], compilerFlags: nil), - SourceFileGlob(glob: temporaryPath.appending(RelativePath("sources/**")).pathString, excluding: [], compilerFlags: nil), + SourceFileGlob( + glob: temporaryPath.appending(RelativePath("sources/**")).pathString, + excluding: [], + compilerFlags: nil + ), + SourceFileGlob( + glob: temporaryPath.appending(RelativePath("sources/**")).pathString, + excluding: [], + compilerFlags: nil + ), ]) // Then diff --git a/Tests/TuistIntegrationTests/Generator/MultipleConfigurationsIntegrationTests.swift b/Tests/TuistIntegrationTests/Generator/MultipleConfigurationsIntegrationTests.swift index 4dc649146..d6997cbb0 100644 --- a/Tests/TuistIntegrationTests/Generator/MultipleConfigurationsIntegrationTests.swift +++ b/Tests/TuistIntegrationTests/Generator/MultipleConfigurationsIntegrationTests.swift @@ -100,8 +100,10 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { let customConfiguration = Configuration(settings: ["A": "A", "C": "C"]) let projectSettings = Settings( base: ["A": "A_BASE", "B": "B_BASE"], - configurations: [.debug("Custom"): customConfiguration, - .release: nil] + configurations: [ + .debug("Custom"): customConfiguration, + .release: nil, + ] ) // When @@ -150,18 +152,26 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { func testGenerateWhenMultipleConfigurations() throws { // Given - let projectDebugConfiguration = Configuration(settings: ["A": "A_PROJECT_DEBUG", - "B": "B_PROJECT_DEBUG"]) - let projectReleaseConfiguration = Configuration(settings: ["A": "A_PROJECT_RELEASE", - "C": "C_PROJECT_RELEASE"]) - let projectSettings = Settings(configurations: [.debug: projectDebugConfiguration, - .release("ProjectRelease"): projectReleaseConfiguration]) + let projectDebugConfiguration = Configuration(settings: [ + "A": "A_PROJECT_DEBUG", + "B": "B_PROJECT_DEBUG", + ]) + let projectReleaseConfiguration = Configuration(settings: [ + "A": "A_PROJECT_RELEASE", + "C": "C_PROJECT_RELEASE", + ]) + let projectSettings = Settings(configurations: [ + .debug: projectDebugConfiguration, + .release("ProjectRelease"): projectReleaseConfiguration, + ]) let targetDebugConfiguration = Configuration(settings: ["B": "B_TARGET_DEBUG"]) let targetStagingConfiguration = Configuration(settings: ["B": "B_TARGET_STAGING"]) - let targetSettings = Settings(configurations: [.debug: targetDebugConfiguration, - .release("Staging"): targetStagingConfiguration]) + let targetSettings = Settings(configurations: [ + .debug: targetDebugConfiguration, + .release("Staging"): targetStagingConfiguration, + ]) // When try generateWorkspace(projectSettings: projectSettings, targetSettings: targetSettings) @@ -206,21 +216,25 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { PROJECT_XCCONFIG=YES """) let projectDebugConfiguration = Configuration( - settings: ["C": "C_PROJECT", - "D": "D_PROJECT", - "E": "E_PROJECT", - "F": "F_PROJECT", - "PROJECT": "YES"], + settings: [ + "C": "C_PROJECT", + "D": "D_PROJECT", + "E": "E_PROJECT", + "F": "F_PROJECT", + "PROJECT": "YES", + ], xcconfig: projectDebugFilePath ) let projectSettings = Settings( - base: ["B": "B_PROJECT_BASE", - "C": "C_PROJECT_BASE", - "D": "D_PROJECT_BASE", - "E": "E_PROJECT_BASE", - "F": "F_PROJECT_BASE", - "PROJECT_BASE": "YES"], + base: [ + "B": "B_PROJECT_BASE", + "C": "C_PROJECT_BASE", + "D": "D_PROJECT_BASE", + "E": "E_PROJECT_BASE", + "F": "F_PROJECT_BASE", + "PROJECT_BASE": "YES", + ], configurations: [.debug: projectDebugConfiguration] ) @@ -232,14 +246,18 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { """) let targetDebugConfiguration = Configuration( - settings: ["F": "F_TARGET", - "TARGET": "YES"], + settings: [ + "F": "F_TARGET", + "TARGET": "YES", + ], xcconfig: targetDebugFilePath ) let targetSettings = Settings( - base: ["E": "E_TARGET_BASE", - "F": "E_TARGET_BASE", - "TARGET_BASE": "YES"], + base: [ + "E": "E_TARGET_BASE", + "F": "E_TARGET_BASE", + "TARGET_BASE": "YES", + ], configurations: [.debug: targetDebugConfiguration] ) @@ -267,16 +285,22 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { func testGenerateWhenCustomConfigurations() throws { // Given - let projectDebugConfiguration = Configuration(settings: ["A": "A_PROJECT_DEBUG", - "B": "B_PROJECT_DEBUG"]) - let projectCustomDebugConfiguration = Configuration(settings: ["A": "A_PROJECT_RELEASE", - "C": "C_PROJECT_RELEASE"]) + let projectDebugConfiguration = Configuration(settings: [ + "A": "A_PROJECT_DEBUG", + "B": "B_PROJECT_DEBUG", + ]) + let projectCustomDebugConfiguration = Configuration(settings: [ + "A": "A_PROJECT_RELEASE", + "C": "C_PROJECT_RELEASE", + ]) let projectReleaseConfiguration = Configuration(settings: [:]) let projectCustomReleaseConfiguration = Configuration(settings: ["E": "E_PROJECT_RELEASE"]) - let projectSettings = Settings(configurations: [.debug: projectDebugConfiguration, - .debug("CustomDebug"): projectCustomDebugConfiguration, - .release: projectReleaseConfiguration, - .release("CustomRelease"): projectCustomReleaseConfiguration]) + let projectSettings = Settings(configurations: [ + .debug: projectDebugConfiguration, + .debug("CustomDebug"): projectCustomDebugConfiguration, + .release: projectReleaseConfiguration, + .release("CustomRelease"): projectCustomReleaseConfiguration, + ]) // When try generateWorkspace(projectSettings: projectSettings, targetSettings: nil) @@ -347,7 +371,15 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { } private func createConfig() -> Config { - Config(compatibleXcodeVersions: .all, cloud: nil, cache: .default, swiftVersion: nil, plugins: [], generationOptions: [], path: nil) + Config( + compatibleXcodeVersions: .all, + cloud: nil, + cache: .default, + swiftVersion: nil, + plugins: [], + generationOptions: [], + path: nil + ) } private func createWorkspace(path: AbsolutePath, projects: [String]) throws -> Workspace { @@ -359,7 +391,13 @@ final class MultipleConfigurationsIntegrationTests: TuistUnitTestCase { ) } - private func createProject(path: AbsolutePath, settings: Settings, targets: [Target], packages: [Package] = [], schemes: [Scheme]) -> Project { + private func createProject( + path: AbsolutePath, + settings: Settings, + targets: [Target], + packages: [Package] = [], + schemes: [Scheme] + ) -> Project { Project( path: path, sourceRootPath: path, diff --git a/Tests/TuistIntegrationTests/Generator/TestModelGenerator.swift b/Tests/TuistIntegrationTests/Generator/TestModelGenerator.swift index a8390e80f..1cde2543a 100644 --- a/Tests/TuistIntegrationTests/Generator/TestModelGenerator.swift +++ b/Tests/TuistIntegrationTests/Generator/TestModelGenerator.swift @@ -64,22 +64,30 @@ final class TestModelGenerator { } let unitTestsTargetNames = (0 ..< config.testTargets).map { "\(name)TestAppTests\($0)" } let targetSettings = Settings( - base: ["A1": "A_VALUE", - "B1": "B_VALUE", - "C1": "C_VALUE"], - configurations: [.debug: nil, - .release: nil, - .debug("CustomDebug"): nil, - .release("CustomRelease"): nil] + base: [ + "A1": "A_VALUE", + "B1": "B_VALUE", + "C1": "C_VALUE", + ], + configurations: [ + .debug: nil, + .release: nil, + .debug("CustomDebug"): nil, + .release("CustomRelease"): nil, + ] ) let projectSettings = Settings( - base: ["A2": "A_VALUE", - "B2": "B_VALUE", - "C2": "C_VALUE"], - configurations: [.debug: nil, - .release: nil, - .debug("CustomDebug2"): nil, - .release("CustomRelease2"): nil] + base: [ + "A2": "A_VALUE", + "B2": "B_VALUE", + "C2": "C_VALUE", + ], + configurations: [ + .debug: nil, + .release: nil, + .debug("CustomDebug2"): nil, + .release("CustomRelease2"): nil, + ] ) let projectPath = pathTo(name) let dependencies = try createDependencies(relativeTo: projectPath) @@ -130,7 +138,14 @@ final class TestModelGenerator { ) } - private func createProject(path: AbsolutePath, name: String, settings: Settings, targets: [Target], packages: [Package] = [], schemes: [Scheme]) -> Project { + private func createProject( + path: AbsolutePath, + name: String, + settings: Settings, + targets: [Target], + packages: [Package] = [], + schemes: [Scheme] + ) -> Project { Project( path: path, sourceRootPath: path, @@ -151,7 +166,13 @@ final class TestModelGenerator { ) } - private func createTarget(path: AbsolutePath, name: String, product: Product = .app, settings: Settings?, dependencies: [String]) -> Target { + private func createTarget( + path: AbsolutePath, + name: String, + product: Product = .app, + settings: Settings?, + dependencies: [String] + ) -> Target { Target( name: name, platform: .iOS, diff --git a/Tests/TuistKitIntegrationTests/Automation/CacheFrameworkBuilderIntegrationTests.swift b/Tests/TuistKitIntegrationTests/Automation/CacheFrameworkBuilderIntegrationTests.swift index 215ef24d5..f99ca6358 100644 --- a/Tests/TuistKitIntegrationTests/Automation/CacheFrameworkBuilderIntegrationTests.swift +++ b/Tests/TuistKitIntegrationTests/Automation/CacheFrameworkBuilderIntegrationTests.swift @@ -34,7 +34,14 @@ final class CacheFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "iOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.framework").count, 1) @@ -53,7 +60,14 @@ final class CacheFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "macOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.framework").count, 1) @@ -72,7 +86,14 @@ final class CacheFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "tvOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.framework").count, 1) @@ -91,7 +112,14 @@ final class CacheFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "watchOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.framework").count, 1) diff --git a/Tests/TuistKitIntegrationTests/Automation/CacheXCFrameworkBuilderIntegrationTests.swift b/Tests/TuistKitIntegrationTests/Automation/CacheXCFrameworkBuilderIntegrationTests.swift index adf365832..211099e74 100644 --- a/Tests/TuistKitIntegrationTests/Automation/CacheXCFrameworkBuilderIntegrationTests.swift +++ b/Tests/TuistKitIntegrationTests/Automation/CacheXCFrameworkBuilderIntegrationTests.swift @@ -34,7 +34,14 @@ final class CacheXCFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "iOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.xcframework").count, 1) @@ -54,7 +61,14 @@ final class CacheXCFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "macOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.xcframework").count, 1) @@ -75,7 +89,14 @@ final class CacheXCFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "tvOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.xcframework").count, 1) @@ -95,7 +116,14 @@ final class CacheXCFrameworkBuilderIntegrationTests: TuistTestCase { let scheme = Scheme.test(name: "watchOS") // When - try subject.build(scheme: scheme, projectTarget: XcodeBuildTarget(with: projectPath), configuration: "Debug", osVersion: nil, deviceName: nil, into: temporaryPath) + try subject.build( + scheme: scheme, + projectTarget: XcodeBuildTarget(with: projectPath), + configuration: "Debug", + osVersion: nil, + deviceName: nil, + into: temporaryPath + ) // Then XCTAssertEqual(FileHandler.shared.glob(temporaryPath, glob: "*.xcframework").count, 1) diff --git a/Tests/TuistKitTests/Cache/CacheControllerTests.swift b/Tests/TuistKitTests/Cache/CacheControllerTests.swift index f6a648cf7..cddc5c327 100644 --- a/Tests/TuistKitTests/Cache/CacheControllerTests.swift +++ b/Tests/TuistKitTests/Cache/CacheControllerTests.swift @@ -93,7 +93,8 @@ final class CacheControllerTests: TuistUnitTestCase { let graph = Graph.test( workspace: .test(schemes: [scheme]), projects: [project.path: project], - targets: nodeWithHashes.keys.reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, + targets: nodeWithHashes.keys + .reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, dependencies: [ .target(name: bGraphTarget.target.name, path: bGraphTarget.path): [ .target(name: aGraphTarget.target.name, path: aGraphTarget.path), @@ -108,11 +109,11 @@ final class CacheControllerTests: TuistUnitTestCase { XCTAssertEqual(loadPath, path) return Set(arrayLiteral: .project) } - generator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + generator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } - focusedGenerator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + focusedGenerator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } @@ -171,7 +172,8 @@ final class CacheControllerTests: TuistUnitTestCase { let graph = Graph.test( workspace: .test(schemes: [scheme]), projects: [project.path: project], - targets: nodeWithHashes.keys.reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, + targets: nodeWithHashes.keys + .reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, dependencies: [ .target(name: bGraphTarget.target.name, path: bGraphTarget.path): [ .target(name: aGraphTarget.target.name, path: aGraphTarget.path), @@ -186,11 +188,11 @@ final class CacheControllerTests: TuistUnitTestCase { XCTAssertEqual(loadPath, path) return Set(arrayLiteral: .project) } - generator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + generator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } - focusedGenerator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + focusedGenerator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } @@ -240,7 +242,8 @@ final class CacheControllerTests: TuistUnitTestCase { let graph = Graph.test( workspace: .test(schemes: [scheme]), projects: [project.path: project], - targets: nodeWithHashes.keys.reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, + targets: nodeWithHashes.keys + .reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, dependencies: [ .target(name: bGraphTarget.target.name, path: bGraphTarget.path): [ .target(name: aGraphTarget.target.name, path: aGraphTarget.path), @@ -262,7 +265,7 @@ final class CacheControllerTests: TuistUnitTestCase { XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } - focusedGenerator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + focusedGenerator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } @@ -315,7 +318,8 @@ final class CacheControllerTests: TuistUnitTestCase { let graph = Graph.test( workspace: .test(schemes: [scheme]), projects: [project.path: project], - targets: nodeWithHashes.keys.reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, + targets: nodeWithHashes.keys + .reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, dependencies: [ .target(name: bGraphTarget.target.name, path: bGraphTarget.path): [ .target(name: aGraphTarget.target.name, path: aGraphTarget.path), @@ -330,11 +334,11 @@ final class CacheControllerTests: TuistUnitTestCase { XCTAssertEqual(loadPath, path) return Set(arrayLiteral: .project) } - generator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + generator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } - focusedGenerator.generateWithGraphStub = { (loadPath, _) -> (AbsolutePath, Graph) in + focusedGenerator.generateWithGraphStub = { loadPath, _ -> (AbsolutePath, Graph) in XCTAssertEqual(loadPath, path) return (xcworkspacePath, graph) } @@ -379,7 +383,8 @@ final class CacheControllerTests: TuistUnitTestCase { let graphTargets = [aGraphTarget, bGraphTarget, cGraphTarget] let graph = Graph.test( projects: [project.path: project], - targets: graphTargets.reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, + targets: graphTargets + .reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, dependencies: [ // `bTarget` is a dependency of `aTarget`. .target(name: aGraphTarget.target.name, path: aGraphTarget.path): [ @@ -428,7 +433,8 @@ final class CacheControllerTests: TuistUnitTestCase { let bGraphTarget = GraphTarget.test(path: project.path, target: bTarget, project: project) let graph = Graph.test( projects: [project.path: project], - targets: [aGraphTarget, bGraphTarget].reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, + targets: [aGraphTarget, bGraphTarget] + .reduce(into: [project.path: [String: Target]()]) { $0[project.path]?[$1.target.name] = $1.target }, dependencies: [ // `bTarget` is a dependency of `aTarget`. .target(name: aGraphTarget.target.name, path: aGraphTarget.path): [ diff --git a/Tests/TuistKitTests/Generator/Mocks/MockGeneratorFactory.swift b/Tests/TuistKitTests/Generator/Mocks/MockGeneratorFactory.swift index 95b017698..1ca6b9b6a 100644 --- a/Tests/TuistKitTests/Generator/Mocks/MockGeneratorFactory.swift +++ b/Tests/TuistKitTests/Generator/Mocks/MockGeneratorFactory.swift @@ -7,8 +7,15 @@ import TuistGraph final class MockGeneratorFactory: GeneratorFactorying { var invokedFocus = false var invokedFocusCount = 0 - var invokedFocusParameters: (config: Config, sources: Set, xcframeworks: Bool, cacheProfile: TuistGraph.Cache.Profile, ignoreCache: Bool)? - var invokedFocusParametersList = [(config: Config, sources: Set, xcframeworks: Bool, cacheProfile: TuistGraph.Cache.Profile, ignoreCache: Bool)]() + var invokedFocusParameters: ( + config: Config, + sources: Set, + xcframeworks: Bool, + cacheProfile: TuistGraph.Cache.Profile, + ignoreCache: Bool + )? + var invokedFocusParametersList = + [(config: Config, sources: Set, xcframeworks: Bool, cacheProfile: TuistGraph.Cache.Profile, ignoreCache: Bool)]() var stubbedFocusResult: Generating! func focus(config: Config, @@ -26,8 +33,14 @@ final class MockGeneratorFactory: GeneratorFactorying { var invokedTest = false var invokedTestCount = 0 - var invokedTestParameters: (config: Config, automationPath: AbsolutePath, testsCacheDirectory: AbsolutePath, skipUITests: Bool)? - var invokedTestParametersList = [(config: Config, automationPath: AbsolutePath, testsCacheDirectory: AbsolutePath, skipUITests: Bool)]() + var invokedTestParameters: ( + config: Config, + automationPath: AbsolutePath, + testsCacheDirectory: AbsolutePath, + skipUITests: Bool + )? + var invokedTestParametersList = + [(config: Config, automationPath: AbsolutePath, testsCacheDirectory: AbsolutePath, skipUITests: Bool)]() var stubbedTestResult: Generating! func test( diff --git a/Tests/TuistKitTests/Mappers/Factories/ProjectMapperFactoryTests.swift b/Tests/TuistKitTests/Mappers/Factories/ProjectMapperFactoryTests.swift index 9b7534b63..a8be513ae 100644 --- a/Tests/TuistKitTests/Mappers/Factories/ProjectMapperFactoryTests.swift +++ b/Tests/TuistKitTests/Mappers/Factories/ProjectMapperFactoryTests.swift @@ -227,7 +227,8 @@ final class ProjectMapperFactoryTests: TuistUnitTestCase { XCTAssertDoesntContainElementOfType(got, SkipUITestsProjectMapper.self) } - func test_automation_contains_the_autogenerated_schemes_project_mapper_even_if_autogenerated_schemes_are_disabled_in_the_config() { + func test_automation_contains_the_autogenerated_schemes_project_mapper_even_if_autogenerated_schemes_are_disabled_in_the_config( + ) { // Given let config = Config.test(generationOptions: [ .disableAutogeneratedSchemes, diff --git a/Tests/TuistKitTests/Mappers/Factories/WorkspaceMapperFactoryTests.swift b/Tests/TuistKitTests/Mappers/Factories/WorkspaceMapperFactoryTests.swift index 73298d701..183f7df3f 100644 --- a/Tests/TuistKitTests/Mappers/Factories/WorkspaceMapperFactoryTests.swift +++ b/Tests/TuistKitTests/Mappers/Factories/WorkspaceMapperFactoryTests.swift @@ -30,7 +30,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { // Given let config = Config.test(generationOptions: [ ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.default(config: config) @@ -43,7 +44,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { // Given let config = Config.test(generationOptions: [ ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.default(config: config) @@ -56,7 +58,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { // Given let config = Config.test(generationOptions: [ ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.default(config: config) @@ -69,7 +72,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { // Given let config = Config.test(generationOptions: [ ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.default(config: config) @@ -82,7 +86,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { // Given let config = Config.test(generationOptions: [ ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.default(config: config) @@ -96,7 +101,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { let config = Config.test(generationOptions: [ .lastUpgradeCheck("3.2.1"), ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.default(config: config) @@ -111,7 +117,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { let workspaceDirectory = try temporaryPath() let config = Config.test(generationOptions: [ ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.automation( @@ -124,14 +131,16 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { XCTAssertEqual(mapper?.workspaceDirectory, workspaceDirectory) } - func test_automation_contains_the_autogenerated_project_scheme_workspace_mapper_even_if_autogenerated_schemes_are_disabled() throws { + func test_automation_contains_the_autogenerated_project_scheme_workspace_mapper_even_if_autogenerated_schemes_are_disabled( + ) throws { // Given let workspaceDirectory = try temporaryPath() let config = Config.test(generationOptions: [ .disableAutogeneratedSchemes, .enableCodeCoverage(.all), ]) - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.automation( @@ -151,7 +160,8 @@ final class WorkspaceMapperFactoryTests: TuistUnitTestCase { .enableCodeCoverage(.all), ]) let includedTargets = Set(arrayLiteral: "MyTarget") - subject = WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) + subject = + WorkspaceMapperFactory(projectMapper: SequentialProjectMapper(mappers: projectMapperFactory.default(config: config))) // When let got = subject.cache( diff --git a/Tests/TuistKitTests/ProjectEditor/ProjectEditorMapperTests.swift b/Tests/TuistKitTests/ProjectEditor/ProjectEditorMapperTests.swift index 3d81ae90c..d60aa8ccf 100644 --- a/Tests/TuistKitTests/ProjectEditor/ProjectEditorMapperTests.swift +++ b/Tests/TuistKitTests/ProjectEditor/ProjectEditorMapperTests.swift @@ -125,7 +125,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(dependenciesTarget.name, "Dependencies") XCTAssertEqual(dependenciesTarget.platform, .macOS) XCTAssertEqual(dependenciesTarget.product, .staticFramework) - XCTAssertEqual(dependenciesTarget.settings, expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory])) + XCTAssertEqual( + dependenciesTarget.settings, + expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory]) + ) XCTAssertEqual(dependenciesTarget.sources.map(\.path), [dependenciesPath]) XCTAssertEqual(dependenciesTarget.filesGroup, projectsGroup) XCTAssertEmpty(dependenciesTarget.dependencies) @@ -158,8 +161,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(project.path, sourceRootPath.appending(component: projectName)) XCTAssertEqual(project.name, projectName) XCTAssertEqual(project.settings, Settings( - base: ["ONLY_ACTIVE_ARCH": "NO", - "EXCLUDED_ARCHS": "x86_64"], + base: [ + "ONLY_ACTIVE_ARCH": "NO", + "EXCLUDED_ARCHS": "x86_64", + ], configurations: Settings.default.configurations, defaultSettings: .recommended )) @@ -232,8 +237,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(project.path, sourceRootPath.appending(component: projectName)) XCTAssertEqual(project.name, projectName) XCTAssertEqual(project.settings, Settings( - base: ["ONLY_ACTIVE_ARCH": "NO", - "EXCLUDED_ARCHS": "x86_64"], + base: [ + "ONLY_ACTIVE_ARCH": "NO", + "EXCLUDED_ARCHS": "x86_64", + ], configurations: Settings.default.configurations, defaultSettings: .recommended )) @@ -304,7 +311,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(manifestOneTarget.name, "ModuleManifests") XCTAssertEqual(manifestOneTarget.platform, .macOS) XCTAssertEqual(manifestOneTarget.product, .staticFramework) - XCTAssertEqual(manifestOneTarget.settings, expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory])) + XCTAssertEqual( + manifestOneTarget.settings, + expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory]) + ) XCTAssertEqual(manifestOneTarget.sources.map(\.path), [try XCTUnwrap(projectManifestPaths.last)]) XCTAssertEqual(manifestOneTarget.filesGroup, .group(name: projectName)) XCTAssertEmpty(manifestOneTarget.dependencies) @@ -314,7 +324,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(manifestTwoTarget.platform, .macOS) XCTAssertEqual(manifestTwoTarget.product, .staticFramework) - XCTAssertEqual(manifestTwoTarget.settings, expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory])) + XCTAssertEqual( + manifestTwoTarget.settings, + expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory]) + ) XCTAssertEqual(manifestTwoTarget.sources.map(\.path), [try XCTUnwrap(projectManifestPaths.first)]) XCTAssertEqual(manifestTwoTarget.filesGroup, .group(name: projectName)) XCTAssertEmpty(manifestTwoTarget.dependencies) @@ -334,8 +347,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(project.path, sourceRootPath.appending(component: projectName)) XCTAssertEqual(project.name, projectName) XCTAssertEqual(project.settings, Settings( - base: ["ONLY_ACTIVE_ARCH": "NO", - "EXCLUDED_ARCHS": "x86_64"], + base: [ + "ONLY_ACTIVE_ARCH": "NO", + "EXCLUDED_ARCHS": "x86_64", + ], configurations: Settings.default.configurations, defaultSettings: .recommended )) @@ -410,8 +425,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(project.path, sourceRootPath.appending(component: projectName)) XCTAssertEqual(project.name, projectName) XCTAssertEqual(project.settings, Settings( - base: ["ONLY_ACTIVE_ARCH": "NO", - "EXCLUDED_ARCHS": "x86_64"], + base: [ + "ONLY_ACTIVE_ARCH": "NO", + "EXCLUDED_ARCHS": "x86_64", + ], configurations: Settings.default.configurations, defaultSettings: .recommended )) @@ -478,7 +495,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(firstPluginTarget.platform, .macOS) XCTAssertEqual(firstPluginTarget.product, .staticFramework) - XCTAssertEqual(firstPluginTarget.settings, expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory])) + XCTAssertEqual( + firstPluginTarget.settings, + expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory]) + ) XCTAssertEqual(firstPluginTarget.sources.map(\.path), [pluginManifestPaths[0]]) XCTAssertEqual(firstPluginTarget.filesGroup, projectsGroup) XCTAssertEmpty(firstPluginTarget.dependencies) @@ -488,7 +508,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(secondPluginTarget.platform, .macOS) XCTAssertEqual(secondPluginTarget.product, .staticFramework) - XCTAssertEqual(secondPluginTarget.settings, expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory])) + XCTAssertEqual( + secondPluginTarget.settings, + expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory]) + ) XCTAssertEqual(secondPluginTarget.sources.map(\.path), [pluginManifestPaths[1]]) XCTAssertEqual(secondPluginTarget.filesGroup, projectsGroup) XCTAssertEmpty(secondPluginTarget.dependencies) @@ -497,8 +520,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(project.path, sourceRootPath.appending(component: projectName)) XCTAssertEqual(project.name, projectName) XCTAssertEqual(project.settings, Settings( - base: ["ONLY_ACTIVE_ARCH": "NO", - "EXCLUDED_ARCHS": "x86_64"], + base: [ + "ONLY_ACTIVE_ARCH": "NO", + "EXCLUDED_ARCHS": "x86_64", + ], configurations: Settings.default.configurations, defaultSettings: .recommended )) @@ -626,7 +651,15 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(manifestsTarget.platform, .macOS) XCTAssertEqual(manifestsTarget.product, .staticFramework) - XCTAssertEqual(manifestsTarget.settings, expectedSettings(includePaths: [sourceRootPath, sourceRootPath.parentDirectory, pluginHelpersPath.parentDirectory, pluginHelpersPath.parentDirectory.parentDirectory])) + XCTAssertEqual( + manifestsTarget.settings, + expectedSettings(includePaths: [ + sourceRootPath, + sourceRootPath.parentDirectory, + pluginHelpersPath.parentDirectory, + pluginHelpersPath.parentDirectory.parentDirectory, + ]) + ) XCTAssertEqual(manifestsTarget.sources.map(\.path), projectManifestPaths) XCTAssertEqual(manifestsTarget.filesGroup, projectsGroup) XCTAssertEmpty(manifestsTarget.dependencies) @@ -635,8 +668,10 @@ final class ProjectEditorMapperTests: TuistUnitTestCase { XCTAssertEqual(project.path, sourceRootPath.appending(component: projectName)) XCTAssertEqual(project.name, projectName) XCTAssertEqual(project.settings, Settings( - base: ["ONLY_ACTIVE_ARCH": "NO", - "EXCLUDED_ARCHS": "x86_64"], + base: [ + "ONLY_ACTIVE_ARCH": "NO", + "EXCLUDED_ARCHS": "x86_64", + ], configurations: Settings.default.configurations, defaultSettings: .recommended )) diff --git a/Tests/TuistKitTests/ProjectEditor/ProjectEditorTests.swift b/Tests/TuistKitTests/ProjectEditor/ProjectEditorTests.swift index f554fefdf..ecd4209c6 100644 --- a/Tests/TuistKitTests/ProjectEditor/ProjectEditorTests.swift +++ b/Tests/TuistKitTests/ProjectEditor/ProjectEditorTests.swift @@ -23,7 +23,10 @@ final class ProjectEditorErrorTests: TuistUnitTestCase { } func test_description() { - XCTAssertEqual(ProjectEditorError.noEditableFiles(AbsolutePath.root).description, "There are no editable files at \(AbsolutePath.root.pathString)") + XCTAssertEqual( + ProjectEditorError.noEditableFiles(AbsolutePath.root).description, + "There are no editable files at \(AbsolutePath.root.pathString)" + ) } } @@ -51,7 +54,8 @@ final class ProjectEditorTests: TuistUnitTestCase { templatesDirectoryLocator = MockTemplatesDirectoryLocator() projectDescriptionHelpersBuilder = MockProjectDescriptionHelpersBuilder() projectDescriptionHelpersBuilderFactory = MockProjectDescriptionHelpersBuilderFactory() - projectDescriptionHelpersBuilderFactory.projectDescriptionHelpersBuilderStub = { _ in self.projectDescriptionHelpersBuilder } + projectDescriptionHelpersBuilderFactory + .projectDescriptionHelpersBuilderStub = { _ in self.projectDescriptionHelpersBuilder } tasksLocator = MockTasksLocator() subject = ProjectEditor( @@ -174,7 +178,8 @@ final class ProjectEditorTests: TuistUnitTestCase { // Then XCTAssertThrowsSpecific( // When - try subject.edit(at: directory, in: directory, onlyCurrentDirectory: false, plugins: .test()), ProjectEditorError.noEditableFiles(directory) + try subject.edit(at: directory, in: directory, onlyCurrentDirectory: false, plugins: .test()), + ProjectEditorError.noEditableFiles(directory) ) } diff --git a/Tests/TuistKitTests/Services/BuildServiceTests.swift b/Tests/TuistKitTests/Services/BuildServiceTests.swift index bfd055b7c..d55761cc2 100644 --- a/Tests/TuistKitTests/Services/BuildServiceTests.swift +++ b/Tests/TuistKitTests/Services/BuildServiceTests.swift @@ -295,8 +295,8 @@ final class BuildServiceTests: TuistUnitTestCase { // MARK: - Helpers -private extension BuildService { - func testRun( +extension BuildService { + fileprivate func testRun( schemeName: String? = nil, generate: Bool = false, clean: Bool = true, diff --git a/Tests/TuistKitTests/Services/CleanServiceTests.swift b/Tests/TuistKitTests/Services/CleanServiceTests.swift index ac1882c46..34c264d8a 100644 --- a/Tests/TuistKitTests/Services/CleanServiceTests.swift +++ b/Tests/TuistKitTests/Services/CleanServiceTests.swift @@ -43,7 +43,10 @@ final class CleanServiceTests: TuistUnitTestCase { let buildsExists = FileManager.default.fileExists(atPath: cachePaths[1].pathString) XCTAssertFalse(buildsExists, "Cache folder at path \(cachePaths[1]) should have been deleted by the test.") let manifestsExists = FileManager.default.fileExists(atPath: cachePaths[2].pathString) - XCTAssertTrue(manifestsExists, "Cache folder at path \(cachePaths[2].pathString) should not have been deleted by the test.") + XCTAssertTrue( + manifestsExists, + "Cache folder at path \(cachePaths[2].pathString) should not have been deleted by the test." + ) let testsExists = FileManager.default.fileExists(atPath: cachePaths[3].pathString) XCTAssertFalse(testsExists, "Cache folder at path \(cachePaths[3].pathString) should not have been deleted by the test.") } diff --git a/Tests/TuistKitTests/Services/FocusServiceTests.swift b/Tests/TuistKitTests/Services/FocusServiceTests.swift index 7bc39a7c8..4687485bb 100644 --- a/Tests/TuistKitTests/Services/FocusServiceTests.swift +++ b/Tests/TuistKitTests/Services/FocusServiceTests.swift @@ -10,7 +10,12 @@ import XCTest @testable import TuistLoaderTesting @testable import TuistSupportTesting -private typealias GeneratorParameters = (sources: Set, xcframeworks: Bool, cacheProfile: TuistGraph.Cache.Profile, ignoreCache: Bool) +private typealias GeneratorParameters = ( + sources: Set, + xcframeworks: Bool, + cacheProfile: TuistGraph.Cache.Profile, + ignoreCache: Bool +) final class FocusServiceTests: TuistUnitTestCase { var subject: FocusService! @@ -41,7 +46,10 @@ final class FocusServiceTests: TuistUnitTestCase { throw error } - XCTAssertThrowsError(try subject.run(path: nil, sources: ["Target"], noOpen: true, xcframeworks: false, profile: nil, ignoreCache: false)) { + XCTAssertThrowsError( + try subject + .run(path: nil, sources: ["Target"], noOpen: true, xcframeworks: false, profile: nil, ignoreCache: false) + ) { XCTAssertEqual($0 as NSError?, error) } } diff --git a/Tests/TuistKitTests/Services/Lint/LintCodeServiceTests.swift b/Tests/TuistKitTests/Services/Lint/LintCodeServiceTests.swift index d548dc01a..54e12b210 100644 --- a/Tests/TuistKitTests/Services/Lint/LintCodeServiceTests.swift +++ b/Tests/TuistKitTests/Services/Lint/LintCodeServiceTests.swift @@ -63,7 +63,10 @@ final class LintCodeServiceTests: TuistUnitTestCase { manifestGraphLoader.stubLoadGraph = graph // When - XCTAssertThrowsSpecific(try subject.run(path: project.path.pathString, targetName: fakeNoExistTargetName, strict: false), LintCodeServiceError.targetNotFound(fakeNoExistTargetName)) + XCTAssertThrowsSpecific( + try subject.run(path: project.path.pathString, targetName: fakeNoExistTargetName, strict: false), + LintCodeServiceError.targetNotFound(fakeNoExistTargetName) + ) } func test_run_throws_an_error_when_target_to_lint_has_no_sources() throws { @@ -85,7 +88,10 @@ final class LintCodeServiceTests: TuistUnitTestCase { manifestGraphLoader.stubLoadGraph = graph // When - XCTAssertThrowsSpecific(try subject.run(path: project.path.pathString, targetName: target01.name, strict: false), LintCodeServiceError.lintableFilesForTargetNotFound(target01.name)) + XCTAssertThrowsSpecific( + try subject.run(path: project.path.pathString, targetName: target01.name, strict: false), + LintCodeServiceError.lintableFilesForTargetNotFound(target01.name) + ) } func test_run_throws_an_error_when_code_liner_throws_error() throws { diff --git a/Tests/TuistKitTests/Services/RunServiceTests.swift b/Tests/TuistKitTests/Services/RunServiceTests.swift index da7a91e49..23967251f 100644 --- a/Tests/TuistKitTests/Services/RunServiceTests.swift +++ b/Tests/TuistKitTests/Services/RunServiceTests.swift @@ -148,17 +148,18 @@ final class RunServiceTests: TuistUnitTestCase { let version = Version(string: "15.0.0") let deviceName = "iPhone 11" let arguments = ["-arg1", "--arg2", "SomeArgument"] - targetRunner.runTargetStub = { _, _workspacePath, _schemeName, _configuration, _minVersion, _version, _deviceName, _arguments in - // Then - XCTAssertEqual(_workspacePath, workspacePath) - XCTAssertEqual(_schemeName, schemeName) - XCTAssertEqual(_configuration, configuration) - XCTAssertEqual(_minVersion, minVersion) - XCTAssertEqual(_version, version) - XCTAssertEqual(_deviceName, deviceName) - XCTAssertEqual(_arguments, arguments) - expectation.fulfill() - } + targetRunner + .runTargetStub = { _, _workspacePath, _schemeName, _configuration, _minVersion, _version, _deviceName, _arguments in + // Then + XCTAssertEqual(_workspacePath, workspacePath) + XCTAssertEqual(_schemeName, schemeName) + XCTAssertEqual(_configuration, configuration) + XCTAssertEqual(_minVersion, minVersion) + XCTAssertEqual(_version, version) + XCTAssertEqual(_deviceName, deviceName) + XCTAssertEqual(_arguments, arguments) + expectation.fulfill() + } generator.generateWithGraphStub = { _, _ in (workspacePath, .test()) } targetRunner.assertCanRunTargetStub = { _ in } buildGraphInspector.workspacePathStub = { _ in workspacePath } @@ -198,8 +199,8 @@ final class RunServiceTests: TuistUnitTestCase { } } -private extension RunService { - func run( +extension RunService { + fileprivate func run( schemeName: String = Scheme.test().name, generate: Bool = false, clean: Bool = false, diff --git a/Tests/TuistKitTests/Services/ScaffoldServiceTests.swift b/Tests/TuistKitTests/Services/ScaffoldServiceTests.swift index 495d60fdf..313cb844b 100644 --- a/Tests/TuistKitTests/Services/ScaffoldServiceTests.swift +++ b/Tests/TuistKitTests/Services/ScaffoldServiceTests.swift @@ -164,8 +164,10 @@ final class ScaffoldServiceTests: TuistUnitTestCase { func test_attributes_are_passed_to_generator() throws { // Given templateLoader.loadTemplateStub = { _ in - Template.test(attributes: [.optional("optional", default: ""), - .required("required")]) + Template.test(attributes: [ + .optional("optional", default: ""), + .required("required"), + ]) } templatesDirectoryLocator.templateDirectoriesStub = { _ in @@ -185,8 +187,10 @@ final class ScaffoldServiceTests: TuistUnitTestCase { // Then XCTAssertEqual( - ["optional": "optionalValue", - "required": "requiredValue"], + [ + "optional": "optionalValue", + "required": "requiredValue", + ], generateAttributes ) } diff --git a/Tests/TuistKitTests/Services/TestServiceTests.swift b/Tests/TuistKitTests/Services/TestServiceTests.swift index a976c85e8..75480cd27 100644 --- a/Tests/TuistKitTests/Services/TestServiceTests.swift +++ b/Tests/TuistKitTests/Services/TestServiceTests.swift @@ -315,8 +315,8 @@ final class TestServiceTests: TuistUnitTestCase { // MARK: - Helpers -private extension TestService { - func testRun( +extension TestService { + fileprivate func testRun( schemeName: String? = nil, clean: Bool = false, configuration: String? = nil, diff --git a/Tests/TuistLoaderIntegrationTests/ProjectDescriptionHelpers/ProjectDescriptionHelpersBuilderIntegrationTests.swift b/Tests/TuistLoaderIntegrationTests/ProjectDescriptionHelpers/ProjectDescriptionHelpersBuilderIntegrationTests.swift index 63b496d6a..492ae3b59 100644 --- a/Tests/TuistLoaderIntegrationTests/ProjectDescriptionHelpers/ProjectDescriptionHelpersBuilderIntegrationTests.swift +++ b/Tests/TuistLoaderIntegrationTests/ProjectDescriptionHelpers/ProjectDescriptionHelpersBuilderIntegrationTests.swift @@ -36,7 +36,11 @@ final class ProjectDescriptionHelpersBuilderIntegrationTests: TuistTestCase { let helpersPath = path.appending(RelativePath("\(Constants.tuistDirectoryName)/\(Constants.helpersDirectoryName)")) try FileHandler.shared.createFolder(path.appending(component: Constants.tuistDirectoryName)) try FileHandler.shared.createFolder(helpersPath) - try FileHandler.shared.write("import Foundation; class Test {}", path: helpersPath.appending(component: "Helper.swift"), atomically: true) + try FileHandler.shared.write( + "import Foundation; class Test {}", + path: helpersPath.appending(component: "Helper.swift"), + atomically: true + ) let projectDescriptionPath = try resourceLocator.projectDescription() let searchPaths = ProjectDescriptionSearchPaths.paths(for: projectDescriptionPath) @@ -62,7 +66,11 @@ final class ProjectDescriptionHelpersBuilderIntegrationTests: TuistTestCase { let helpersPluginPath = path.appending(components: "Plugin", Constants.helpersDirectoryName) try FileHandler.shared.createFolder(path.appending(component: "Plugin")) try FileHandler.shared.createFolder(helpersPluginPath) - try FileHandler.shared.write("import Foundation; class Test {}", path: helpersPluginPath.appending(component: "Helper.swift"), atomically: true) + try FileHandler.shared.write( + "import Foundation; class Test {}", + path: helpersPluginPath.appending(component: "Helper.swift"), + atomically: true + ) let projectDescriptionPath = try resourceLocator.projectDescription() let searchPaths = ProjectDescriptionSearchPaths.paths(for: projectDescriptionPath) let plugins = [ProjectDescriptionHelpersPlugin(name: "Plugin", path: helpersPluginPath, location: .local)] diff --git a/Tests/TuistLoaderTests/Extensions/TuistTestCase+ManifestMappers.swift b/Tests/TuistLoaderTests/Extensions/TuistTestCase+ManifestMappers.swift index 975f7725d..6a6e65442 100644 --- a/Tests/TuistLoaderTests/Extensions/TuistTestCase+ManifestMappers.swift +++ b/Tests/TuistLoaderTests/Extensions/TuistTestCase+ManifestMappers.swift @@ -18,10 +18,17 @@ extension TuistTestCase { { XCTAssertEqual(settings.base.count, manifest.base.count, file: file, line: line) - let sortedConfigurations = settings.configurations.sorted { (l, r) -> Bool in l.key.name < r.key.name } + let sortedConfigurations = settings.configurations.sorted { l, r -> Bool in l.key.name < r.key.name } let sortedManifestConfigurations = manifest.configurations.sorted(by: { $0.name.rawValue < $1.name.rawValue }) for (configuration, manifestConfiguration) in zip(sortedConfigurations, sortedManifestConfigurations) { - XCTAssertBuildConfigurationMatchesManifest(configuration: configuration, matches: manifestConfiguration, at: path, generatorPaths: generatorPaths, file: file, line: line) + XCTAssertBuildConfigurationMatchesManifest( + configuration: configuration, + matches: manifestConfiguration, + at: path, + generatorPaths: generatorPaths, + file: file, + line: line + ) } } @@ -37,11 +44,30 @@ extension TuistTestCase { XCTAssertTrue(target.platform == manifest.platform, file: file, line: line) XCTAssertTrue(target.product == manifest.product, file: file, line: line) XCTAssertEqual(target.infoPlist?.path, try generatorPaths.resolve(path: manifest.infoPlist.path!), file: file, line: line) - XCTAssertEqual(target.entitlements, try manifest.entitlements.map { try generatorPaths.resolve(path: $0) }, file: file, line: line) + XCTAssertEqual( + target.entitlements, + try manifest.entitlements.map { try generatorPaths.resolve(path: $0) }, + file: file, + line: line + ) XCTAssertEqual(target.environment, manifest.environment, file: file, line: line) - try assert(coreDataModels: target.coreDataModels, matches: manifest.coreDataModels, at: path, generatorPaths: generatorPaths, file: file, line: line) + try assert( + coreDataModels: target.coreDataModels, + matches: manifest.coreDataModels, + at: path, + generatorPaths: generatorPaths, + file: file, + line: line + ) try optionalAssert(target.settings, manifest.settings, file: file, line: line) { - XCTAssertSettingsMatchesManifest(settings: $0, matches: $1, at: path, generatorPaths: generatorPaths, file: file, line: line) + XCTAssertSettingsMatchesManifest( + settings: $0, + matches: $1, + at: path, + generatorPaths: generatorPaths, + file: file, + line: line + ) } } @@ -76,7 +102,10 @@ extension TuistTestCase { { XCTAssertEqual(coreDataModels.count, manifests.count, file: file, line: line) XCTAssertTrue( - try coreDataModels.elementsEqual(manifests, by: { try coreDataModel($0, matches: $1, at: path, generatorPaths: generatorPaths) }), + try coreDataModels.elementsEqual( + manifests, + by: { try coreDataModel($0, matches: $1, at: path, generatorPaths: generatorPaths) } + ), file: file, line: line ) diff --git a/Tests/TuistLoaderTests/Linters/ManifestLinterTests.swift b/Tests/TuistLoaderTests/Linters/ManifestLinterTests.swift index 4975924b1..8a937a705 100644 --- a/Tests/TuistLoaderTests/Linters/ManifestLinterTests.swift +++ b/Tests/TuistLoaderTests/Linters/ManifestLinterTests.swift @@ -36,8 +36,14 @@ class ManifestLinterTests: XCTestCase { let results = subject.lint(project: project) // Then - XCTAssertTrue(results.contains(LintingIssue(reason: "The configuration 'A' is declared multiple times within 'MyProject' settings. The last declared configuration will be used.", severity: .warning))) - XCTAssertTrue(results.contains(LintingIssue(reason: "The configuration 'B' is declared multiple times within 'MyProject' settings. The last declared configuration will be used.", severity: .warning))) + XCTAssertTrue(results.contains(LintingIssue( + reason: "The configuration 'A' is declared multiple times within 'MyProject' settings. The last declared configuration will be used.", + severity: .warning + ))) + XCTAssertTrue(results.contains(LintingIssue( + reason: "The configuration 'B' is declared multiple times within 'MyProject' settings. The last declared configuration will be used.", + severity: .warning + ))) } func test_lint_target_duplicateConfigurationNames() { @@ -56,7 +62,13 @@ class ManifestLinterTests: XCTestCase { let results = subject.lint(project: project) // Then - XCTAssertTrue(results.contains(LintingIssue(reason: "The configuration 'A' is declared multiple times within 'MyFramework' settings. The last declared configuration will be used.", severity: .warning))) - XCTAssertTrue(results.contains(LintingIssue(reason: "The configuration 'B' is declared multiple times within 'MyFramework' settings. The last declared configuration will be used.", severity: .warning))) + XCTAssertTrue(results.contains(LintingIssue( + reason: "The configuration 'A' is declared multiple times within 'MyFramework' settings. The last declared configuration will be used.", + severity: .warning + ))) + XCTAssertTrue(results.contains(LintingIssue( + reason: "The configuration 'B' is declared multiple times within 'MyFramework' settings. The last declared configuration will be used.", + severity: .warning + ))) } } diff --git a/Tests/TuistLoaderTests/Loaders/ConfigLoaderTests.swift b/Tests/TuistLoaderTests/Loaders/ConfigLoaderTests.swift index c194695e9..9201bf6a3 100644 --- a/Tests/TuistLoaderTests/Loaders/ConfigLoaderTests.swift +++ b/Tests/TuistLoaderTests/Loaders/ConfigLoaderTests.swift @@ -28,7 +28,7 @@ final class ConfigLoaderTests: TuistUnitTestCase { } manifestLoader.loadConfigStub = { [weak self] path in guard let self = self, - let config = self.registeredConfigs[path] + let config = self.registeredConfigs[path] else { throw ManifestLoaderError.manifestNotFound(.config, path) } diff --git a/Tests/TuistLoaderTests/Loaders/ManifestLoaderErrorTests.swift b/Tests/TuistLoaderTests/Loaders/ManifestLoaderErrorTests.swift index 93c63b03e..806c03bfc 100644 --- a/Tests/TuistLoaderTests/Loaders/ManifestLoaderErrorTests.swift +++ b/Tests/TuistLoaderTests/Loaders/ManifestLoaderErrorTests.swift @@ -8,10 +8,22 @@ import XCTest final class ManifestLoaderErrorTests: TuistUnitTestCase { func test_description() { - XCTAssertEqual(ManifestLoaderError.projectDescriptionNotFound(AbsolutePath("/test")).description, "Couldn't find ProjectDescription.framework at path /test") - XCTAssertEqual(ManifestLoaderError.unexpectedOutput(AbsolutePath("/test/")).description, "Unexpected output trying to parse the manifest at path /test") - XCTAssertEqual(ManifestLoaderError.manifestNotFound(.project, AbsolutePath("/test/")).description, "Project.swift not found at path /test") - XCTAssertEqual(ManifestLoaderError.manifestNotFound(nil, AbsolutePath("/test/")).description, "Manifest not found at path /test") + XCTAssertEqual( + ManifestLoaderError.projectDescriptionNotFound(AbsolutePath("/test")).description, + "Couldn't find ProjectDescription.framework at path /test" + ) + XCTAssertEqual( + ManifestLoaderError.unexpectedOutput(AbsolutePath("/test/")).description, + "Unexpected output trying to parse the manifest at path /test" + ) + XCTAssertEqual( + ManifestLoaderError.manifestNotFound(.project, AbsolutePath("/test/")).description, + "Project.swift not found at path /test" + ) + XCTAssertEqual( + ManifestLoaderError.manifestNotFound(nil, AbsolutePath("/test/")).description, + "Manifest not found at path /test" + ) } func test_type() { diff --git a/Tests/TuistLoaderTests/Models+ManifestMappers/CoreDataModel+ManifestMapperTests.swift b/Tests/TuistLoaderTests/Models+ManifestMappers/CoreDataModel+ManifestMapperTests.swift index 76f226943..c3ee34332 100644 --- a/Tests/TuistLoaderTests/Models+ManifestMappers/CoreDataModel+ManifestMapperTests.swift +++ b/Tests/TuistLoaderTests/Models+ManifestMappers/CoreDataModel+ManifestMapperTests.swift @@ -32,7 +32,10 @@ final class CoreDataModelManifestMapperTests: TuistUnitTestCase { let temporaryPath = try self.temporaryPath() let generatorPaths = GeneratorPaths(manifestDirectory: temporaryPath) - try FileManager.default.createDirectory(at: temporaryPath.appending(component: "model.xcdatamodeld").asURL, withIntermediateDirectories: false) + try FileManager.default.createDirectory( + at: temporaryPath.appending(component: "model.xcdatamodeld").asURL, + withIntermediateDirectories: false + ) try createVersionFile(xcVersion: xcVersionDataString(), temporaryPath: temporaryPath) let manifestWithoutCurrentVersion = ProjectDescription.CoreDataModel("model.xcdatamodeld") @@ -43,7 +46,12 @@ final class CoreDataModelManifestMapperTests: TuistUnitTestCase { let manifestWithCurrentVersionExplicitly = ProjectDescription.CoreDataModel("model.xcdatamodeld", currentVersion: "83") // Then - XCTAssertTrue(try coreDataModel(model, matches: manifestWithCurrentVersionExplicitly, at: temporaryPath, generatorPaths: generatorPaths)) + XCTAssertTrue(try coreDataModel( + model, + matches: manifestWithCurrentVersionExplicitly, + at: temporaryPath, + generatorPaths: generatorPaths + )) } func test_from_getsCurrentVersionFrom_file_xccurrentversion_butCannotFindVersion() throws { @@ -51,8 +59,14 @@ final class CoreDataModelManifestMapperTests: TuistUnitTestCase { let temporaryPath = try self.temporaryPath() let generatorPaths = GeneratorPaths(manifestDirectory: temporaryPath) - try FileManager.default.createDirectory(at: temporaryPath.appending(component: "model.xcdatamodeld").asURL, withIntermediateDirectories: false) - try createVersionFile(xcVersion: "Let's say that apple changes the format without telling anyone, being typical Apple.", temporaryPath: temporaryPath) + try FileManager.default.createDirectory( + at: temporaryPath.appending(component: "model.xcdatamodeld").asURL, + withIntermediateDirectories: false + ) + try createVersionFile( + xcVersion: "Let's say that apple changes the format without telling anyone, being typical Apple.", + temporaryPath: temporaryPath + ) // When let manifestWithoutCurrentVersion = ProjectDescription.CoreDataModel("model.xcdatamodeld") @@ -85,7 +99,8 @@ final class CoreDataModelManifestMapperTests: TuistUnitTestCase { } private func createVersionFile(xcVersion: String, temporaryPath: AbsolutePath) throws { - let urlToCurrentVersion = temporaryPath.appending(RelativePath("model.xcdatamodeld")).appending(component: ".xccurrentversion") + let urlToCurrentVersion = temporaryPath.appending(RelativePath("model.xcdatamodeld")) + .appending(component: ".xccurrentversion") let data = try XCTUnwrap(xcVersion.data(using: .utf8)) try data.write(to: urlToCurrentVersion.asURL) } diff --git a/Tests/TuistLoaderTests/Models+ManifestMappers/FileElement+ManifestMapperTests.swift b/Tests/TuistLoaderTests/Models+ManifestMappers/FileElement+ManifestMapperTests.swift index 7dda25599..71cdea5f3 100644 --- a/Tests/TuistLoaderTests/Models+ManifestMappers/FileElement+ManifestMapperTests.swift +++ b/Tests/TuistLoaderTests/Models+ManifestMappers/FileElement+ManifestMapperTests.swift @@ -30,7 +30,9 @@ final class FileElementManifestMapperTests: TuistUnitTestCase { // Then let documentationPath = temporaryPath.appending(component: "Documentation").pathString - XCTAssertPrinterOutputContains("'\(documentationPath)' is a directory, try using: '\(documentationPath)/**' to list its files") + XCTAssertPrinterOutputContains( + "'\(documentationPath)' is a directory, try using: '\(documentationPath)/**' to list its files" + ) XCTAssertEqual(model, []) } diff --git a/Tests/TuistLoaderTests/Models+ManifestMappers/ResourceFileElementManifestMapperTests.swift b/Tests/TuistLoaderTests/Models+ManifestMappers/ResourceFileElementManifestMapperTests.swift index 836bd7da7..ec6d31772 100644 --- a/Tests/TuistLoaderTests/Models+ManifestMappers/ResourceFileElementManifestMapperTests.swift +++ b/Tests/TuistLoaderTests/Models+ManifestMappers/ResourceFileElementManifestMapperTests.swift @@ -30,7 +30,9 @@ final class ResourceFileElementManifestMapperTests: TuistUnitTestCase { // Then let documentationPath = temporaryPath.appending(component: "Documentation").pathString - XCTAssertPrinterOutputContains("'\(documentationPath)' is a directory, try using: '\(documentationPath)/**' to list its files") + XCTAssertPrinterOutputContains( + "'\(documentationPath)' is a directory, try using: '\(documentationPath)/**' to list its files" + ) XCTAssertEqual(model, []) } @@ -78,7 +80,10 @@ final class ResourceFileElementManifestMapperTests: TuistUnitTestCase { let error = GlobError.nonExistentDirectory(invalidGlob) // Then - XCTAssertThrowsSpecific(try TuistGraph.ResourceFileElement.from(manifest: manifest, generatorPaths: generatorPaths), error) + XCTAssertThrowsSpecific( + try TuistGraph.ResourceFileElement.from(manifest: manifest, generatorPaths: generatorPaths), + error + ) } func test_excluding() throws { diff --git a/Tests/TuistLoaderTests/Models+ManifestMappers/Target+ManifestMapperTests.swift b/Tests/TuistLoaderTests/Models+ManifestMappers/Target+ManifestMapperTests.swift index 9360831e3..8926ef0ef 100644 --- a/Tests/TuistLoaderTests/Models+ManifestMappers/Target+ManifestMapperTests.swift +++ b/Tests/TuistLoaderTests/Models+ManifestMappers/Target+ManifestMapperTests.swift @@ -18,6 +18,9 @@ final class TargetManifestMapperErrorTests: TuistUnitTestCase { let got = subject.description // Then - XCTAssertEqual(got, "The target Target has the following invalid resource globs:\n" + invalidGlobs.invalidGlobsDescription) + XCTAssertEqual( + got, + "The target Target has the following invalid resource globs:\n" + invalidGlobs.invalidGlobsDescription + ) } } diff --git a/Tests/TuistLoaderTests/Models+ManifestMappers/TargetDependency+ManifestMapperTests.swift b/Tests/TuistLoaderTests/Models+ManifestMappers/TargetDependency+ManifestMapperTests.swift index 1f96e2330..f878f7513 100644 --- a/Tests/TuistLoaderTests/Models+ManifestMappers/TargetDependency+ManifestMapperTests.swift +++ b/Tests/TuistLoaderTests/Models+ManifestMappers/TargetDependency+ManifestMapperTests.swift @@ -16,7 +16,11 @@ final class DependencyManifestMapperTests: TuistUnitTestCase { let generatorPaths = GeneratorPaths(manifestDirectory: AbsolutePath("/")) // When - let got = try TuistGraph.TargetDependency.from(manifest: dependency, generatorPaths: generatorPaths, externalDependencies: [:]) + let got = try TuistGraph.TargetDependency.from( + manifest: dependency, + generatorPaths: generatorPaths, + externalDependencies: [:] + ) // Then XCTAssertEqual(got.count, 1) diff --git a/Tests/TuistLoaderTests/Models/GeneratorPathsTests.swift b/Tests/TuistLoaderTests/Models/GeneratorPathsTests.swift index b58bd17e8..e0207b0cd 100644 --- a/Tests/TuistLoaderTests/Models/GeneratorPathsTests.swift +++ b/Tests/TuistLoaderTests/Models/GeneratorPathsTests.swift @@ -25,7 +25,10 @@ class GeneratorPathsErrorTests: TuistUnitTestCase { let error = GeneratorPathsError.rootDirectoryNotFound(path) // Then - XCTAssertEqual(error.description, "Couldn't locate the root directory from path \(path.pathString). The root directory is the closest directory that contains a Tuist or a .git directory.") + XCTAssertEqual( + error.description, + "Couldn't locate the root directory from path \(path.pathString). The root directory is the closest directory that contains a Tuist or a .git directory." + ) } } diff --git a/Tests/TuistMigrationIntegrationTests/Utilities/EmptyBuildSettingsCheckerIntegrationTests.swift b/Tests/TuistMigrationIntegrationTests/Utilities/EmptyBuildSettingsCheckerIntegrationTests.swift index c3d04b9ce..3a98d89ea 100644 --- a/Tests/TuistMigrationIntegrationTests/Utilities/EmptyBuildSettingsCheckerIntegrationTests.swift +++ b/Tests/TuistMigrationIntegrationTests/Utilities/EmptyBuildSettingsCheckerIntegrationTests.swift @@ -51,6 +51,8 @@ final class EmptyBuildSettingsCheckerIntegrationTests: TuistTestCase { xcodeprojPath: xcodeprojPath, targetName: nil ), EmptyBuildSettingsCheckerError.nonEmptyBuildSettings(["Debug", "Release"])) - XCTAssertPrinterOutputContains("The build setting 'GCC_WARN_UNUSED_VARIABLE' of build configuration 'Debug' is not empty.") + XCTAssertPrinterOutputContains( + "The build setting 'GCC_WARN_UNUSED_VARIABLE' of build configuration 'Debug' is not empty." + ) } } diff --git a/Tests/TuistMigrationIntegrationTests/Utilities/TargetsExtractorIntegrationTests.swift b/Tests/TuistMigrationIntegrationTests/Utilities/TargetsExtractorIntegrationTests.swift index 9b0b70aca..61b88dde8 100644 --- a/Tests/TuistMigrationIntegrationTests/Utilities/TargetsExtractorIntegrationTests.swift +++ b/Tests/TuistMigrationIntegrationTests/Utilities/TargetsExtractorIntegrationTests.swift @@ -24,7 +24,10 @@ final class TargetsExtractorIntegrationTests: TuistTestCase { let xcodeprojPath = AbsolutePath("/invalid/path.xcodeproj") // Then - XCTAssertThrowsSpecific(try subject.targetsSortedByDependencies(xcodeprojPath: xcodeprojPath), TargetsExtractorError.missingXcodeProj(xcodeprojPath)) + XCTAssertThrowsSpecific( + try subject.targetsSortedByDependencies(xcodeprojPath: xcodeprojPath), + TargetsExtractorError.missingXcodeProj(xcodeprojPath) + ) } func test_when_existing_xcodeproj_path_with_targets() throws { diff --git a/Tests/TuistMigrationTests/Utilities/EmptyBuildSettingsCheckerTests.swift b/Tests/TuistMigrationTests/Utilities/EmptyBuildSettingsCheckerTests.swift index a20724d79..7565e1c54 100644 --- a/Tests/TuistMigrationTests/Utilities/EmptyBuildSettingsCheckerTests.swift +++ b/Tests/TuistMigrationTests/Utilities/EmptyBuildSettingsCheckerTests.swift @@ -6,10 +6,22 @@ import XCTest final class EmptyBuildSettingsCheckerErrorTests: TuistUnitTestCase { func test_description() { - XCTAssertEqual(EmptyBuildSettingsCheckerError.missingXcodeProj("/tuist.xcodeproj").description, "Couldn't find Xcode project at path /tuist.xcodeproj.") - XCTAssertEqual(EmptyBuildSettingsCheckerError.missingProject.description, "The project's pbxproj file contains no projects.") - XCTAssertEqual(EmptyBuildSettingsCheckerError.targetNotFound("Tuist").description, "Couldn't find target with name 'Tuist' in the project.") - XCTAssertEqual(EmptyBuildSettingsCheckerError.nonEmptyBuildSettings(["Tuist"]).description, "The following configurations have non-empty build setttings: Tuist") + XCTAssertEqual( + EmptyBuildSettingsCheckerError.missingXcodeProj("/tuist.xcodeproj").description, + "Couldn't find Xcode project at path /tuist.xcodeproj." + ) + XCTAssertEqual( + EmptyBuildSettingsCheckerError.missingProject.description, + "The project's pbxproj file contains no projects." + ) + XCTAssertEqual( + EmptyBuildSettingsCheckerError.targetNotFound("Tuist").description, + "Couldn't find target with name 'Tuist' in the project." + ) + XCTAssertEqual( + EmptyBuildSettingsCheckerError.nonEmptyBuildSettings(["Tuist"]).description, + "The following configurations have non-empty build setttings: Tuist" + ) } func test_type() { diff --git a/Tests/TuistPluginTests/PluginServiceTests.swift b/Tests/TuistPluginTests/PluginServiceTests.swift index 8c27aff24..6e7715432 100644 --- a/Tests/TuistPluginTests/PluginServiceTests.swift +++ b/Tests/TuistPluginTests/PluginServiceTests.swift @@ -73,7 +73,8 @@ final class PluginServiceTests: TuistTestCase { // Then let expectedHelpersPath = pluginPath.appending(component: Constants.helpersDirectoryName) - let expectedPlugins = Plugins.test(projectDescriptionHelpers: [.init(name: pluginName, path: expectedHelpersPath, location: .local)]) + let expectedPlugins = Plugins + .test(projectDescriptionHelpers: [.init(name: pluginName, path: expectedHelpersPath, location: .local)]) XCTAssertEqual(plugins, expectedPlugins) } @@ -102,7 +103,8 @@ final class PluginServiceTests: TuistTestCase { // Then let expectedHelpersPath = cachedPluginPath.appending(component: Constants.helpersDirectoryName) - let expectedPlugins = Plugins.test(projectDescriptionHelpers: [.init(name: pluginName, path: expectedHelpersPath, location: .remote)]) + let expectedPlugins = Plugins + .test(projectDescriptionHelpers: [.init(name: pluginName, path: expectedHelpersPath, location: .remote)]) XCTAssertEqual(plugins, expectedPlugins) } diff --git a/Tests/TuistScaffoldTests/TemplateGeneratorTests.swift b/Tests/TuistScaffoldTests/TemplateGeneratorTests.swift index 3fd960a9d..f643db4a0 100644 --- a/Tests/TuistScaffoldTests/TemplateGeneratorTests.swift +++ b/Tests/TuistScaffoldTests/TemplateGeneratorTests.swift @@ -52,17 +52,21 @@ final class TemplateGeneratorTests: TuistTestCase { } let template = Template.test(items: items) let destinationPath = try temporaryPath() - let expectedDirectories = [RelativePath("test_name"), - RelativePath("test"), - RelativePath("test_name/nested_dir")].map(destinationPath.appending) + let expectedDirectories = [ + RelativePath("test_name"), + RelativePath("test"), + RelativePath("test_name/nested_dir"), + ].map(destinationPath.appending) // When try subject.generate( template: template, to: destinationPath, - attributes: ["name": "test_name", - "aName": "test", - "bName": "nested_dir"] + attributes: [ + "name": "test_name", + "aName": "test", + "bName": "nested_dir", + ] ) // Then @@ -154,7 +158,10 @@ final class TemplateGeneratorTests: TuistTestCase { let bContent = "test b content" let items = [ Template.Item(path: RelativePath("a/file"), contents: .file(sourcePath.appending(component: "testFile"))), - Template.Item(path: RelativePath("b/{{ name }}/file"), contents: .file(sourcePath.appending(components: "bTestFile"))), + Template.Item( + path: RelativePath("b/{{ name }}/file"), + contents: .file(sourcePath.appending(components: "bTestFile")) + ), ] let template = Template.test(items: items) try FileHandler.shared.write(aContent, path: sourcePath.appending(component: "testFile"), atomically: true) diff --git a/Tests/TuistSigningIntegrationTests/SecurityControllerIntegrationTests.swift b/Tests/TuistSigningIntegrationTests/SecurityControllerIntegrationTests.swift index 38d29805b..4d1ad53eb 100644 --- a/Tests/TuistSigningIntegrationTests/SecurityControllerIntegrationTests.swift +++ b/Tests/TuistSigningIntegrationTests/SecurityControllerIntegrationTests.swift @@ -57,7 +57,10 @@ final class SecurityControllerIntegrationTests: TuistTestCase { let currentDirectory = AbsolutePath(#file.replacingOccurrences(of: "file://", with: "")).removingLastComponent() let certificateParser = CertificateParser() - let certificate = try certificateParser.parse(publicKey: currentDirectory.appending(component: "Target.Debug.cer"), privateKey: currentDirectory.appending(component: "Target.Debug.p12")) + let certificate = try certificateParser.parse( + publicKey: currentDirectory.appending(component: "Target.Debug.cer"), + privateKey: currentDirectory.appending(component: "Target.Debug.p12") + ) try subject.createKeychain(at: keychainPath, password: "") try subject.unlockKeychain(at: keychainPath, password: "") diff --git a/Tests/TuistSigningTests/CertificateParserTests.swift b/Tests/TuistSigningTests/CertificateParserTests.swift index 09a219288..761d28015 100644 --- a/Tests/TuistSigningTests/CertificateParserTests.swift +++ b/Tests/TuistSigningTests/CertificateParserTests.swift @@ -95,7 +95,8 @@ final class CertificateParserTests: TuistUnitTestCase { // Given let publicKey = try temporaryPath().appending(component: "Target.Debug.p12") let privateKey = try temporaryPath() - let subjectOutput = "subject=UID = VD55TKL3V6, CN = Apple Development: Name (54GSF6G47V), OU = QH95ER52SG, O = Name, C = US" + let subjectOutput = + "subject=UID = VD55TKL3V6, CN = Apple Development: Name (54GSF6G47V), OU = QH95ER52SG, O = Name, C = US" system.succeedCommand( "openssl", "x509", "-inform", "der", "-in", publicKey.pathString, "-noout", "-subject", output: subjectOutput diff --git a/Tests/TuistSigningTests/Mocks/MockSigningMatcher.swift b/Tests/TuistSigningTests/Mocks/MockSigningMatcher.swift index ff5cf052f..f5be61659 100644 --- a/Tests/TuistSigningTests/Mocks/MockSigningMatcher.swift +++ b/Tests/TuistSigningTests/Mocks/MockSigningMatcher.swift @@ -3,8 +3,13 @@ import TuistCore @testable import TuistSigning final class MockSigningMatcher: SigningMatching { - var matchStub: ((AbsolutePath) throws -> (certificates: [String: Certificate], provisioningProfiles: [String: [String: ProvisioningProfile]]))? - func match(from path: AbsolutePath) throws -> (certificates: [String: Certificate], provisioningProfiles: [String: [String: ProvisioningProfile]]) { + var matchStub: ( + (AbsolutePath) throws + -> (certificates: [String: Certificate], provisioningProfiles: [String: [String: ProvisioningProfile]]) + )? + func match(from path: AbsolutePath) throws + -> (certificates: [String: Certificate], provisioningProfiles: [String: [String: ProvisioningProfile]]) + { try matchStub?(path) ?? (certificates: [:], provisioningProfiles: [:]) } } diff --git a/Tests/TuistSigningTests/ProvisioningProfileParserTests.swift b/Tests/TuistSigningTests/ProvisioningProfileParserTests.swift index 9454948ed..bb66026a8 100644 --- a/Tests/TuistSigningTests/ProvisioningProfileParserTests.swift +++ b/Tests/TuistSigningTests/ProvisioningProfileParserTests.swift @@ -60,8 +60,8 @@ final class ProvisioningProfileParserTests: TuistUnitTestCase { } } -private extension String { - static func testProvisioningProfile( +extension String { + fileprivate static func testProvisioningProfile( name: String, uuid: String, teamId: String, diff --git a/Tests/TuistSigningTests/SecurityControllerTests.swift b/Tests/TuistSigningTests/SecurityControllerTests.swift index eaa8f288d..f1edcbc1c 100644 --- a/Tests/TuistSigningTests/SecurityControllerTests.swift +++ b/Tests/TuistSigningTests/SecurityControllerTests.swift @@ -41,10 +41,42 @@ final class SecurityControllerTests: TuistUnitTestCase { let certificate = Certificate.test(publicKey: certificatePath, privateKey: privateKeyPath) let keychainPath = try temporaryPath() - system.errorCommand("/usr/bin/security", "find-certificate", certificatePath.pathString, "-P", "", "-k", keychainPath.pathString) + system.errorCommand( + "/usr/bin/security", + "find-certificate", + certificatePath.pathString, + "-P", + "", + "-k", + keychainPath.pathString + ) system.errorCommand("/usr/bin/security", "find-key", privateKeyPath.pathString, "-P", "", "-k", keychainPath.pathString) - system.succeedCommand("/usr/bin/security", "import", certificatePath.pathString, "-P", "", "-T", "/usr/bin/codesign", "-T", "/usr/bin/security", "-k", keychainPath.pathString) - system.succeedCommand("/usr/bin/security", "import", privateKeyPath.pathString, "-P", "", "-T", "/usr/bin/codesign", "-T", "/usr/bin/security", "-k", keychainPath.pathString) + system.succeedCommand( + "/usr/bin/security", + "import", + certificatePath.pathString, + "-P", + "", + "-T", + "/usr/bin/codesign", + "-T", + "/usr/bin/security", + "-k", + keychainPath.pathString + ) + system.succeedCommand( + "/usr/bin/security", + "import", + privateKeyPath.pathString, + "-P", + "", + "-T", + "/usr/bin/codesign", + "-T", + "/usr/bin/security", + "-k", + keychainPath.pathString + ) // When try subject.importCertificate(certificate, keychainPath: keychainPath) @@ -61,7 +93,15 @@ final class SecurityControllerTests: TuistUnitTestCase { let certificate = Certificate.test(publicKey: certificatePath, privateKey: privateKeyPath) let keychainPath = try temporaryPath() - system.succeedCommand("/usr/bin/security", "find-certificate", "-c", certificate.name, "-a", keychainPath.pathString, output: "Some output") + system.succeedCommand( + "/usr/bin/security", + "find-certificate", + "-c", + certificate.name, + "-a", + keychainPath.pathString, + output: "Some output" + ) // When try subject.importCertificate(certificate, keychainPath: keychainPath) diff --git a/Tests/TuistSigningTests/SigningCipherTests.swift b/Tests/TuistSigningTests/SigningCipherTests.swift index 41556c153..1a4fa9288 100644 --- a/Tests/TuistSigningTests/SigningCipherTests.swift +++ b/Tests/TuistSigningTests/SigningCipherTests.swift @@ -91,8 +91,14 @@ final class SigningCipherTests: TuistUnitTestCase { // Then XCTAssertEqual(try fileHandler.readTextFile(certFile), certContent) XCTAssertEqual(try fileHandler.readTextFile(profileFile), profileContent) - XCTAssertFalse(fileHandler.exists(AbsolutePath(signingDirectory.pathString + "/ProfileFile.txt" + "." + Constants.encryptedExtension))) - XCTAssertFalse(fileHandler.exists(AbsolutePath(signingDirectory.pathString + "/CertFile.txt" + "." + Constants.encryptedExtension))) + XCTAssertFalse( + fileHandler + .exists(AbsolutePath(signingDirectory.pathString + "/ProfileFile.txt" + "." + Constants.encryptedExtension)) + ) + XCTAssertFalse( + fileHandler + .exists(AbsolutePath(signingDirectory.pathString + "/CertFile.txt" + "." + Constants.encryptedExtension)) + ) } func test_encrypt_signing() throws { diff --git a/Tests/TuistSigningTests/SigningFilesLocatorTests.swift b/Tests/TuistSigningTests/SigningFilesLocatorTests.swift index 337e2cf25..d50c2ee79 100644 --- a/Tests/TuistSigningTests/SigningFilesLocatorTests.swift +++ b/Tests/TuistSigningTests/SigningFilesLocatorTests.swift @@ -64,7 +64,10 @@ final class SigningFilesLocatorTests: TuistUnitTestCase { // Given let rootDirectory = try temporaryPath() rootDirectoryLocator.locateStub = rootDirectory - let expectedSigningDirectory = rootDirectory.appending(components: Constants.tuistDirectoryName, Constants.signingDirectoryName) + let expectedSigningDirectory = rootDirectory.appending( + components: Constants.tuistDirectoryName, + Constants.signingDirectoryName + ) try fileHandler.createFolder(expectedSigningDirectory) // When diff --git a/Tests/TuistSigningTests/SigningInstallerTests.swift b/Tests/TuistSigningTests/SigningInstallerTests.swift index 803f0302c..d30a39f97 100644 --- a/Tests/TuistSigningTests/SigningInstallerTests.swift +++ b/Tests/TuistSigningTests/SigningInstallerTests.swift @@ -101,8 +101,10 @@ final class SigningInstallerTests: TuistUnitTestCase { private func isProfileInstalled(_ profile: ProvisioningProfile) throws -> Bool { let homeDirectoryPath = try temporaryPath() fileHandler.homeDirectoryStub = homeDirectoryPath - let provisioningProfilesDirectoryPath = homeDirectoryPath.appending(RelativePath("Library/MobileDevice/Provisioning Profiles")) - let destinationProvisioningProfilePath = provisioningProfilesDirectoryPath.appending(component: "\(profile.uuid).mobileprovision") + let provisioningProfilesDirectoryPath = homeDirectoryPath + .appending(RelativePath("Library/MobileDevice/Provisioning Profiles")) + let destinationProvisioningProfilePath = provisioningProfilesDirectoryPath + .appending(component: "\(profile.uuid).mobileprovision") return fileHandler.exists(destinationProvisioningProfilePath) } diff --git a/Tests/TuistSigningTests/SigningInteractorTests.swift b/Tests/TuistSigningTests/SigningInteractorTests.swift index 0af68aa52..4bd0358ba 100644 --- a/Tests/TuistSigningTests/SigningInteractorTests.swift +++ b/Tests/TuistSigningTests/SigningInteractorTests.swift @@ -213,7 +213,10 @@ final class SigningInteractorTests: TuistUnitTestCase { let targetName = "target" let configuration = "configuration" let expectedCertificate = Certificate.test(name: "certA") - let expectedProvisioningProfile = ProvisioningProfile.test(name: "profileA", developerCertificateFingerprints: ["fingerprint"]) + let expectedProvisioningProfile = ProvisioningProfile.test( + name: "profileA", + developerCertificateFingerprints: ["fingerprint"] + ) signingMatcher.matchStub = { _ in ( certificates: [ diff --git a/Tests/TuistSigningTests/SigningLinterTests.swift b/Tests/TuistSigningTests/SigningLinterTests.swift index d118943cf..787f4a362 100644 --- a/Tests/TuistSigningTests/SigningLinterTests.swift +++ b/Tests/TuistSigningTests/SigningLinterTests.swift @@ -27,7 +27,8 @@ final class SigningLinterTests: TuistUnitTestCase { let expectedIssues = [ LintingIssue( reason: """ - Certificate \(certificate.name)'s development team \(certificate.developmentTeam) does not correspond to \(provisioningProfile.teamId). + Certificate \(certificate.name)'s development team \(certificate + .developmentTeam) does not correspond to \(provisioningProfile.teamId). Make sure they are the same. """, severity: .error @@ -89,7 +90,8 @@ final class SigningLinterTests: TuistUnitTestCase { got, [LintingIssue( reason: """ - App id \(provisioningProfile.appId) does not correspond to \(provisioningProfile.teamId).\(target.bundleId). Make sure the provisioning profile has been added to the right target. + App id \(provisioningProfile.appId) does not correspond to \(provisioningProfile.teamId).\(target + .bundleId). Make sure the provisioning profile has been added to the right target. """, severity: .error )] @@ -127,7 +129,8 @@ final class SigningLinterTests: TuistUnitTestCase { got, [LintingIssue( reason: """ - App id \(provisioningProfile.appId) does not correspond to \(provisioningProfile.teamId).\(target.bundleId). Make sure the provisioning profile has been added to the right target. + App id \(provisioningProfile.appId) does not correspond to \(provisioningProfile.teamId).\(target + .bundleId). Make sure the provisioning profile has been added to the right target. """, severity: .error )] diff --git a/Tests/TuistSupportTests/Extensions/AbsolutePath+ExtrasTests.swift b/Tests/TuistSupportTests/Extensions/AbsolutePath+ExtrasTests.swift index 037d560ec..6a246cc2d 100644 --- a/Tests/TuistSupportTests/Extensions/AbsolutePath+ExtrasTests.swift +++ b/Tests/TuistSupportTests/Extensions/AbsolutePath+ExtrasTests.swift @@ -60,7 +60,13 @@ final class AbsolutePathExtrasTests: TuistUnitTestCase { let dir = try temporaryPath() // Then - XCTAssertThrowsSpecific(try dir.throwingGlob("invalid/path/**/*"), GlobError.nonExistentDirectory(InvalidGlob(pattern: dir.appending(RelativePath("invalid/path/**/*")).pathString, nonExistentPath: dir.appending(RelativePath("invalid/path/"))))) + XCTAssertThrowsSpecific( + try dir.throwingGlob("invalid/path/**/*"), + GlobError.nonExistentDirectory(InvalidGlob( + pattern: dir.appending(RelativePath("invalid/path/**/*")).pathString, + nonExistentPath: dir.appending(RelativePath("invalid/path/")) + )) + ) } func test_upToComponentMatchingRegex() throws { diff --git a/Tests/TuistSupportTests/Utils/FileHandlerTests.swift b/Tests/TuistSupportTests/Utils/FileHandlerTests.swift index 37b9c7d56..fd5cc273e 100644 --- a/Tests/TuistSupportTests/Utils/FileHandlerTests.swift +++ b/Tests/TuistSupportTests/Utils/FileHandlerTests.swift @@ -6,7 +6,10 @@ import XCTest final class FileHandlerErrorTests: XCTestCase { func test_description() { - XCTAssertEqual(FileHandlerError.invalidTextEncoding(AbsolutePath("/path")).description, "The file at /path is not a utf8 text file") + XCTAssertEqual( + FileHandlerError.invalidTextEncoding(AbsolutePath("/path")).description, + "The file at /path is not a utf8 text file" + ) XCTAssertEqual(FileHandlerError.writingError(AbsolutePath("/path")).description, "Couldn't write to the file /path") } } diff --git a/Tests/TuistSupportTests/Utils/GitEnvironmentTests.swift b/Tests/TuistSupportTests/Utils/GitEnvironmentTests.swift index 4e893489f..97f8c21f3 100644 --- a/Tests/TuistSupportTests/Utils/GitEnvironmentTests.swift +++ b/Tests/TuistSupportTests/Utils/GitEnvironmentTests.swift @@ -10,7 +10,10 @@ final class GitEnvironmentErrorTests: TuistUnitTestCase { } func test_description_when_githubCredentialsFillError() { - XCTAssertEqual(GitEnvironmentError.githubCredentialsFillError("test").description, "Trying to get your environment's credentials for https://github.com failed with the following error: test") + XCTAssertEqual( + GitEnvironmentError.githubCredentialsFillError("test").description, + "Trying to get your environment's credentials for https://github.com failed with the following error: test" + ) } } diff --git a/Tests/TuistSupportTests/Xcode/XcodeTests.swift b/Tests/TuistSupportTests/Xcode/XcodeTests.swift index b1dff7e08..d928dffd4 100644 --- a/Tests/TuistSupportTests/Xcode/XcodeTests.swift +++ b/Tests/TuistSupportTests/Xcode/XcodeTests.swift @@ -6,7 +6,10 @@ import XCTest final class XcodeErrorTests: TuistUnitTestCase { func test_description() { - XCTAssertEqual(XcodeError.infoPlistNotFound(.root).description, "Couldn't find Xcode's Info.plist at /. Make sure your Xcode installation is selected by running: sudo xcode-select -s /Applications/Xcode.app") + XCTAssertEqual( + XcodeError.infoPlistNotFound(.root).description, + "Couldn't find Xcode's Info.plist at /. Make sure your Xcode installation is selected by running: sudo xcode-select -s /Applications/Xcode.app" + ) } func test_type() { diff --git a/Tuist/Dependencies.swift b/Tuist/Dependencies.swift index 9585e93e1..c89679eae 100644 --- a/Tuist/Dependencies.swift +++ b/Tuist/Dependencies.swift @@ -23,7 +23,10 @@ let dependencies = Dependencies( .package(url: "https://github.com/kylef/PathKit.git", .upToNextMajor(from: "1.0.0")), ], productTypes: ["RxSwift": .framework, "Checksum": .framework], - targetSettings: ["TSCTestSupport": ["ENABLE_TESTING_SEARCH_PATHS": "YES"], "RxTest": ["ENABLE_TESTING_SEARCH_PATHS": "YES"]] + targetSettings: [ + "TSCTestSupport": ["ENABLE_TESTING_SEARCH_PATHS": "YES"], + "RxTest": ["ENABLE_TESTING_SEARCH_PATHS": "YES"], + ] ), platforms: [.macOS] ) diff --git a/projects/fourier/vendor/swiftformat b/projects/fourier/vendor/swiftformat index e7ea2981b0530447d78b62b025d38bb5caae67dc..bb2a52140389039084260bc5fb07bf567049120c 100755 GIT binary patch literal 2673504 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 z
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

=e8nyqmuHYNW{ULti}{FgaCnzR072X9kL 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≫5zDR+uI7zqSs4up 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�fx<7{JRK{uQI=NZp7%drnOEJT)f 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 g%wag7`>Z9-UEv8D=1O3J90{LbI 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

Axl3Ks#E;ZsS^ScD{YIEnWosm~XD%m}6R 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�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%0D18ev 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 z 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

saW!P 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 Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -17,7 +17,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - + func hello() -> String { return "AppDelegate.hello()" } diff --git a/projects/tuist/fixtures/app_with_development_region_config/App/AppDelegate.swift b/projects/tuist/fixtures/app_with_development_region_config/App/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/app_with_development_region_config/App/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_development_region_config/App/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/app_with_development_region_config/Config.swift b/projects/tuist/fixtures/app_with_development_region_config/Config.swift index e3ac6a79c..200bed77c 100644 --- a/projects/tuist/fixtures/app_with_development_region_config/Config.swift +++ b/projects/tuist/fixtures/app_with_development_region_config/Config.swift @@ -1,7 +1,7 @@ import ProjectDescription let config = Config( - generationOptions: [ - .developmentRegion("de") - ] + generationOptions: [ + .developmentRegion("de"), + ] ) diff --git a/projects/tuist/fixtures/app_with_development_region_config/Project.swift b/projects/tuist/fixtures/app_with_development_region_config/Project.swift index 500dab13e..427e3d371 100644 --- a/projects/tuist/fixtures/app_with_development_region_config/Project.swift +++ b/projects/tuist/fixtures/app_with_development_region_config/Project.swift @@ -13,9 +13,9 @@ let project = Project( settings: .settings( base: [ "CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO" + "CODE_SIGNING_REQUIRED": "NO", ] ) - ) + ), ] ) diff --git a/projects/tuist/fixtures/app_with_framework_and_tests/App/AppDelegate.swift b/projects/tuist/fixtures/app_with_framework_and_tests/App/AppDelegate.swift index 3273b184b..0569fb688 100644 --- a/projects/tuist/fixtures/app_with_framework_and_tests/App/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_framework_and_tests/App/AppDelegate.swift @@ -4,9 +4,9 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - var framework: FrameworkClass = FrameworkClass() + var framework = FrameworkClass() - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -14,9 +14,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/app_with_framework_and_tests/AppTests/AppTests.swift b/projects/tuist/fixtures/app_with_framework_and_tests/AppTests/AppTests.swift index 0cefc8eff..c9769bb39 100644 --- a/projects/tuist/fixtures/app_with_framework_and_tests/AppTests/AppTests.swift +++ b/projects/tuist/fixtures/app_with_framework_and_tests/AppTests/AppTests.swift @@ -4,11 +4,9 @@ import XCTest @testable import App final class AppTests: XCTestCase { - func testHello() { let sut = AppDelegate() - + XCTAssertEqual("AppDelegate.hello()", sut.hello()) } - } diff --git a/projects/tuist/fixtures/app_with_framework_and_tests/FrameworkTests/FrameworkTests.swift b/projects/tuist/fixtures/app_with_framework_and_tests/FrameworkTests/FrameworkTests.swift index f4c8ae78b..80dda1f1a 100644 --- a/projects/tuist/fixtures/app_with_framework_and_tests/FrameworkTests/FrameworkTests.swift +++ b/projects/tuist/fixtures/app_with_framework_and_tests/FrameworkTests/FrameworkTests.swift @@ -3,8 +3,8 @@ import XCTest @testable import Framework final class FrameworkTests: XCTestCase { - var subject: FrameworkClass = FrameworkClass() - + var subject = FrameworkClass() + func testExample() { print("Framework tests example") } diff --git a/projects/tuist/fixtures/app_with_framework_and_tests/Project.swift b/projects/tuist/fixtures/app_with_framework_and_tests/Project.swift index a15bc832c..789701b01 100644 --- a/projects/tuist/fixtures/app_with_framework_and_tests/Project.swift +++ b/projects/tuist/fixtures/app_with_framework_and_tests/Project.swift @@ -51,6 +51,6 @@ let project = Project( Scheme( name: "AppCustomScheme", buildAction: .buildAction(targets: [TargetReference("App")]) - ) + ), ] ) diff --git a/projects/tuist/fixtures/app_with_framework_and_tests/Tuist/Config.swift b/projects/tuist/fixtures/app_with_framework_and_tests/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/app_with_framework_and_tests/Tuist/Config.swift +++ b/projects/tuist/fixtures/app_with_framework_and_tests/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/AppDelegate.swift b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/AppDelegate.swift index de8650b23..5e455dda0 100644 --- a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/AppDelegate.swift @@ -19,4 +19,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return "AppDelegate.hello()" } -} +} \ No newline at end of file diff --git a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/ClassA.swift b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/ClassA.swift index 20f666fb1..c52157b2f 100644 --- a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/ClassA.swift +++ b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/App/ClassA.swift @@ -3,4 +3,3 @@ import Foundation public class ClassA { public init() {} } - diff --git a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Framework/Framework.swift b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Framework/Framework.swift index 9b3d879b8..f299416f8 100644 --- a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Framework/Framework.swift +++ b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Framework/Framework.swift @@ -1,22 +1,14 @@ import Foundation -public class FrameworkClass { +public class FrameworkClass { public init() {} - + func foo() { let bar: Int? = 2 print(bar!) // triggers opt_in `force_unwrapping` rule - - - } - + func bar() { - NSNumber() ↓as! Int // triggers `force_cast` rule + NSNumber() ↓ as! Int // triggers `force_cast` rule } - - - - - } diff --git a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Project.swift b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Project.swift index 91de02d3d..f308818bc 100644 --- a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Project.swift +++ b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Project.swift @@ -1,22 +1,28 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app", - infoPlist: "Info.plist", - sources: "App/**", - dependencies: [ - .target(name: "Framework"), - ]), - Target(name: "Framework", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.framework", - infoPlist: "Info.plist", - sources: "Framework/**", - dependencies: [ - ]), -]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app", + infoPlist: "Info.plist", + sources: "App/**", + dependencies: [ + .target(name: "Framework"), + ] + ), + Target( + name: "Framework", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.framework", + infoPlist: "Info.plist", + sources: "Framework/**", + dependencies: [ + ] + ), + ] +) diff --git a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Tuist/Config.swift b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Tuist/Config.swift +++ b/projects/tuist/fixtures/app_with_framework_where_framework_failing_swiftlint/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/app_with_organization_name_config/App/AppDelegate.swift b/projects/tuist/fixtures/app_with_organization_name_config/App/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/app_with_organization_name_config/App/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_organization_name_config/App/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/app_with_organization_name_config/Config.swift b/projects/tuist/fixtures/app_with_organization_name_config/Config.swift index 2e3293e14..e97f637eb 100644 --- a/projects/tuist/fixtures/app_with_organization_name_config/Config.swift +++ b/projects/tuist/fixtures/app_with_organization_name_config/Config.swift @@ -1,7 +1,7 @@ import ProjectDescription let config = Config( - generationOptions: [ - .organizationName("Tuist") - ] + generationOptions: [ + .organizationName("Tuist"), + ] ) diff --git a/projects/tuist/fixtures/app_with_organization_name_config/Project.swift b/projects/tuist/fixtures/app_with_organization_name_config/Project.swift index 500dab13e..427e3d371 100644 --- a/projects/tuist/fixtures/app_with_organization_name_config/Project.swift +++ b/projects/tuist/fixtures/app_with_organization_name_config/Project.swift @@ -13,9 +13,9 @@ let project = Project( settings: .settings( base: [ "CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO" + "CODE_SIGNING_REQUIRED": "NO", ] ) - ) + ), ] ) diff --git a/projects/tuist/fixtures/app_with_organization_name_project/App/AppDelegate.swift b/projects/tuist/fixtures/app_with_organization_name_project/App/AppDelegate.swift index 3273b184b..0569fb688 100644 --- a/projects/tuist/fixtures/app_with_organization_name_project/App/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_organization_name_project/App/AppDelegate.swift @@ -4,9 +4,9 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - var framework: FrameworkClass = FrameworkClass() + var framework = FrameworkClass() - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -14,9 +14,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/app_with_organization_name_project/Project.swift b/projects/tuist/fixtures/app_with_organization_name_project/Project.swift index 26599a5ce..0ee8146ee 100644 --- a/projects/tuist/fixtures/app_with_organization_name_project/Project.swift +++ b/projects/tuist/fixtures/app_with_organization_name_project/Project.swift @@ -1,12 +1,16 @@ import ProjectDescription -let project = Project(name: "App", - organizationName: "Tuist", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app", - infoPlist: "Info.plist", - sources: "App/**") -]) +let project = Project( + name: "App", + organizationName: "Tuist", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app", + infoPlist: "Info.plist", + sources: "App/**" + ), + ] +) diff --git a/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Tasks/CreateFile.swift b/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Tasks/CreateFile.swift index cbe49dee5..55e1027cc 100644 --- a/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Tasks/CreateFile.swift +++ b/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Tasks/CreateFile.swift @@ -1,7 +1,7 @@ -import ProjectAutomation import Foundation +import ProjectAutomation -let task = Task() { options in +let task = Task { _ in try "File created with a plugin".write( to: URL(fileURLWithPath: "plugin-file.txt"), atomically: true, diff --git a/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Templates/custom/custom.swift b/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Templates/custom/custom.swift index e4bfdaba9..00b94d933 100644 --- a/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Templates/custom/custom.swift +++ b/projects/tuist/fixtures/app_with_plugins/LocalPlugin/Templates/custom/custom.swift @@ -11,7 +11,7 @@ let template = Template( description: "Custom template", attributes: [ nameAttribute, - platformAttribute + platformAttribute, ], items: [ .string(path: "\(nameAttribute)/custom.swift", contents: testContents), diff --git a/projects/tuist/fixtures/app_with_plugins/Project.swift b/projects/tuist/fixtures/app_with_plugins/Project.swift index 5c5d1c3af..a6e250ad4 100644 --- a/projects/tuist/fixtures/app_with_plugins/Project.swift +++ b/projects/tuist/fixtures/app_with_plugins/Project.swift @@ -1,8 +1,8 @@ import ProjectDescription import ProjectDescriptionHelpers -import LocalPlugin import ExampleTuistPlugin +import LocalPlugin // Test plugins are loaded let localHelper = LocalHelper(name: "LocalPlugin") diff --git a/projects/tuist/fixtures/app_with_plugins/Source/AppDelegate.swift b/projects/tuist/fixtures/app_with_plugins/Source/AppDelegate.swift index d52625c70..816f848b6 100644 --- a/projects/tuist/fixtures/app_with_plugins/Source/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_plugins/Source/AppDelegate.swift @@ -4,14 +4,14 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) - + print(Strings.hello) #if canImport(Lottie) - print(AnimationAsset.allAnimations.everythingBagel) + print(AnimationAsset.allAnimations.everythingBagel) #endif - + let viewController = UIViewController() viewController.view.backgroundColor = .white viewController.view.addSubview(TestView()) diff --git a/projects/tuist/fixtures/app_with_plugins/Source/TestView.swift b/projects/tuist/fixtures/app_with_plugins/Source/TestView.swift index 0ecc53cb4..eea403dd7 100644 --- a/projects/tuist/fixtures/app_with_plugins/Source/TestView.swift +++ b/projects/tuist/fixtures/app_with_plugins/Source/TestView.swift @@ -1,5 +1,3 @@ import UIKit -final class TestView: UIView { - -} +final class TestView: UIView {} diff --git a/projects/tuist/fixtures/app_with_plugins/Tuist/Config.swift b/projects/tuist/fixtures/app_with_plugins/Tuist/Config.swift index 66f1008b1..7a1d36e83 100644 --- a/projects/tuist/fixtures/app_with_plugins/Tuist/Config.swift +++ b/projects/tuist/fixtures/app_with_plugins/Tuist/Config.swift @@ -1,9 +1,9 @@ import ProjectDescription - let config = Config( - plugins: [ - .local(path: .relativeToManifest("../../LocalPlugin")), - .git(url: "https://github.com/tuist/ExampleTuistPlugin.git", tag: "6fa42ca") - ], - generationOptions: [] - ) +let config = Config( + plugins: [ + .local(path: .relativeToManifest("../../LocalPlugin")), + .git(url: "https://github.com/tuist/ExampleTuistPlugin.git", tag: "6fa42ca"), + ], + generationOptions: [] +) diff --git a/projects/tuist/fixtures/app_with_plugins/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/projects/tuist/fixtures/app_with_plugins/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 8c13573a8..a73383b19 100644 --- a/projects/tuist/fixtures/app_with_plugins/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/projects/tuist/fixtures/app_with_plugins/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -2,7 +2,7 @@ import ProjectDescription extension Project { /// Helper function to create the Project for this ExampleApp - public static func app(name: String, platform: Platform, additionalTargets: [String]) -> Project { + public static func app(name: String, platform: Platform, additionalTargets _: [String]) -> Project { let mainTarget = Target( name: name, platform: platform, @@ -15,7 +15,7 @@ extension Project { ], dependencies: [] ) - + return Project( name: name, organizationName: "tuist.io", @@ -26,7 +26,7 @@ extension Project { name: "Lottie", parser: .json, extensions: ["lottie"] - ) + ), ] ) } diff --git a/projects/tuist/fixtures/app_with_spm_dependencies/App/AppDelegate.swift b/projects/tuist/fixtures/app_with_spm_dependencies/App/AppDelegate.swift index 4948e3c03..11d0080cc 100644 --- a/projects/tuist/fixtures/app_with_spm_dependencies/App/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_spm_dependencies/App/AppDelegate.swift @@ -14,7 +14,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -29,7 +29,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { // Use Charts to make sure it links fine _ = BarChartView() - + // Use Facebook to make sure it links fine Settings.setAdvertiserTrackingEnabled(true) @@ -47,7 +47,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - + func hello() -> String { return "AppDelegate.hello()" } diff --git a/projects/tuist/fixtures/app_with_spm_dependencies/AppTests/AppTests.swift b/projects/tuist/fixtures/app_with_spm_dependencies/AppTests/AppTests.swift index 6fc08b899..2797fd346 100644 --- a/projects/tuist/fixtures/app_with_spm_dependencies/AppTests/AppTests.swift +++ b/projects/tuist/fixtures/app_with_spm_dependencies/AppTests/AppTests.swift @@ -1,17 +1,17 @@ import Foundation -import Quick import Nimble +import Quick import XCTest @testable import App // Use Quick&Nimble to make sure they link fine class CrashTests: QuickSpec { - override func spec() { - context("when importing Nimble through SPM") { - it("tests can be built properly") { - expect(AppDelegate().hello()).to(equal("AppDelegate.hello()")) + override func spec() { + context("when importing Nimble through SPM") { + it("tests can be built properly") { + expect(AppDelegate().hello()).to(equal("AppDelegate.hello()")) + } } - } - } + } } diff --git a/projects/tuist/fixtures/app_with_tasks/Project.swift b/projects/tuist/fixtures/app_with_tasks/Project.swift index ffd574d6c..71c6a391f 100644 --- a/projects/tuist/fixtures/app_with_tasks/Project.swift +++ b/projects/tuist/fixtures/app_with_tasks/Project.swift @@ -20,6 +20,8 @@ import ProjectDescriptionHelpers // MARK: - Project // Creates our project using a helper function defined in ProjectDescriptionHelpers -let project = Project.app(name: "App", - platform: .iOS, - additionalTargets: ["AppKit", "AppUI"]) +let project = Project.app( + name: "App", + platform: .iOS, + additionalTargets: ["AppKit", "AppUI"] +) diff --git a/projects/tuist/fixtures/app_with_tasks/Targets/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/app_with_tasks/Targets/App/Sources/AppDelegate.swift index 680c6c6ab..b8e5ea164 100644 --- a/projects/tuist/fixtures/app_with_tasks/Targets/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_tasks/Targets/App/Sources/AppDelegate.swift @@ -1,15 +1,14 @@ -import UIKit import AppKit import AppUI +import UIKit @main class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -21,5 +20,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - } diff --git a/projects/tuist/fixtures/app_with_tasks/Targets/App/Tests/AppTests.swift b/projects/tuist/fixtures/app_with_tasks/Targets/App/Tests/AppTests.swift index 321eb64c6..70c453ba3 100644 --- a/projects/tuist/fixtures/app_with_tasks/Targets/App/Tests/AppTests.swift +++ b/projects/tuist/fixtures/app_with_tasks/Targets/App/Tests/AppTests.swift @@ -3,6 +3,6 @@ import XCTest final class AppTests: XCTestCase { func test_twoPlusTwo_isFour() { - XCTAssertEqual(2+2, 4) + XCTAssertEqual(2 + 2, 4) } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Sources/AppKit.swift b/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Sources/AppKit.swift index c0a7114a7..d304fc88b 100644 --- a/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Sources/AppKit.swift +++ b/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Sources/AppKit.swift @@ -1,6 +1,6 @@ import Foundation -public final class AppKit { +public enum AppKit { public static func hello() { print("Hello, from your Kit framework") } diff --git a/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Tests/AppKitTests.swift b/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Tests/AppKitTests.swift index 0a249da03..6557ea2a0 100644 --- a/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Tests/AppKitTests.swift +++ b/projects/tuist/fixtures/app_with_tasks/Targets/AppKit/Tests/AppKitTests.swift @@ -5,4 +5,4 @@ final class AppKitTests: XCTestCase { func test_example() { XCTAssertEqual("AppKit", "AppKit") } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Sources/AppUI.swift b/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Sources/AppUI.swift index 749ff594d..c1de35251 100644 --- a/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Sources/AppUI.swift +++ b/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Sources/AppUI.swift @@ -1,6 +1,6 @@ import Foundation -public final class AppUI { +public enum AppUI { public static func hello() { print("Hello, from your UI framework") } diff --git a/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Tests/AppUITests.swift b/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Tests/AppUITests.swift index e2887aa63..7e6f7c920 100644 --- a/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Tests/AppUITests.swift +++ b/projects/tuist/fixtures/app_with_tasks/Targets/AppUI/Tests/AppUITests.swift @@ -5,4 +5,4 @@ final class AppUITests: XCTestCase { func test_example() { XCTAssertEqual("AppUI", "AppUI") } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/app_with_tasks/Tuist/Config.swift b/projects/tuist/fixtures/app_with_tasks/Tuist/Config.swift index 349adccba..28b38b5d8 100644 --- a/projects/tuist/fixtures/app_with_tasks/Tuist/Config.swift +++ b/projects/tuist/fixtures/app_with_tasks/Tuist/Config.swift @@ -1,5 +1,5 @@ import ProjectDescription let config = Config( - generationOptions: [] + generationOptions: [] ) diff --git a/projects/tuist/fixtures/app_with_tasks/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/projects/tuist/fixtures/app_with_tasks/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 97deead7d..61ee31388 100644 --- a/projects/tuist/fixtures/app_with_tasks/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/projects/tuist/fixtures/app_with_tasks/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -8,35 +8,43 @@ import ProjectDescription extension Project { /// Helper function to create the Project for this ExampleApp public static func app(name: String, platform: Platform, additionalTargets: [String]) -> Project { - var targets = makeAppTargets(name: name, - platform: platform, - dependencies: additionalTargets.map { TargetDependency.target(name: $0) }) - targets += additionalTargets.flatMap({ makeFrameworkTargets(name: $0, platform: platform) }) - return Project(name: name, - organizationName: "tuist.io", - targets: targets) + var targets = makeAppTargets( + name: name, + platform: platform, + dependencies: additionalTargets.map { TargetDependency.target(name: $0) } + ) + targets += additionalTargets.flatMap { makeFrameworkTargets(name: $0, platform: platform) } + return Project( + name: name, + organizationName: "tuist.io", + targets: targets + ) } // MARK: - Private /// Helper function to create a framework target and an associated unit test target private static func makeFrameworkTargets(name: String, platform: Platform) -> [Target] { - let sources = Target(name: name, - platform: platform, - product: .framework, - bundleId: "io.tuist.\(name)", - infoPlist: .default, - sources: ["Targets/\(name)/Sources/**"], - resources: [], - dependencies: []) - let tests = Target(name: "\(name)Tests", - platform: platform, - product: .unitTests, - bundleId: "io.tuist.\(name)Tests", - infoPlist: .default, - sources: ["Targets/\(name)/Tests/**"], - resources: [], - dependencies: [.target(name: name)]) + let sources = Target( + name: name, + platform: platform, + product: .framework, + bundleId: "io.tuist.\(name)", + infoPlist: .default, + sources: ["Targets/\(name)/Sources/**"], + resources: [], + dependencies: [] + ) + let tests = Target( + name: "\(name)Tests", + platform: platform, + product: .unitTests, + bundleId: "io.tuist.\(name)Tests", + infoPlist: .default, + sources: ["Targets/\(name)/Tests/**"], + resources: [], + dependencies: [.target(name: name)] + ) return [sources, tests] } @@ -47,8 +55,8 @@ extension Project { "CFBundleShortVersionString": "1.0", "CFBundleVersion": "1", "UIMainStoryboardFile": "", - "UILaunchStoryboardName": "LaunchScreen" - ] + "UILaunchStoryboardName": "LaunchScreen", + ] let mainTarget = Target( name: name, @@ -69,8 +77,9 @@ extension Project { infoPlist: .default, sources: ["Targets/\(name)/Tests/**"], dependencies: [ - .target(name: "\(name)") - ]) + .target(name: "\(name)"), + ] + ) return [mainTarget, testTarget] } } diff --git a/projects/tuist/fixtures/app_with_tasks/Tuist/Tasks/CreateFile.swift b/projects/tuist/fixtures/app_with_tasks/Tuist/Tasks/CreateFile.swift index 175f6a6a0..d6b917bea 100644 --- a/projects/tuist/fixtures/app_with_tasks/Tuist/Tasks/CreateFile.swift +++ b/projects/tuist/fixtures/app_with_tasks/Tuist/Tasks/CreateFile.swift @@ -1,5 +1,5 @@ -import ProjectAutomation import Foundation +import ProjectAutomation let task = Task( options: [ diff --git a/projects/tuist/fixtures/app_with_tests/Project.swift b/projects/tuist/fixtures/app_with_tests/Project.swift index f641e4e41..cd6972937 100644 --- a/projects/tuist/fixtures/app_with_tests/Project.swift +++ b/projects/tuist/fixtures/app_with_tests/Project.swift @@ -21,7 +21,7 @@ let project = Project( infoPlist: .default, sources: ["Targets/App/Tests/**"], dependencies: [ - .target(name: "App") + .target(name: "App"), ] ), Target( @@ -54,7 +54,7 @@ let project = Project( settings: .settings( base: [ "CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO" + "CODE_SIGNING_REQUIRED": "NO", ] ) ), @@ -72,7 +72,7 @@ let project = Project( settings: .settings( base: [ "CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO" + "CODE_SIGNING_REQUIRED": "NO", ] ) ), diff --git a/projects/tuist/fixtures/app_with_tests/Targets/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/app_with_tests/Targets/App/Sources/AppDelegate.swift index 804855acc..10aec4569 100644 --- a/projects/tuist/fixtures/app_with_tests/Targets/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/app_with_tests/Targets/App/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -17,5 +16,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - } diff --git a/projects/tuist/fixtures/app_with_tests/Targets/App/Tests/AppTests.swift b/projects/tuist/fixtures/app_with_tests/Targets/App/Tests/AppTests.swift index 321eb64c6..70c453ba3 100644 --- a/projects/tuist/fixtures/app_with_tests/Targets/App/Tests/AppTests.swift +++ b/projects/tuist/fixtures/app_with_tests/Targets/App/Tests/AppTests.swift @@ -3,6 +3,6 @@ import XCTest final class AppTests: XCTestCase { func test_twoPlusTwo_isFour() { - XCTAssertEqual(2+2, 4) + XCTAssertEqual(2 + 2, 4) } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/app_with_tests/Targets/MacFramework/Tests/MacFrameworkTests.swift b/projects/tuist/fixtures/app_with_tests/Targets/MacFramework/Tests/MacFrameworkTests.swift index 5f04cc3bf..62a25146e 100644 --- a/projects/tuist/fixtures/app_with_tests/Targets/MacFramework/Tests/MacFrameworkTests.swift +++ b/projects/tuist/fixtures/app_with_tests/Targets/MacFramework/Tests/MacFrameworkTests.swift @@ -6,7 +6,7 @@ import XCTest final class MacFrameworkTests: XCTestCase { func testHello() { let sut = MacFramework() - + XCTAssertEqual("MacFramework.hello()", sut.hello()) } } diff --git a/projects/tuist/fixtures/app_with_tests/Targets/tvOSFramework/Tests/tvOSFrameworkTests.swift b/projects/tuist/fixtures/app_with_tests/Targets/tvOSFramework/Tests/tvOSFrameworkTests.swift index c0133c6fc..c1bfdf7d4 100644 --- a/projects/tuist/fixtures/app_with_tests/Targets/tvOSFramework/Tests/tvOSFrameworkTests.swift +++ b/projects/tuist/fixtures/app_with_tests/Targets/tvOSFramework/Tests/tvOSFrameworkTests.swift @@ -6,7 +6,7 @@ import XCTest final class TVOSFrameworkTests: XCTestCase { func testHello() { let sut = tvOSFramework() - + XCTAssertEqual("tvOSFramework.hello()", sut.hello()) } } diff --git a/projects/tuist/fixtures/app_with_tests/Tuist/Config.swift b/projects/tuist/fixtures/app_with_tests/Tuist/Config.swift index 47f6a7150..aad592f05 100644 --- a/projects/tuist/fixtures/app_with_tests/Tuist/Config.swift +++ b/projects/tuist/fixtures/app_with_tests/Tuist/Config.swift @@ -3,4 +3,4 @@ import ProjectDescription let config = Config( generationOptions: [ ] -) \ No newline at end of file +) diff --git a/projects/tuist/fixtures/command_line_tool_basic/Project.swift b/projects/tuist/fixtures/command_line_tool_basic/Project.swift index c41a5a071..22b5c1d33 100644 --- a/projects/tuist/fixtures/command_line_tool_basic/Project.swift +++ b/projects/tuist/fixtures/command_line_tool_basic/Project.swift @@ -1,11 +1,15 @@ import ProjectDescription -let project = Project(name: "CommandLineTool", - targets: [ - Target(name: "CommandLineTool", - platform: .macOS, - product: .commandLineTool, - bundleId: "com.example.commandlinetool", - infoPlist: .default, - sources: ["main.swift"]) -]) +let project = Project( + name: "CommandLineTool", + targets: [ + Target( + name: "CommandLineTool", + platform: .macOS, + product: .commandLineTool, + bundleId: "com.example.commandlinetool", + infoPlist: .default, + sources: ["main.swift"] + ), + ] +) diff --git a/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/CommandLineTool/main.swift b/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/CommandLineTool/main.swift index 4c06347ee..81c349d7f 100644 --- a/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/CommandLineTool/main.swift +++ b/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/CommandLineTool/main.swift @@ -1,4 +1,4 @@ -import Foundation import DynamicFramework +import Foundation -let dynamicClass = DynamicFramework() \ No newline at end of file +let dynamicClass = DynamicFramework() diff --git a/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/DynamicFramework/DynamicFramework.swift b/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/DynamicFramework/DynamicFramework.swift index d64c16b01..85f562cc1 100644 --- a/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/DynamicFramework/DynamicFramework.swift +++ b/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/DynamicFramework/DynamicFramework.swift @@ -1,7 +1,5 @@ import Foundation public struct DynamicFramework { - public init() { - - } -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/Project.swift b/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/Project.swift index b41c2b082..7671bef9c 100644 --- a/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/Project.swift +++ b/projects/tuist/fixtures/command_line_tool_with_dynamic_framework/Project.swift @@ -1,20 +1,26 @@ import ProjectDescription -let project = Project(name: "CommandLineTool", - targets: [ - Target(name: "CommandLineTool", - platform: .macOS, - product: .commandLineTool, - bundleId: "com.example.commandlinetool", - infoPlist: .default, - sources: "CommandLineTool/**", - dependencies: [ - .target(name: "DynamicFramework"), - ]), - Target(name: "DynamicFramework", - platform: .macOS, - product: .framework, - bundleId: "com.example.dynamicframework", - infoPlist: .default, - sources: "DynamicFramework/**"), -]) +let project = Project( + name: "CommandLineTool", + targets: [ + Target( + name: "CommandLineTool", + platform: .macOS, + product: .commandLineTool, + bundleId: "com.example.commandlinetool", + infoPlist: .default, + sources: "CommandLineTool/**", + dependencies: [ + .target(name: "DynamicFramework"), + ] + ), + Target( + name: "DynamicFramework", + platform: .macOS, + product: .framework, + bundleId: "com.example.dynamicframework", + infoPlist: .default, + sources: "DynamicFramework/**" + ), + ] +) diff --git a/projects/tuist/fixtures/command_line_tool_with_dynamic_library/CommandLineTool/main.swift b/projects/tuist/fixtures/command_line_tool_with_dynamic_library/CommandLineTool/main.swift index bcd8e21c0..1d75b2640 100644 --- a/projects/tuist/fixtures/command_line_tool_with_dynamic_library/CommandLineTool/main.swift +++ b/projects/tuist/fixtures/command_line_tool_with_dynamic_library/CommandLineTool/main.swift @@ -1,4 +1,4 @@ -import Foundation import DynamicLib +import Foundation -let dynamicClass = DynamicLib() \ No newline at end of file +let dynamicClass = DynamicLib() diff --git a/projects/tuist/fixtures/command_line_tool_with_dynamic_library/DynamicLib/DynamicLib.swift b/projects/tuist/fixtures/command_line_tool_with_dynamic_library/DynamicLib/DynamicLib.swift index bdcd30911..133f3c859 100644 --- a/projects/tuist/fixtures/command_line_tool_with_dynamic_library/DynamicLib/DynamicLib.swift +++ b/projects/tuist/fixtures/command_line_tool_with_dynamic_library/DynamicLib/DynamicLib.swift @@ -1,7 +1,5 @@ import Foundation public struct DynamicLib { - public init() { - - } -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/command_line_tool_with_dynamic_library/Project.swift b/projects/tuist/fixtures/command_line_tool_with_dynamic_library/Project.swift index 9cbb2f8ad..016925ebf 100644 --- a/projects/tuist/fixtures/command_line_tool_with_dynamic_library/Project.swift +++ b/projects/tuist/fixtures/command_line_tool_with_dynamic_library/Project.swift @@ -1,20 +1,26 @@ import ProjectDescription -let project = Project(name: "CommandLineTool", - targets: [ - Target(name: "CommandLineTool", - platform: .macOS, - product: .commandLineTool, - bundleId: "com.example.commandlinetool", - infoPlist: .default, - sources: "CommandLineTool/**", - dependencies: [ - .target(name: "DynamicLib"), - ]), - Target(name: "DynamicLib", - platform: .macOS, - product: .dynamicLibrary, - bundleId: "com.example.dynamiclib", - infoPlist: .default, - sources: "DynamicLib/**"), -]) +let project = Project( + name: "CommandLineTool", + targets: [ + Target( + name: "CommandLineTool", + platform: .macOS, + product: .commandLineTool, + bundleId: "com.example.commandlinetool", + infoPlist: .default, + sources: "CommandLineTool/**", + dependencies: [ + .target(name: "DynamicLib"), + ] + ), + Target( + name: "DynamicLib", + platform: .macOS, + product: .dynamicLibrary, + bundleId: "com.example.dynamiclib", + infoPlist: .default, + sources: "DynamicLib/**" + ), + ] +) diff --git a/projects/tuist/fixtures/command_line_tool_with_static_library/CommandLineTool/main.swift b/projects/tuist/fixtures/command_line_tool_with_static_library/CommandLineTool/main.swift index 8b523932d..c25fdd455 100644 --- a/projects/tuist/fixtures/command_line_tool_with_static_library/CommandLineTool/main.swift +++ b/projects/tuist/fixtures/command_line_tool_with_static_library/CommandLineTool/main.swift @@ -1,4 +1,4 @@ import Foundation import StaticLib -let staticClass = StaticLib() \ No newline at end of file +let staticClass = StaticLib() diff --git a/projects/tuist/fixtures/command_line_tool_with_static_library/Project.swift b/projects/tuist/fixtures/command_line_tool_with_static_library/Project.swift index d6c0712ba..f4d6b1cf8 100644 --- a/projects/tuist/fixtures/command_line_tool_with_static_library/Project.swift +++ b/projects/tuist/fixtures/command_line_tool_with_static_library/Project.swift @@ -1,21 +1,26 @@ import ProjectDescription -let project = Project(name: "CommandLineTool", - targets: [ - Target(name: "CommandLineTool", - platform: .macOS, - product: .commandLineTool, - bundleId: "com.example.commandlinetool", - infoPlist: .default, - sources: "CommandLineTool/**", - dependencies: [ - .target(name: "StaticLib"), - ]), - Target(name: "StaticLib", - platform: .macOS, - product: .staticLibrary, - bundleId: "com.example.staticlib", - infoPlist: .default, - sources: "StaticLib/**" - ), -]) +let project = Project( + name: "CommandLineTool", + targets: [ + Target( + name: "CommandLineTool", + platform: .macOS, + product: .commandLineTool, + bundleId: "com.example.commandlinetool", + infoPlist: .default, + sources: "CommandLineTool/**", + dependencies: [ + .target(name: "StaticLib"), + ] + ), + Target( + name: "StaticLib", + platform: .macOS, + product: .staticLibrary, + bundleId: "com.example.staticlib", + infoPlist: .default, + sources: "StaticLib/**" + ), + ] +) diff --git a/projects/tuist/fixtures/command_line_tool_with_static_library/StaticLib/StaticLib.swift b/projects/tuist/fixtures/command_line_tool_with_static_library/StaticLib/StaticLib.swift index e2d50d048..c4c956d0e 100644 --- a/projects/tuist/fixtures/command_line_tool_with_static_library/StaticLib/StaticLib.swift +++ b/projects/tuist/fixtures/command_line_tool_with_static_library/StaticLib/StaticLib.swift @@ -1,7 +1,5 @@ import Foundation public struct StaticLib { - public init() { - - } -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/framework_with_environment_variables/Project.swift b/projects/tuist/fixtures/framework_with_environment_variables/Project.swift index ee01c4c35..b0de99fb4 100644 --- a/projects/tuist/fixtures/framework_with_environment_variables/Project.swift +++ b/projects/tuist/fixtures/framework_with_environment_variables/Project.swift @@ -1,11 +1,15 @@ import ProjectDescription -let project = Project(name: "Framework", - targets: [ - Target(name: Environment.frameworkName.getString(default: "Framework"), - platform: .macOS, - product: .framework, - bundleId: "io.tuist.App", - infoPlist: .default, - sources: .paths([.relativeToManifest("Sources/**")])) -]) +let project = Project( + name: "Framework", + targets: [ + Target( + name: Environment.frameworkName.getString(default: "Framework"), + platform: .macOS, + product: .framework, + bundleId: "io.tuist.App", + infoPlist: .default, + sources: .paths([.relativeToManifest("Sources/**")]) + ), + ] +) diff --git a/projects/tuist/fixtures/framework_with_environment_variables/Sources/Framework.swift b/projects/tuist/fixtures/framework_with_environment_variables/Sources/Framework.swift index e3c0b07b9..6924c8fbc 100644 --- a/projects/tuist/fixtures/framework_with_environment_variables/Sources/Framework.swift +++ b/projects/tuist/fixtures/framework_with_environment_variables/Sources/Framework.swift @@ -2,4 +2,4 @@ import Foundation public final class Framework { public init() {} -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/framework_with_environment_variables/Tuist/Config.swift b/projects/tuist/fixtures/framework_with_environment_variables/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/framework_with_environment_variables/Tuist/Config.swift +++ b/projects/tuist/fixtures/framework_with_environment_variables/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/invalid_manifest/Project.swift b/projects/tuist/fixtures/invalid_manifest/Project.swift index 108b9a191..93ceeec24 100644 --- a/projects/tuist/fixtures/invalid_manifest/Project.swift +++ b/projects/tuist/fixtures/invalid_manifest/Project.swift @@ -1,4 +1,6 @@ import ProjectDescription -let project = Project(name: "App" // Missing comma - targets: []) +let project = Project( + name: "App" // Missing comma + targets: [] +) diff --git a/projects/tuist/fixtures/invalid_workspace_manifest_name/Workspac.swift b/projects/tuist/fixtures/invalid_workspace_manifest_name/Workspac.swift index f0e58fb7d..929bf3b53 100644 --- a/projects/tuist/fixtures/invalid_workspace_manifest_name/Workspac.swift +++ b/projects/tuist/fixtures/invalid_workspace_manifest_name/Workspac.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1", "Framework2"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1", "Framework2"] +) diff --git a/projects/tuist/fixtures/ios_app_large/Project.swift b/projects/tuist/fixtures/ios_app_large/Project.swift index 7ba3f9458..465ca02e6 100644 --- a/projects/tuist/fixtures/ios_app_large/Project.swift +++ b/projects/tuist/fixtures/ios_app_large/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription func target(name: String) -> Target { - return Target(name: name, - platform: .iOS, - product: .app, - bundleId: "io.tuist.\(name)", - infoPlist: .file(path: .relativeToManifest("Info.plist")), - sources: .paths([.relativeToManifest("Sources/**")]), - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", "CODE_SIGNING_REQUIRED": "NO"])) + return Target( + name: name, + platform: .iOS, + product: .app, + bundleId: "io.tuist.\(name)", + infoPlist: .file(path: .relativeToManifest("Info.plist")), + sources: .paths([.relativeToManifest("Sources/**")]), + settings: .settings(base: ["CODE_SIGN_IDENTITY": "", "CODE_SIGNING_REQUIRED": "NO"]) + ) } -let project = Project(name: "App", - targets: (1...300).map({ target(name: "App\($0)") })) +let project = Project( + name: "App", + targets: (1 ... 300).map { target(name: "App\($0)") } +) diff --git a/projects/tuist/fixtures/ios_app_large/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_large/Sources/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/ios_app_large/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_large/Sources/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/ios_app_large/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_large/Tuist/Config.swift index 74e485d40..667f405b6 100644 --- a/projects/tuist/fixtures/ios_app_large/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_large/Tuist/Config.swift @@ -1,7 +1,7 @@ import ProjectDescription let config = Config( - generationOptions: [ - .lastXcodeUpgradeCheck(Version(12, 5, 1)) - ] + generationOptions: [ + .lastXcodeUpgradeCheck(Version(12, 5, 1)), + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_actions/App With Space/Project.swift b/projects/tuist/fixtures/ios_app_with_actions/App With Space/Project.swift index ca8a92475..3a82817f2 100644 --- a/projects/tuist/fixtures/ios_app_with_actions/App With Space/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_actions/App With Space/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "AppWithSpace", - targets: [ - Target(name: "AppWithSpace", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app-with-space", - infoPlist: "Info.plist", - sources: ["Sources/**"], - scripts: [ - .pre(path: "script.sh", name: "Run script") - ]), - ]) +let project = Project( + name: "AppWithSpace", + targets: [ + Target( + name: "AppWithSpace", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app-with-space", + infoPlist: "Info.plist", + sources: ["Sources/**"], + scripts: [ + .pre(path: "script.sh", name: "Run script"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_actions/App With Space/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_actions/App With Space/Sources/AppDelegate.swift index 210f215d3..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_actions/App With Space/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_actions/App With Space/Sources/AppDelegate.swift @@ -2,13 +2,12 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_actions/App/Project.swift b/projects/tuist/fixtures/ios_app_with_actions/App/Project.swift index 5b4ea0b2c..97a219f67 100644 --- a/projects/tuist/fixtures/ios_app_with_actions/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_actions/App/Project.swift @@ -1,24 +1,37 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app", - infoPlist: "Info.plist", - sources: ["Sources/**"], - scripts: [ - // Note there are acceptance tests verifying the first `pre` and last `post` action - // additions not part of the acceptance test should be added in-between +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app", + infoPlist: "Info.plist", + sources: ["Sources/**"], + scripts: [ + // Note there are acceptance tests verifying the first `pre` and last `post` action + // additions not part of the acceptance test should be added in-between - // first pre-action - .pre(tool: "/bin/echo", arguments: ["\"tuist\""], name: "Tuist", inputPaths: ["Sources/**/*.swift"]), - .post(script: "echo 'Hello World from install build'", name: "Embedded script install build", runForInstallBuildsOnly: true), + // first pre-action + .pre( + tool: "/bin/echo", + arguments: ["\"tuist\""], + name: "Tuist", + inputPaths: ["Sources/**/*.swift"] + ), + .post( + script: "echo 'Hello World from install build'", + name: "Embedded script install build", + runForInstallBuildsOnly: true + ), - // last post-action - .post(tool: "/bin/echo", arguments: ["rocks"], name: "Rocks"), - .pre(path: "script.sh", name: "Run script"), - .pre(script: "echo 'Hello World'", name: "Embedded script"), - ]), - ]) + // last post-action + .post(tool: "/bin/echo", arguments: ["rocks"], name: "Rocks"), + .pre(path: "script.sh", name: "Run script"), + .pre(script: "echo 'Hello World'", name: "Embedded script"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_actions/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_actions/App/Sources/AppDelegate.swift index 210f215d3..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_actions/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_actions/App/Sources/AppDelegate.swift @@ -2,13 +2,12 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_appclip/AppClip1/Sources/MainAppClip.swift b/projects/tuist/fixtures/ios_app_with_appclip/AppClip1/Sources/MainAppClip.swift index c25f9ae1c..eb825711a 100644 --- a/projects/tuist/fixtures/ios_app_with_appclip/AppClip1/Sources/MainAppClip.swift +++ b/projects/tuist/fixtures/ios_app_with_appclip/AppClip1/Sources/MainAppClip.swift @@ -1,5 +1,5 @@ -import SwiftUI import AppClip +import SwiftUI @main struct MainAppClip: App { diff --git a/projects/tuist/fixtures/ios_app_with_appclip/AppClip1Tests/Tests/AppClipTests.swift b/projects/tuist/fixtures/ios_app_with_appclip/AppClip1Tests/Tests/AppClipTests.swift index 78447fb31..d9eaefe49 100644 --- a/projects/tuist/fixtures/ios_app_with_appclip/AppClip1Tests/Tests/AppClipTests.swift +++ b/projects/tuist/fixtures/ios_app_with_appclip/AppClip1Tests/Tests/AppClipTests.swift @@ -2,9 +2,7 @@ import XCTest @testable import AppClip final class AppClipTests: XCTestCase { - func testExample() { - XCTAssertTrue(2==2) + XCTAssertTrue(2 == 2) } - } diff --git a/projects/tuist/fixtures/ios_app_with_appclip/AppClip1UITests/Tests/AppClipUITests.swift b/projects/tuist/fixtures/ios_app_with_appclip/AppClip1UITests/Tests/AppClipUITests.swift index 21c52f315..c7ea24d75 100644 --- a/projects/tuist/fixtures/ios_app_with_appclip/AppClip1UITests/Tests/AppClipUITests.swift +++ b/projects/tuist/fixtures/ios_app_with_appclip/AppClip1UITests/Tests/AppClipUITests.swift @@ -1,7 +1,6 @@ import XCTest final class AppClipUITests: XCTestCase { - override func setUpWithError() throws { // Put setup code here. This method is called before the invocation of each test method in the class. diff --git a/projects/tuist/fixtures/ios_app_with_appclip/Project.swift b/projects/tuist/fixtures/ios_app_with_appclip/Project.swift index b290aee26..344211ad6 100644 --- a/projects/tuist/fixtures/ios_app_with_appclip/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_appclip/Project.swift @@ -1,50 +1,62 @@ import ProjectDescription -let project = Project(name: "App", - organizationName: "Tuist", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: .default, - sources: ["App/Sources/**",], - dependencies: [ - .target(name: "AppClip1"), - ]), - Target(name: "Framework", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework", - infoPlist: .default, - sources: ["Framework/Sources/**",], - dependencies: []), - Target(name: "AppClip1", - platform: .iOS, - product: .appClip, - bundleId: "io.tuist.App.Clip", - infoPlist: .default, - sources: ["AppClip1/Sources/**",], - entitlements: "AppClip1/Entitlements/AppClip.entitlements", - dependencies: [ - .target(name: "Framework") - ]), - Target(name: "AppClip1Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppClip1Tests", - infoPlist: .default, - sources: ["AppClip1Tests/Tests/**"], - dependencies: [ - .target(name: "AppClip1") - ]), - Target(name: "AppClip1UITests", - platform: .iOS, - product: .uiTests, - bundleId: "io.tuist.AppClip1UITests", - infoPlist: .default, - sources: ["AppClip1UITests/Tests/**"], - dependencies: [ - .target(name: "AppClip1") - ]) - ]) +let project = Project( + name: "App", + organizationName: "Tuist", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: .default, + sources: ["App/Sources/**"], + dependencies: [ + .target(name: "AppClip1"), + ] + ), + Target( + name: "Framework", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework", + infoPlist: .default, + sources: ["Framework/Sources/**"], + dependencies: [] + ), + Target( + name: "AppClip1", + platform: .iOS, + product: .appClip, + bundleId: "io.tuist.App.Clip", + infoPlist: .default, + sources: ["AppClip1/Sources/**"], + entitlements: "AppClip1/Entitlements/AppClip.entitlements", + dependencies: [ + .target(name: "Framework"), + ] + ), + Target( + name: "AppClip1Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppClip1Tests", + infoPlist: .default, + sources: ["AppClip1Tests/Tests/**"], + dependencies: [ + .target(name: "AppClip1"), + ] + ), + Target( + name: "AppClip1UITests", + platform: .iOS, + product: .uiTests, + bundleId: "io.tuist.AppClip1UITests", + infoPlist: .default, + sources: ["AppClip1UITests/Tests/**"], + dependencies: [ + .target(name: "AppClip1"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_coredata/Project.swift b/projects/tuist/fixtures/ios_app_with_coredata/Project.swift index 0d7bdfeb8..3adf30196 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata/Project.swift @@ -1,16 +1,20 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app", - infoPlist: "Info.plist", - sources: ["Sources/**"], - coreDataModels: [ - CoreDataModel("CoreData/Users.xcdatamodeld", currentVersion: "1"), - CoreDataModel("CoreData/UsersAutoDetect.xcdatamodeld"), - CoreDataModel("CoreData/Unversioned.xcdatamodeld") - ]) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app", + infoPlist: "Info.plist", + sources: ["Sources/**"], + coreDataModels: [ + CoreDataModel("CoreData/Users.xcdatamodeld", currentVersion: "1"), + CoreDataModel("CoreData/UsersAutoDetect.xcdatamodeld"), + CoreDataModel("CoreData/Unversioned.xcdatamodeld"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_coredata/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_coredata/Sources/AppDelegate.swift index 33db2cbf3..ae8910c6f 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata/Sources/AppDelegate.swift @@ -2,15 +2,14 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) - + let viewController = UIViewController() viewController.view.backgroundColor = .white window?.rootViewController = viewController @@ -22,5 +21,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_coredata/Sources/Model.swift b/projects/tuist/fixtures/ios_app_with_coredata/Sources/Model.swift index 2b1c25366..69c233349 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata/Sources/Model.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata/Sources/Model.swift @@ -1,11 +1,10 @@ -import Foundation import CoreData - +import Foundation final class MyModel { private lazy var persistentContainer: NSPersistentContainer = { let container = NSPersistentContainer(name: "Users") - container.loadPersistentStores(completionHandler: { (storeDescription, error) in + container.loadPersistentStores(completionHandler: { _, error in if let error = error as NSError? { fatalError("Unresolved error \(error), \(error.userInfo)") } @@ -16,7 +15,7 @@ final class MyModel { func save() { let context = persistentContainer.viewContext let user = User(context: context) - let identifier = Int64.random(in: 0...1000) + let identifier = Int64.random(in: 0 ... 1000) user.name = "Foo_\(identifier)" user.identifier = identifier diff --git a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Project.swift b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Project.swift index 2d72d09d4..c24063b94 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Config/App-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework", path: "../Framework") - ]) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Config/App-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework", path: "../Framework"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Sources/AppDelegate.swift index fdf16cb83..73887b62a 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/App/Sources/AppDelegate.swift @@ -3,15 +3,14 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) - + let viewController = UIViewController() viewController.view.backgroundColor = .white window?.rootViewController = viewController @@ -23,5 +22,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Project.swift b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Project.swift index eaa78be18..5cf480665 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "Framework", - targets: [ - Target(name: "Framework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.framework", - infoPlist: .default, - sources: ["Sources/**"], - coreDataModels: [ - CoreDataModel("CoreData/Users.xcdatamodeld") - ]) - ]) +let project = Project( + name: "Framework", + targets: [ + Target( + name: "Framework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.framework", + infoPlist: .default, + sources: ["Sources/**"], + coreDataModels: [ + CoreDataModel("CoreData/Users.xcdatamodeld"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Sources/Model.swift b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Sources/Model.swift index 5082bb80d..796702a10 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Sources/Model.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Framework/Sources/Model.swift @@ -1,37 +1,36 @@ -import Foundation import CoreData +import Foundation public final class MyModel { private var persistentContainer: NSPersistentContainer = { - let momdName = "Users" - - guard let modelURL = Bundle.module.url(forResource: momdName, withExtension:"momd") else { - fatalError("Error loading model from bundle") + + guard let modelURL = Bundle.module.url(forResource: momdName, withExtension: "momd") else { + fatalError("Error loading model from bundle") } guard let mom = NSManagedObjectModel(contentsOf: modelURL) else { fatalError("Error initializing mom from: \(modelURL)") } - + let container = NSPersistentContainer(name: momdName, managedObjectModel: mom) - - container.loadPersistentStores(completionHandler: { (storeDescription, error) in + + container.loadPersistentStores(completionHandler: { _, error in if let error = error as NSError? { fatalError("Unresolved error \(error), \(error.userInfo)") } }) return container }() - - public init() { } + + public init() {} public func save() { let context = persistentContainer.viewContext - + let user = User(context: context) - - let identifier = Int64.random(in: 0...1000) + + let identifier = Int64.random(in: 0 ... 1000) user.name = "Foo_\(identifier)" user.identifier = identifier @@ -58,4 +57,3 @@ public final class MyModel { } } } - diff --git a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Workspace.swift b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Workspace.swift index bf3f7a7eb..5c7c7d8bc 100644 --- a/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_coredata_in_static_framework/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework"] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Project.swift index 9299aaf65..a1c820ec6 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Project.swift @@ -7,6 +7,6 @@ let project = Project.app( .project( target: "FrameworkA", path: .relativeToRoot("FrameworkA") - ) + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Sources/AppDelegate.swift index 8221bb54a..1f15e9cd9 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Sources/AppDelegate.swift @@ -1,28 +1,26 @@ -import UIKit import FrameworkA +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white window?.rootViewController = viewController window?.makeKeyAndVisible() - + FrameworkA.hello() - + #if DEBUG_MACRO - FrameworkA.helloDebugMacro() + FrameworkA.helloDebugMacro() #endif return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Tests/AppTests.swift index a90723569..dce250d01 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/App/Tests/AppTests.swift @@ -3,6 +3,6 @@ import XCTest final class DemoTests: XCTestCase { func test_twoPlusTwo_isFour() { - XCTAssertEqual(2+2, 4) + XCTAssertEqual(2 + 2, 4) } } diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/FrameworkA/Sources/FrameworkA.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/FrameworkA/Sources/FrameworkA.swift index 9eb5f51b5..6d5f687ce 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/FrameworkA/Sources/FrameworkA.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/FrameworkA/Sources/FrameworkA.swift @@ -1,13 +1,13 @@ import Foundation -public final class FrameworkA { +public enum FrameworkA { public static func hello() { print("Hello, from your FrameworkA") } - + #if DEBUG_MACRO - public static func helloDebugMacro() { - print("Hello, from your FrameworkA (DEBUG_MACRO only)") - } + public static func helloDebugMacro() { + print("Hello, from your FrameworkA (DEBUG_MACRO only)") + } #endif } diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/Config.swift index 49dad81e6..02b495d4a 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/Config.swift @@ -1,6 +1,9 @@ import ProjectDescription let config = Config( - cache: .cache(profiles: [.profile(name: "Simulator", configuration: "debug", device: "iPhone 11 Pro", os: "15.0")], path: .relativeToRoot("TuistCache")), - generationOptions: [.disableAutogeneratedSchemes] + cache: .cache( + profiles: [.profile(name: "Simulator", configuration: "debug", device: "iPhone 11 Pro", os: "15.0")], + path: .relativeToRoot("TuistCache") + ), + generationOptions: [.disableAutogeneratedSchemes] ) diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index 9bba93b39..fb5612dfb 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -16,14 +16,14 @@ extension Project { dependencies: dependencies, resources: ["Resources/**"] ), - .test(name: name) + .test(name: name), ], schemes: [ .scheme( name: name, mainTargetName: name, testTargetName: "\(name)Tests" - ) + ), ] ) } @@ -42,21 +42,21 @@ extension Project { product: .framework, dependencies: dependencies ), - .test(name: name) + .test(name: name), ], schemes: [ .scheme( name: name, mainTargetName: name, testTargetName: "\(name)Tests" - ) + ), ] ) } } -public extension Target { - static func main( +extension Target { + public static func main( name: String, product: Product, dependencies: [TargetDependency], @@ -75,7 +75,7 @@ public extension Target { ) } - static func test( + public static func test( name: String ) -> Target { return Target( @@ -113,16 +113,16 @@ extension Scheme { projectPath: nil, target: testTargetName ) - + return Scheme( name: name, shared: true, buildAction: .buildAction(targets: [ - main + main, ]), testAction: .targets( [ - TestableTarget(target: test) + TestableTarget(target: test), ], configuration: "debug" ), @@ -152,18 +152,18 @@ extension Settings { name: "debug", settings: [ "OTHER_SWIFT_FLAGS": [ - "-DDEBUG_MACRO" - ] + "-DDEBUG_MACRO", + ], ] ), .release( name: "release", settings: [ "OTHER_SWIFT_FLAGS": [ - "-DRELEASE_MARCO" - ] + "-DRELEASE_MARCO", + ], ] - ) + ), ], defaultSettings: .recommended ) diff --git a/projects/tuist/fixtures/ios_app_with_custom_configuration/Workspace.swift b/projects/tuist/fixtures/ios_app_with_custom_configuration/Workspace.swift index 0a4f1f07d..fc2912fcf 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_configuration/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_configuration/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "FrameworkA"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "FrameworkA"] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_scheme/App/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_scheme/App/Project.swift index 20c708104..ebc480c24 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_scheme/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_scheme/App/Project.swift @@ -5,51 +5,63 @@ let debugScheme = Scheme( name: "App-Debug", shared: true, buildAction: .buildAction( - targets: ["App"], - preActions: [debugAction], + targets: ["App"], + preActions: [debugAction], runPostActionsOnFailure: true ), testAction: TestAction.targets(["AppTests"]), runAction: .runAction( - executable: "App", + executable: "App", options: .options(simulatedLocation: .johannesburg) ) ) let releaseAction = ExecutionAction(scriptText: "echo Release", target: "App") -let releaseScheme = Scheme(name: "App-Release", - shared: true, - buildAction: .buildAction(targets: ["App"], preActions: [releaseAction]), - testAction: TestAction.targets(["AppTests"]), - runAction: .runAction(executable: "App", options: .options(simulatedLocation: .custom(gpxFile: "Resources/Grand Canyon.gpx")))) - -let userScheme = Scheme(name: "App-Local", - shared: false, - buildAction: .buildAction(targets: ["App"], preActions: [debugAction]), - testAction: TestAction.targets(["AppTests"]), - runAction: .runAction(executable: "App")) - -let project = Project(name: "MainApp", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Config/App-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework1", path: "../Frameworks/Framework1"), - .project(target: "Framework2", path: "../Frameworks/Framework2"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Config/AppTests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ])], - schemes: [debugScheme, releaseScheme, userScheme]) +let releaseScheme = Scheme( + name: "App-Release", + shared: true, + buildAction: .buildAction(targets: ["App"], preActions: [releaseAction]), + testAction: TestAction.targets(["AppTests"]), + runAction: .runAction( + executable: "App", + options: .options(simulatedLocation: .custom(gpxFile: "Resources/Grand Canyon.gpx")) + ) +) +let userScheme = Scheme( + name: "App-Local", + shared: false, + buildAction: .buildAction(targets: ["App"], preActions: [debugAction]), + testAction: TestAction.targets(["AppTests"]), + runAction: .runAction(executable: "App") +) +let project = Project( + name: "MainApp", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Config/App-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework1", path: "../Frameworks/Framework1"), + .project(target: "Framework2", path: "../Frameworks/Framework2"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Config/AppTests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ], + schemes: [debugScheme, releaseScheme, userScheme] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework1/Project.swift index 54f2fc886..d8f394a47 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework1/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "Framework1", - targets: [ - Target(name: "Framework1", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework2", path: "../Framework2"), - ]), +let project = Project( + name: "Framework1", + targets: [ + Target( + name: "Framework1", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework2", path: "../Framework2"), + ] + ), - Target(name: "Framework1Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Config/Framework1Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework1"), - ]) - ]) + Target( + name: "Framework1Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Config/Framework1Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework1"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework2/Project.swift index 5147baba8..538f8d88e 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_scheme/Frameworks/Framework2/Project.swift @@ -1,22 +1,28 @@ import ProjectDescription -let project = Project(name: "Framework2", - targets: [ - Target(name: "Framework2", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: []), +let project = Project( + name: "Framework2", + targets: [ + Target( + name: "Framework2", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [] + ), - Target(name: "Framework2Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework2Tests", - infoPlist: "Config/Framework2Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework2"), - ]), -]) + Target( + name: "Framework2Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework2Tests", + infoPlist: "Config/Framework2Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework2"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_scheme/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_custom_scheme/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_scheme/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_scheme/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_custom_scheme/Workspace.swift b/projects/tuist/fixtures/ios_app_with_custom_scheme/Workspace.swift index a2c67e84a..84159dfcd 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_scheme/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_scheme/Workspace.swift @@ -1,34 +1,66 @@ import ProjectDescription -let customAppScheme = Scheme(name: "Workspace-App", - shared: true, - buildAction: .buildAction(targets: [.project(path: "App", target: "App")], preActions: []), - testAction: TestAction.targets([TestableTarget(target: .project(path: "App", target: "AppTests")), - TestableTarget(target: .project(path: "Frameworks/Framework1", target: "Framework1Tests")), - TestableTarget(target: .project(path: "Frameworks/Framework2", target: "Framework2Tests"))]), - runAction: .runAction(executable: .project(path: "App", target: "App")), - archiveAction: .archiveAction(configuration: "Debug", customArchiveName: "Something2")) +let customAppScheme = Scheme( + name: "Workspace-App", + shared: true, + buildAction: .buildAction(targets: [.project(path: "App", target: "App")], preActions: []), + testAction: TestAction.targets([ + TestableTarget(target: .project(path: "App", target: "AppTests")), + TestableTarget(target: .project( + path: "Frameworks/Framework1", + target: "Framework1Tests" + )), + TestableTarget(target: .project( + path: "Frameworks/Framework2", + target: "Framework2Tests" + )), + ]), + runAction: .runAction(executable: .project(path: "App", target: "App")), + archiveAction: .archiveAction(configuration: "Debug", customArchiveName: "Something2") +) -let customAppSchemeWithTestPlans = Scheme(name: "Workspace-App-With-TestPlans", - shared: true, - buildAction: .buildAction(targets: [.project(path: "App", target: "App")], preActions: []), - testAction: TestAction.testPlans(["DefaultTestPlan.xctestplan", "OtherTestPlan.xctestplan", "YetAnotherTestPlan.xctestplan", "NonExistentTestPlan.xctestplan"]), - runAction: .runAction(executable: .project(path: "App", target: "App")), - archiveAction: .archiveAction(configuration: "Debug", customArchiveName: "Something2")) +let customAppSchemeWithTestPlans = Scheme( + name: "Workspace-App-With-TestPlans", + shared: true, + buildAction: .buildAction( + targets: [.project(path: "App", target: "App")], + preActions: [] + ), + testAction: TestAction + .testPlans([ + "DefaultTestPlan.xctestplan", + "OtherTestPlan.xctestplan", + "YetAnotherTestPlan.xctestplan", + "NonExistentTestPlan.xctestplan", + ]), + runAction: .runAction(executable: .project(path: "App", target: "App")), + archiveAction: .archiveAction(configuration: "Debug", customArchiveName: "Something2") +) -let customFrameworkScheme = Scheme(name: "Workspace-Framework", - shared: true, - buildAction: .buildAction(targets: [.project(path: "Frameworks/Framework1", target: "Framework1")], preActions: []), - testAction: TestAction.targets([TestableTarget(target: .project(path: "Frameworks/Framework1", target: "Framework1Tests"))]), - archiveAction: .archiveAction(configuration: "Debug", customArchiveName: "Something2")) +let customFrameworkScheme = Scheme( + name: "Workspace-Framework", + shared: true, + buildAction: .buildAction( + targets: [.project(path: "Frameworks/Framework1", target: "Framework1")], + preActions: [] + ), + testAction: TestAction + .targets([TestableTarget(target: .project( + path: "Frameworks/Framework1", + target: "Framework1Tests" + ))]), + archiveAction: .archiveAction(configuration: "Debug", customArchiveName: "Something2") +) -let workspace = Workspace(name: "Workspace", - projects: [ - "App", - "Frameworks/**", - ], - schemes: [ - customAppScheme, - customAppSchemeWithTestPlans, - customFrameworkScheme, - ]) +let workspace = Workspace( + name: "Workspace", + projects: [ + "App", + "Frameworks/**", + ], + schemes: [ + customAppScheme, + customAppSchemeWithTestPlans, + customFrameworkScheme, + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_workspace/App/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_workspace/App/Project.swift index 1153cff9f..7d29b1358 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_workspace/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_workspace/App/Project.swift @@ -1,29 +1,36 @@ import ProjectDescription -let project = Project(name: "MainApp", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Config/App-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework1", path: "../Frameworks/Framework1"), - .project(target: "Framework2", path: "../Frameworks/Framework2"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Config/AppTests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ])], - additionalFiles: [ - "Dangerfile.swift", - "Documentation/**", - "CHANGELOG", - .folderReference(path: "Responses"), - ]) +let project = Project( + name: "MainApp", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Config/App-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework1", path: "../Frameworks/Framework1"), + .project(target: "Framework2", path: "../Frameworks/Framework2"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Config/AppTests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ], + additionalFiles: [ + "Dangerfile.swift", + "Documentation/**", + "CHANGELOG", + .folderReference(path: "Responses"), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework1/Project.swift index 54f2fc886..d8f394a47 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework1/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "Framework1", - targets: [ - Target(name: "Framework1", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework2", path: "../Framework2"), - ]), +let project = Project( + name: "Framework1", + targets: [ + Target( + name: "Framework1", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework2", path: "../Framework2"), + ] + ), - Target(name: "Framework1Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Config/Framework1Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework1"), - ]) - ]) + Target( + name: "Framework1Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Config/Framework1Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework1"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework2/Project.swift index 5147baba8..538f8d88e 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_workspace/Frameworks/Framework2/Project.swift @@ -1,22 +1,28 @@ import ProjectDescription -let project = Project(name: "Framework2", - targets: [ - Target(name: "Framework2", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: []), +let project = Project( + name: "Framework2", + targets: [ + Target( + name: "Framework2", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [] + ), - Target(name: "Framework2Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework2Tests", - infoPlist: "Config/Framework2Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework2"), - ]), -]) + Target( + name: "Framework2Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework2Tests", + infoPlist: "Config/Framework2Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework2"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_custom_workspace/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_custom_workspace/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_workspace/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_workspace/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_custom_workspace/Workspace.swift b/projects/tuist/fixtures/ios_app_with_custom_workspace/Workspace.swift index 4402e61e2..5fa92fbfd 100644 --- a/projects/tuist/fixtures/ios_app_with_custom_workspace/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_custom_workspace/Workspace.swift @@ -1,11 +1,13 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: [ - "App", - "Frameworks/**", - ], - additionalFiles: [ - "Documentation/**", - .folderReference(path: "Website") - ]) +let workspace = Workspace( + name: "Workspace", + projects: [ + "App", + "Frameworks/**", + ], + additionalFiles: [ + "Documentation/**", + .folderReference(path: "Website"), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Project.swift b/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Project.swift index ca8a92475..3a82817f2 100644 --- a/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "AppWithSpace", - targets: [ - Target(name: "AppWithSpace", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app-with-space", - infoPlist: "Info.plist", - sources: ["Sources/**"], - scripts: [ - .pre(path: "script.sh", name: "Run script") - ]), - ]) +let project = Project( + name: "AppWithSpace", + targets: [ + Target( + name: "AppWithSpace", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app-with-space", + infoPlist: "Info.plist", + sources: ["Sources/**"], + scripts: [ + .pre(path: "script.sh", name: "Run script"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Sources/AppDelegate.swift index 210f215d3..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_env_suppressed/App With Space/Sources/AppDelegate.swift @@ -2,13 +2,12 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Project.swift b/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Project.swift index 96c4ec038..4026b28e3 100644 --- a/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Project.swift @@ -1,16 +1,20 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app", - infoPlist: "Info.plist", - sources: ["Sources/**"], - scripts: [ - .pre(tool: "/bin/echo", arguments: ["\"tuist\""], name: "Tuist"), - .post(tool: "/bin/echo", arguments: ["rocks"], name: "Rocks"), - .pre(path: "script.sh", name: "Run script") - ]), - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app", + infoPlist: "Info.plist", + sources: ["Sources/**"], + scripts: [ + .pre(tool: "/bin/echo", arguments: ["\"tuist\""], name: "Tuist"), + .post(tool: "/bin/echo", arguments: ["rocks"], name: "Rocks"), + .pre(path: "script.sh", name: "Run script"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Sources/AppDelegate.swift index 210f215d3..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_env_suppressed/App/Sources/AppDelegate.swift @@ -2,13 +2,12 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_env_suppressed/Config.swift b/projects/tuist/fixtures/ios_app_with_env_suppressed/Config.swift index fa78cd478..21b2aeaa3 100644 --- a/projects/tuist/fixtures/ios_app_with_env_suppressed/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_env_suppressed/Config.swift @@ -1,7 +1,7 @@ import ProjectDescription let config = Config( - generationOptions: [ - .disableShowEnvironmentVarsInScriptPhases, - ] + generationOptions: [ + .disableShowEnvironmentVarsInScriptPhases, + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_extensions/MessageExtension/Sources/MessagesViewController.swift b/projects/tuist/fixtures/ios_app_with_extensions/MessageExtension/Sources/MessagesViewController.swift index 9952a3025..e7292cfb6 100644 --- a/projects/tuist/fixtures/ios_app_with_extensions/MessageExtension/Sources/MessagesViewController.swift +++ b/projects/tuist/fixtures/ios_app_with_extensions/MessageExtension/Sources/MessagesViewController.swift @@ -5,62 +5,60 @@ // Created by Kassem Wridan on 30/06/2020. // -import UIKit import Messages +import UIKit class MessagesViewController: MSMessagesAppViewController { - override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. } - + // MARK: - Conversation Handling - - override func willBecomeActive(with conversation: MSConversation) { + + override func willBecomeActive(with _: MSConversation) { // Called when the extension is about to move from the inactive to active state. // This will happen when the extension is about to present UI. - + // Use this method to configure the extension and restore previously stored state. } - - override func didResignActive(with conversation: MSConversation) { + + override func didResignActive(with _: MSConversation) { // Called when the extension is about to move from the active to inactive state. // This will happen when the user dismisses the extension, changes to a different // conversation or quits Messages. - + // Use this method to release shared resources, save user data, invalidate timers, // and store enough state information to restore your extension to its current state // in case it is terminated later. } - - override func didReceive(_ message: MSMessage, conversation: MSConversation) { + + override func didReceive(_: MSMessage, conversation _: MSConversation) { // Called when a message arrives that was generated by another instance of this // extension on a remote device. - + // Use this method to trigger UI updates in response to the message. } - - override func didStartSending(_ message: MSMessage, conversation: MSConversation) { + + override func didStartSending(_: MSMessage, conversation _: MSConversation) { // Called when the user taps the send button. } - - override func didCancelSending(_ message: MSMessage, conversation: MSConversation) { + + override func didCancelSending(_: MSMessage, conversation _: MSConversation) { // Called when the user deletes the message without sending it. - + // Use this to clean up state related to the deleted message. } - - override func willTransition(to presentationStyle: MSMessagesAppPresentationStyle) { + + override func willTransition(to _: MSMessagesAppPresentationStyle) { // Called before the extension transitions to a new presentation style. - + // Use this method to prepare for the change in presentation style. } - - override func didTransition(to presentationStyle: MSMessagesAppPresentationStyle) { + + override func didTransition(to _: MSMessagesAppPresentationStyle) { // Called after the extension transitions to a new presentation style. - + // Use this method to finalize any behaviors associated with the change in presentation style. } - } diff --git a/projects/tuist/fixtures/ios_app_with_extensions/NotificationServiceExtension/NotificationService.swift b/projects/tuist/fixtures/ios_app_with_extensions/NotificationServiceExtension/NotificationService.swift index 5abbbd1c9..dd6e712c3 100644 --- a/projects/tuist/fixtures/ios_app_with_extensions/NotificationServiceExtension/NotificationService.swift +++ b/projects/tuist/fixtures/ios_app_with_extensions/NotificationServiceExtension/NotificationService.swift @@ -1,28 +1,29 @@ import UserNotifications class NotificationService: UNNotificationServiceExtension { - var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent? - override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { + override func didReceive( + _ request: UNNotificationRequest, + withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void + ) { self.contentHandler = contentHandler bestAttemptContent = (request.content.mutableCopy() as? UNMutableNotificationContent) - + if let bestAttemptContent = bestAttemptContent { // Modify the notification content here... bestAttemptContent.title = "\(bestAttemptContent.title) [modified]" - - contentHandler(bestAttemptContent) - } - } - - override func serviceExtensionTimeWillExpire() { - // Called just before the extension will be terminated by the system. - // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. - if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { + contentHandler(bestAttemptContent) } } + override func serviceExtensionTimeWillExpire() { + // Called just before the extension will be terminated by the system. + // Use this as an opportunity to deliver your "best attempt" at modified content, otherwise the original push payload will be used. + if let contentHandler = contentHandler, let bestAttemptContent = bestAttemptContent { + contentHandler(bestAttemptContent) + } + } } diff --git a/projects/tuist/fixtures/ios_app_with_extensions/Project.swift b/projects/tuist/fixtures/ios_app_with_extensions/Project.swift index 846087caf..bda1aa0c9 100644 --- a/projects/tuist/fixtures/ios_app_with_extensions/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_extensions/Project.swift @@ -1,98 +1,110 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: ["Sources/**"], - dependencies: [ - .target(name: "StickersPackExtension"), - .target(name: "NotificationServiceExtension"), - .target(name: "WidgetExtension"), - ]), - // We need a separate app to test out Message Extensions - // as having both stickers pack and message extensions in one app - // doesn't seem to be supported. - Target(name: "AppWithMessagesExtension", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App2", - infoPlist: "Info.plist", - sources: ["Sources/**"], - dependencies: [ - .target(name: "MessageExtension"), - .target(name: "NotificationServiceExtension"), - ]), - Target(name: "StickersPackExtension", - platform: .iOS, - product: .stickerPackExtension, - bundleId: "io.tuist.App.StickersPackExtension", - infoPlist: .extendingDefault(with: [ - "CFBundleDisplayName": "$(PRODUCT_NAME)", - "NSExtension": [ - "NSExtensionPointIdentifier": "com.apple.message-payload-provider", - "NSExtensionPrincipalClass": "StickerBrowserViewController" - ] - ]), - sources: [], - resources: ["StickersPackExtension/**"], - dependencies: [ - - ]), - Target(name: "NotificationServiceExtension", - platform: .iOS, - product: .appExtension, - bundleId: "io.tuist.App.NotificationServiceExtension", - infoPlist: .extendingDefault(with: [ - "CFBundleDisplayName": "$(PRODUCT_NAME)", - "NSExtension": [ - "NSExtensionPointIdentifier": "com.apple.usernotifications.service", - "NSExtensionPrincipalClass": "$(PRODUCT_MODULE_NAME).NotificationService" - ] - ]), - sources: "NotificationServiceExtension/**", - dependencies: [ - - ]), - Target(name: "MessageExtension", - platform: .iOS, - product: .messagesExtension, - bundleId: "io.tuist.App2.MessageExtension", - infoPlist: .extendingDefault(with: [ - "CFBundleDisplayName": "$(PRODUCT_NAME)", - "NSExtension": [ - "NSExtensionMainStoryboard": "MainInterface", - "NSExtensionPointIdentifier": "com.apple.message-payload-provider", - ] - ]), - sources: "MessageExtension/Sources/**", - resources: "MessageExtension/Resources/**", - dependencies: [ - - ]), - Target(name: "WidgetExtension", - platform: .iOS, - product: .appExtension, - bundleId: "io.tuist.App.WidgetExtension", - infoPlist: .extendingDefault(with: [ - "CFBundleDisplayName": "$(PRODUCT_NAME)", - "NSExtension": [ - "NSExtensionPointIdentifier": "com.apple.widgetkit-extension" - ] - ]), - sources: "WidgetExtension/Sources/**", - resources: "WidgetExtension/Resources/**", - dependencies: [ - .target(name: "StaticFramework"), - ]), - Target(name: "StaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.App.StaticFramework", - infoPlist: .default, - sources: "StaticFramework/Sources/**" - ) - ]) \ No newline at end of file +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: ["Sources/**"], + dependencies: [ + .target(name: "StickersPackExtension"), + .target(name: "NotificationServiceExtension"), + .target(name: "WidgetExtension"), + ] + ), + // We need a separate app to test out Message Extensions + // as having both stickers pack and message extensions in one app + // doesn't seem to be supported. + Target( + name: "AppWithMessagesExtension", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App2", + infoPlist: "Info.plist", + sources: ["Sources/**"], + dependencies: [ + .target(name: "MessageExtension"), + .target(name: "NotificationServiceExtension"), + ] + ), + Target( + name: "StickersPackExtension", + platform: .iOS, + product: .stickerPackExtension, + bundleId: "io.tuist.App.StickersPackExtension", + infoPlist: .extendingDefault(with: [ + "CFBundleDisplayName": "$(PRODUCT_NAME)", + "NSExtension": [ + "NSExtensionPointIdentifier": "com.apple.message-payload-provider", + "NSExtensionPrincipalClass": "StickerBrowserViewController", + ], + ]), + sources: [], + resources: ["StickersPackExtension/**"], + dependencies: [ + ] + ), + Target( + name: "NotificationServiceExtension", + platform: .iOS, + product: .appExtension, + bundleId: "io.tuist.App.NotificationServiceExtension", + infoPlist: .extendingDefault(with: [ + "CFBundleDisplayName": "$(PRODUCT_NAME)", + "NSExtension": [ + "NSExtensionPointIdentifier": "com.apple.usernotifications.service", + "NSExtensionPrincipalClass": "$(PRODUCT_MODULE_NAME).NotificationService", + ], + ]), + sources: "NotificationServiceExtension/**", + dependencies: [ + ] + ), + Target( + name: "MessageExtension", + platform: .iOS, + product: .messagesExtension, + bundleId: "io.tuist.App2.MessageExtension", + infoPlist: .extendingDefault(with: [ + "CFBundleDisplayName": "$(PRODUCT_NAME)", + "NSExtension": [ + "NSExtensionMainStoryboard": "MainInterface", + "NSExtensionPointIdentifier": "com.apple.message-payload-provider", + ], + ]), + sources: "MessageExtension/Sources/**", + resources: "MessageExtension/Resources/**", + dependencies: [ + ] + ), + Target( + name: "WidgetExtension", + platform: .iOS, + product: .appExtension, + bundleId: "io.tuist.App.WidgetExtension", + infoPlist: .extendingDefault(with: [ + "CFBundleDisplayName": "$(PRODUCT_NAME)", + "NSExtension": [ + "NSExtensionPointIdentifier": "com.apple.widgetkit-extension", + ], + ]), + sources: "WidgetExtension/Sources/**", + resources: "WidgetExtension/Resources/**", + dependencies: [ + .target(name: "StaticFramework"), + ] + ), + Target( + name: "StaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.App.StaticFramework", + infoPlist: .default, + sources: "StaticFramework/Sources/**" + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_extensions/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_extensions/Sources/AppDelegate.swift index 99d5a9570..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_extensions/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_extensions/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_extensions/StaticFramework/Sources/StaticFramework.swift b/projects/tuist/fixtures/ios_app_with_extensions/StaticFramework/Sources/StaticFramework.swift index d7a748e15..60900e58e 100644 --- a/projects/tuist/fixtures/ios_app_with_extensions/StaticFramework/Sources/StaticFramework.swift +++ b/projects/tuist/fixtures/ios_app_with_extensions/StaticFramework/Sources/StaticFramework.swift @@ -1,7 +1,5 @@ import Foundation public struct StaticFramework { - public init() { - - } -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/ios_app_with_extensions/WidgetExtension/Sources/Widget.swift b/projects/tuist/fixtures/ios_app_with_extensions/WidgetExtension/Sources/Widget.swift index 43fb7d098..134c621f9 100644 --- a/projects/tuist/fixtures/ios_app_with_extensions/WidgetExtension/Sources/Widget.swift +++ b/projects/tuist/fixtures/ios_app_with_extensions/WidgetExtension/Sources/Widget.swift @@ -1,73 +1,69 @@ #if canImport(WidgetKit) -import WidgetKit -import SwiftUI + import SwiftUI + import WidgetKit -struct Provider: TimelineProvider { - public typealias Entry = SimpleEntry + struct Provider: TimelineProvider { + public typealias Entry = SimpleEntry - func placeholder(in context: Context) -> SimpleEntry { - return SimpleEntry(date: Date()) - } - - func getSnapshot(in context: Context, completion: @escaping (SimpleEntry) -> Void) { - - } - - func getTimeline(in context: Context, completion: @escaping (Timeline) -> Void) { - - } - - public func snapshot(with context: Context, completion: @escaping (SimpleEntry) -> ()) { - let entry = SimpleEntry(date: Date()) - completion(entry) - } - - public func timeline(with context: Context, completion: @escaping (Timeline) -> ()) { - var entries: [SimpleEntry] = [] - - // Generate a timeline consisting of five entries an hour apart, starting from the current date. - let currentDate = Date() - for hourOffset in 0 ..< 5 { - let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)! - let entry = SimpleEntry(date: entryDate) - entries.append(entry) + func placeholder(in _: Context) -> SimpleEntry { + return SimpleEntry(date: Date()) } - let timeline = Timeline(entries: entries, policy: .atEnd) - completion(timeline) - } -} + func getSnapshot(in _: Context, completion _: @escaping (SimpleEntry) -> Void) {} -struct SimpleEntry: TimelineEntry { - public let date: Date -} + func getTimeline(in _: Context, completion _: @escaping (Timeline) -> Void) {} -struct PlaceholderView : View { - var body: some View { - Text("Placeholder View") - } -} - -struct MyWidgetEntryView : View { - var entry: Provider.Entry - - var body: some View { - Text(entry.date, style: .time) - } -} - -@main -struct MyWidget: Widget { - private let kind: String = "MyWidget" - - public var body: some WidgetConfiguration { - StaticConfiguration(kind: kind, provider: Provider()) { entry in - MyWidgetEntryView(entry: entry) + public func snapshot(with _: Context, completion: @escaping (SimpleEntry) -> Void) { + let entry = SimpleEntry(date: Date()) + completion(entry) + } + + public func timeline(with _: Context, completion: @escaping (Timeline) -> Void) { + var entries: [SimpleEntry] = [] + + // Generate a timeline consisting of five entries an hour apart, starting from the current date. + let currentDate = Date() + for hourOffset in 0 ..< 5 { + let entryDate = Calendar.current.date(byAdding: .hour, value: hourOffset, to: currentDate)! + let entry = SimpleEntry(date: entryDate) + entries.append(entry) + } + + let timeline = Timeline(entries: entries, policy: .atEnd) + completion(timeline) + } + } + + struct SimpleEntry: TimelineEntry { + public let date: Date + } + + struct PlaceholderView: View { + var body: some View { + Text("Placeholder View") + } + } + + struct MyWidgetEntryView: View { + var entry: Provider.Entry + + var body: some View { + Text(entry.date, style: .time) + } + } + + @main + struct MyWidget: Widget { + private let kind: String = "MyWidget" + + public var body: some WidgetConfiguration { + StaticConfiguration(kind: kind, provider: Provider()) { entry in + MyWidgetEntryView(entry: entry) + } + .configurationDisplayName("MyWidget") + .description("This is an example widget.") } - .configurationDisplayName("MyWidget") - .description("This is an example widget.") } -} #endif diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Project.swift index 0eb6cdbb3..8134f5195 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Project.swift @@ -12,11 +12,11 @@ let project = Project( sources: "Sources/**", resources: [ "Resources/**/*.png", - "Resources/*.xcassets" + "Resources/*.xcassets", ], dependencies: [ .project(target: "Framework1", path: "../Framework1"), - .project(target: "StaticFramework", path: "../StaticFramework") + .project(target: "StaticFramework", path: "../StaticFramework"), ] ), ] diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Sources/AppDelegate.swift index f3d08efa4..d8573a535 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/App/Sources/AppDelegate.swift @@ -1,6 +1,6 @@ import Framework1 -import UIKit import StaticFramework +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { @@ -14,7 +14,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { print("AppDelegate -> \(framework1.hello())") print("Main bundle image: \(String(describing: UIImage(named: "tuist")))") } - func hello() -> String { return "AppDelegate.hello()" diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Framework1/Project.swift index 15d7dd286..f590ecfa4 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Framework1/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription // are computed, as such we need to support non-literal declarations. let resourcesDirectory = "Resources" let resources: [ResourceFileElement] = [ - "\(resourcesDirectory)/framework_resource.txt" + "\(resourcesDirectory)/framework_resource.txt", ] let project = Project( diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Project.swift index 482df5748..b9ac07077 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Project.swift @@ -1,20 +1,26 @@ import ProjectDescription -let project = Project(name: "StaticFramework", - targets: [ - Target(name: "StaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework", - infoPlist: "Config/StaticFramework-Info.plist", - sources: "Sources/**", - dependencies: []), - Target(name: "StaticFrameworkResources", - platform: .iOS, - product: .bundle, - bundleId: "io.tuist.StaticFrameworkResources", - infoPlist: .default, - sources: [], - resources: "Resources/**", - dependencies: []), -]) \ No newline at end of file +let project = Project( + name: "StaticFramework", + targets: [ + Target( + name: "StaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework", + infoPlist: "Config/StaticFramework-Info.plist", + sources: "Sources/**", + dependencies: [] + ), + Target( + name: "StaticFrameworkResources", + platform: .iOS, + product: .bundle, + bundleId: "io.tuist.StaticFrameworkResources", + infoPlist: .default, + sources: [], + resources: "Resources/**", + dependencies: [] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Sources/StaticFrameworkResources.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Sources/StaticFrameworkResources.swift index c1b042155..c3f0c96f6 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Sources/StaticFrameworkResources.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/StaticFramework/Sources/StaticFrameworkResources.swift @@ -4,21 +4,21 @@ import UIKit public class StaticFrameworkResources { private var bundle: Bundle { let path = Bundle.main.path(forResource: "StaticFrameworkResources", ofType: "bundle") - + guard let bundle = path.flatMap({ Bundle(path: $0) }) else { fatalError("StaticFrameworkResources could not be loaded") } - + return bundle } - - public init() { - - } - + + public init() {} + public var tuist: UIImage? { - return UIImage(named: "tuist-bundle", - in: bundle, - compatibleWith: nil) + return UIImage( + named: "tuist-bundle", + in: bundle, + compatibleWith: nil + ) } } diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Tuist/Config.swift index 6779faf80..19ec807f1 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Tuist/Config.swift @@ -1,8 +1,8 @@ import ProjectDescription let config = Config( - generationOptions: [ - .disableBundleAccessors, - .disableSynthesizedResourceAccessors - ] + generationOptions: [ + .disableBundleAccessors, + .disableSynthesizedResourceAccessors, + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Workspace.swift b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Workspace.swift index c2d99e6ea..81c7c746c 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_disabled_resources/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1"] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Project.swift index d1314a197..c96aa0d67 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Project.swift @@ -22,7 +22,7 @@ let project = Project( .glob(pattern: "ODRResources/*.png", tags: ["tag1"]), .glob(pattern: "ODRResources/odr_text.txt", tags: ["tag2"]), .folderReference(path: "Examples"), - .folderReference(path: "ODRExamples", tags: ["tag1", "tag2"]) + .folderReference(path: "ODRExamples", tags: ["tag1", "tag2"]), ], dependencies: [ .project(target: "Framework1", path: "../Framework1"), diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Sources/AppDelegate.swift index 7ee2024b8..4b68bae31 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Sources/AppDelegate.swift @@ -1,10 +1,10 @@ import Framework1 -import UIKit import StaticFramework import StaticFramework2 import StaticFramework3 import StaticFramework4 import StaticFramework5 +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { @@ -29,11 +29,14 @@ class AppDelegate: UIResponder, UIApplicationDelegate { print("StaticFrameworkResource image: \(String(describing: staticFrameworkResources.tuist))") print("StaticFramework2Resource image: \(String(describing: staticFramework2Resources.loadImage()))") print("StaticFramework3Resource image: \(String(describing: resourcesStaticFramework3.loadImage()))") - print("StaticFramework3Resource asset catalogue image: \(String(describing: StaticFramework3Asset.assetCatalogLogo.image))") + print( + "StaticFramework3Resource asset catalogue image: \(String(describing: StaticFramework3Asset.assetCatalogLogo.image))" + ) print("StaticFramework4Resource image: \(String(describing: resourcesStaticFramework4.loadImage()))") - print("StaticFramework5Resource image: \(String(describing: UIImage(named:"StaticFramework5Resources-tuist", in: StaticFramework5Resources.bundle, compatibleWith: nil)))") + print( + "StaticFramework5Resource image: \(String(describing: UIImage(named: "StaticFramework5Resources-tuist", in: StaticFramework5Resources.bundle, compatibleWith: nil)))" + ) } - func hello() -> String { return "AppDelegate.hello()" diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Tests/AppDelegateTests.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Tests/AppDelegateTests.swift index f85c91007..a9a1af2cd 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Tests/AppDelegateTests.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/App/Tests/AppDelegateTests.swift @@ -1,5 +1,5 @@ -@testable import App import XCTest +@testable import App class AppDelegateTests: XCTestCase { func testHello() { diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/Framework1/Project.swift index 15d7dd286..f590ecfa4 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/Framework1/Project.swift @@ -5,7 +5,7 @@ import ProjectDescription // are computed, as such we need to support non-literal declarations. let resourcesDirectory = "Resources" let resources: [ResourceFileElement] = [ - "\(resourcesDirectory)/framework_resource.txt" + "\(resourcesDirectory)/framework_resource.txt", ] let project = Project( diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Project.swift index 482df5748..b9ac07077 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Project.swift @@ -1,20 +1,26 @@ import ProjectDescription -let project = Project(name: "StaticFramework", - targets: [ - Target(name: "StaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework", - infoPlist: "Config/StaticFramework-Info.plist", - sources: "Sources/**", - dependencies: []), - Target(name: "StaticFrameworkResources", - platform: .iOS, - product: .bundle, - bundleId: "io.tuist.StaticFrameworkResources", - infoPlist: .default, - sources: [], - resources: "Resources/**", - dependencies: []), -]) \ No newline at end of file +let project = Project( + name: "StaticFramework", + targets: [ + Target( + name: "StaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework", + infoPlist: "Config/StaticFramework-Info.plist", + sources: "Sources/**", + dependencies: [] + ), + Target( + name: "StaticFrameworkResources", + platform: .iOS, + product: .bundle, + bundleId: "io.tuist.StaticFrameworkResources", + infoPlist: .default, + sources: [], + resources: "Resources/**", + dependencies: [] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Sources/StaticFrameworkResouces.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Sources/StaticFrameworkResouces.swift index c1b042155..c3f0c96f6 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Sources/StaticFrameworkResouces.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework/Sources/StaticFrameworkResouces.swift @@ -4,21 +4,21 @@ import UIKit public class StaticFrameworkResources { private var bundle: Bundle { let path = Bundle.main.path(forResource: "StaticFrameworkResources", ofType: "bundle") - + guard let bundle = path.flatMap({ Bundle(path: $0) }) else { fatalError("StaticFrameworkResources could not be loaded") } - + return bundle } - - public init() { - - } - + + public init() {} + public var tuist: UIImage? { - return UIImage(named: "tuist-bundle", - in: bundle, - compatibleWith: nil) + return UIImage( + named: "tuist-bundle", + in: bundle, + compatibleWith: nil + ) } } diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Project.swift index a3e3a8bc7..c81a7f5b6 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Project.swift @@ -1,22 +1,28 @@ import ProjectDescription -let project = Project(name: "StaticFramework2", - targets: [ - Target(name: "StaticFramework2", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework2", - infoPlist: .default, - sources: "Sources/**", - dependencies: [ - .target(name: "StaticFramework2Resources") - ]), - Target(name: "StaticFramework2Resources", - platform: .iOS, - product: .bundle, - bundleId: "io.tuist.StaticFramework2Resources", - infoPlist: .default, - sources: [], - resources: "Resources/**", - dependencies: []), -]) \ No newline at end of file +let project = Project( + name: "StaticFramework2", + targets: [ + Target( + name: "StaticFramework2", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework2", + infoPlist: .default, + sources: "Sources/**", + dependencies: [ + .target(name: "StaticFramework2Resources"), + ] + ), + Target( + name: "StaticFramework2Resources", + platform: .iOS, + product: .bundle, + bundleId: "io.tuist.StaticFramework2Resources", + infoPlist: .default, + sources: [], + resources: "Resources/**", + dependencies: [] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Sources/StaticFramework2Resources.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Sources/StaticFramework2Resources.swift index f8740e1af..9a62c1543 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Sources/StaticFramework2Resources.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework2/Sources/StaticFramework2Resources.swift @@ -3,30 +3,31 @@ import UIKit public class StaticFramework2Resources { public let name = "StaticFramework2Resources" - public init() { - - } + public init() {} public func loadImage() -> UIImage? { - return UIImage(named: "StaticFramework2Resources-tuist", - in: .staticFramework2, - compatibleWith: nil) + return UIImage( + named: "StaticFramework2Resources-tuist", + in: .staticFramework2, + compatibleWith: nil + ) } } -private extension Bundle { - private class BundleFinder { +extension Bundle { + private class BundleFinder {} - } - static var staticFramework2: Bundle { + fileprivate static var staticFramework2: Bundle { let hostBundle = Bundle(for: BundleFinder.self) - let path = hostBundle.path(forResource: "StaticFramework2Resources", - ofType: "bundle") - + let path = hostBundle.path( + forResource: "StaticFramework2Resources", + ofType: "bundle" + ) + guard let bundle = path.flatMap({ Bundle(path: $0) }) else { fatalError("StaticFramework2Resources could not be loaded") } - + return bundle } } diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Project.swift index bb3842123..f1dd5309b 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "StaticFramework3", - targets: [ - Target(name: "StaticFramework3", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework3", - infoPlist: .default, - sources: "Sources/**", - resources: "Resources/**", - dependencies: [ - ]), -]) \ No newline at end of file +let project = Project( + name: "StaticFramework3", + targets: [ + Target( + name: "StaticFramework3", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework3", + infoPlist: .default, + sources: "Sources/**", + resources: "Resources/**", + dependencies: [ + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Sources/ResourcesStaticFramework3.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Sources/ResourcesStaticFramework3.swift index cb11293c7..1fac60a4d 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Sources/ResourcesStaticFramework3.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework3/Sources/ResourcesStaticFramework3.swift @@ -3,13 +3,13 @@ import UIKit public class ResourcesStaticFramework3 { public let name = "StaticFramework3Resources" - public init() { - - } + public init() {} public func loadImage() -> UIImage? { - return UIImage(named: "StaticFramework3Resources-tuist", - in: .module, - compatibleWith: nil) + return UIImage( + named: "StaticFramework3Resources-tuist", + in: .module, + compatibleWith: nil + ) } } diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Project.swift index 3c386d455..4df1f43a7 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "StaticFramework4", - targets: [ - Target(name: "StaticFramework4", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework4", - infoPlist: .default, - sources: "Sources/**", - resources: "Resources/**", - dependencies: [ - ]), -]) \ No newline at end of file +let project = Project( + name: "StaticFramework4", + targets: [ + Target( + name: "StaticFramework4", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework4", + infoPlist: .default, + sources: "Sources/**", + resources: "Resources/**", + dependencies: [ + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Sources/ResourcesStaticFramework4.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Sources/ResourcesStaticFramework4.swift index a1751df18..180cde324 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Sources/ResourcesStaticFramework4.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework4/Sources/ResourcesStaticFramework4.swift @@ -3,13 +3,13 @@ import UIKit public class ResourcesStaticFramework4 { public let name = "StaticFramework4Resources" - public init() { - - } + public init() {} public func loadImage() -> UIImage? { - return UIImage(named: "StaticFramework4Resources-tuist", - in: StaticFramework4Resources.bundle, - compatibleWith: nil) + return UIImage( + named: "StaticFramework4Resources-tuist", + in: StaticFramework4Resources.bundle, + compatibleWith: nil + ) } } diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework5/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework5/Project.swift index f325ec6d0..0bd3dc778 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework5/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/StaticFramework5/Project.swift @@ -1,13 +1,17 @@ import ProjectDescription -let project = Project(name: "StaticFramework5", - targets: [ - Target(name: "StaticFramework5", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework5", - infoPlist: .default, - resources: "Resources/**", - dependencies: [ - ]), -]) +let project = Project( + name: "StaticFramework5", + targets: [ + Target( + name: "StaticFramework5", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework5", + infoPlist: .default, + resources: "Resources/**", + dependencies: [ + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_framework_and_resources/Workspace.swift b/projects/tuist/fixtures/ios_app_with_framework_and_resources/Workspace.swift index c2d99e6ea..81c7c746c 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_and_resources/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_and_resources/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1"] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/App/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/App/Project.swift index 86922be3e..29c7275f2 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/App/Project.swift @@ -1,23 +1,29 @@ import ProjectDescription -let project = Project(name: "MainApp", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Config/App-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework1", path: "../Framework1") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Config/AppTests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ]), -]) +let project = Project( + name: "MainApp", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Config/App-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework1", path: "../Framework1"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Config/AppTests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework1/Project.swift index 7c85cb4b2..fa9e219f6 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework1/Project.swift @@ -1,25 +1,31 @@ import ProjectDescription -let project = Project(name: "Framework1", - targets: [ - Target(name: "Framework1", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework2", path: "../Framework2"), - .project(target: "Framework3", path: "../Framework3"), - ]), +let project = Project( + name: "Framework1", + targets: [ + Target( + name: "Framework1", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework2", path: "../Framework2"), + .project(target: "Framework3", path: "../Framework3"), + ] + ), - Target(name: "Framework1Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Config/Framework1Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework1"), - ]), -]) + Target( + name: "Framework1Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Config/Framework1Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework1"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework2/Project.swift index 46500c614..ed7dac97b 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework2/Project.swift @@ -1,22 +1,28 @@ import ProjectDescription -let project = Project(name: "Framework2", - targets: [ - Target(name: "Framework2", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: []), +let project = Project( + name: "Framework2", + targets: [ + Target( + name: "Framework2", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [] + ), - Target(name: "Framework2Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework2Tests", - infoPlist: "Config/Framework2Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework2"), - ]), -]) + Target( + name: "Framework2Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework2Tests", + infoPlist: "Config/Framework2Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework2"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework3/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework3/Project.swift index fa9aa58ff..b71653402 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework3/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework3/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "Framework3", - targets: [ - Target(name: "Framework3", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.Framework3", - infoPlist: "Config/Framework3-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework4", path: "../Framework4"), - ]), +let project = Project( + name: "Framework3", + targets: [ + Target( + name: "Framework3", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.Framework3", + infoPlist: "Config/Framework3-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework4", path: "../Framework4"), + ] + ), - Target(name: "Framework3Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework3Tests", - infoPlist: "Config/Framework3Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework3"), - ]), -]) + Target( + name: "Framework3Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework3Tests", + infoPlist: "Config/Framework3Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework3"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework4/Project.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework4/Project.swift index 40e8ffbd5..23507c3ab 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework4/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Framework4/Project.swift @@ -1,22 +1,28 @@ import ProjectDescription -let project = Project(name: "Framework4", - targets: [ - Target(name: "Framework4", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.Framework4", - infoPlist: "Config/Framework4-Info.plist", - sources: "Sources/**", - dependencies: []), +let project = Project( + name: "Framework4", + targets: [ + Target( + name: "Framework4", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.Framework4", + infoPlist: "Config/Framework4-Info.plist", + sources: "Sources/**", + dependencies: [] + ), - Target(name: "Framework4Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework4Tests", - infoPlist: "Config/Framework4Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework4"), - ]), -]) + Target( + name: "Framework4Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework4Tests", + infoPlist: "Config/Framework4Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework4"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Workspace.swift b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Workspace.swift index f0e58fb7d..929bf3b53 100644 --- a/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_framework_linking_static_framework/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1", "Framework2"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1", "Framework2"] +) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/App/Project.swift b/projects/tuist/fixtures/ios_app_with_frameworks/App/Project.swift index 60831d8a1..5242c0115 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/App/Project.swift @@ -4,27 +4,33 @@ let settings: Settings = .settings(base: [ "HEADER_SEARCH_PATHS": "path/to/lib/include", ]) -let project = Project(name: "MainApp", - settings: settings, - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: .extendingDefault(with: [:]), - sources: "Sources/**", - resources: "Sources/Main.storyboard", - dependencies: [ - .project(target: "Framework1", path: "../Framework1"), - .project(target: "Framework2-iOS", path: "../Framework2"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: .extendingDefault(with: [:]), - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ]), -]) +let project = Project( + name: "MainApp", + settings: settings, + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: .extendingDefault(with: [:]), + sources: "Sources/**", + resources: "Sources/Main.storyboard", + dependencies: [ + .project(target: "Framework1", path: "../Framework1"), + .project(target: "Framework2-iOS", path: "../Framework2"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: .extendingDefault(with: [:]), + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/App/Tests/AppDelegateTests.swift b/projects/tuist/fixtures/ios_app_with_frameworks/App/Tests/AppDelegateTests.swift index f85c91007..a9a1af2cd 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/App/Tests/AppDelegateTests.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/App/Tests/AppDelegateTests.swift @@ -1,5 +1,5 @@ -@testable import App import XCTest +@testable import App class AppDelegateTests: XCTestCase { func testHello() { diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Framework1/Project.swift index 550168e76..67d706a08 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Framework1/Project.swift @@ -11,29 +11,35 @@ let infoPlist: [String: InfoPlist.Value] = [ "CFBundleVersion": "1", "LSRequiresIPhoneOS": true, "NSHumanReadableCopyright": "Copyright ©. All rights reserved.", - "Test": "Value" + "Test": "Value", ] -let project = Project(name: "Framework1", - targets: [ - Target(name: "Framework1", - platform: .iOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: .dictionary(infoPlist), - sources: "Sources/**", - dependencies: [ - .project(target: "Framework2-iOS", path: "../Framework2"), - ]), - Target(name: "Framework1Tests", - platform: .iOS, - product: .unitTests, - productName: "Framework1Tests", - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Config/Framework1Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework1"), - ]), -]) +let project = Project( + name: "Framework1", + targets: [ + Target( + name: "Framework1", + platform: .iOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: .dictionary(infoPlist), + sources: "Sources/**", + dependencies: [ + .project(target: "Framework2-iOS", path: "../Framework2"), + ] + ), + Target( + name: "Framework1Tests", + platform: .iOS, + product: .unitTests, + productName: "Framework1Tests", + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Config/Framework1Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework1"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Project.swift index 9777332e0..7b8c9a5f9 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Project.swift @@ -1,38 +1,52 @@ import ProjectDescription -let project = Project(name: "Framework2", - targets: [ - Target(name: "Framework2-iOS", - platform: .iOS, - product: .framework, - productName: "Framework2", - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - headers: Headers(public: "Sources/Public/**", - private: "Sources/Private/**", - project: "Sources/Project/**"), - dependencies: [ - .project(target: "Framework3", path: "../Framework3") - ]), - Target(name: "Framework2-macOS", - platform: .macOS, - product: .framework, - productName: "Framework2", - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - headers: Headers(public: "Sources/Public/**", - private: "Sources/Private/**", - project: "Sources/Project/**"), - dependencies: []), - Target(name: "Framework2Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework2Tests", - infoPlist: "Config/Framework2Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework2-iOS"), - ]), -]) +let project = Project( + name: "Framework2", + targets: [ + Target( + name: "Framework2-iOS", + platform: .iOS, + product: .framework, + productName: "Framework2", + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + headers: Headers( + public: "Sources/Public/**", + + private: "Sources/Private/**", + + project: "Sources/Project/**" + ), + dependencies: [ + .project(target: "Framework3", path: "../Framework3"), + ] + ), + Target( + name: "Framework2-macOS", + platform: .macOS, + product: .framework, + productName: "Framework2", + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + headers: Headers( + public: "Sources/Public/**", + private: "Sources/Private/**", + project: "Sources/Project/**" + ), + dependencies: [] + ), + Target( + name: "Framework2Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework2Tests", + infoPlist: "Config/Framework2Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework2-iOS"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Tests/MyPublicClassTests.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Tests/MyPublicClassTests.swift index 17fd160d7..048bf3a57 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Tests/MyPublicClassTests.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Framework2/Tests/MyPublicClassTests.swift @@ -4,7 +4,7 @@ import XCTest class MyPublicClassTests: XCTestCase { func testHello() { let sut = MyPublicClass() - + XCTAssertEqual("MyPublicClass.hello", sut.hello()) } } diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Framework3/Project.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Framework3/Project.swift index 88b9c73f7..b4dde7637 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Framework3/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Framework3/Project.swift @@ -3,14 +3,16 @@ import ProjectDescription let project = Project( name: "Framework3", targets: [ - Target(name: "Framework3", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework3", - infoPlist: "Config/Framework3-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework4", path: "../Framework4") - ]), + Target( + name: "Framework3", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework3", + infoPlist: "Config/Framework3-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework4", path: "../Framework4"), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Framework4/Project.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Framework4/Project.swift index cdd7254d7..407b19daf 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Framework4/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Framework4/Project.swift @@ -3,14 +3,16 @@ import ProjectDescription let project = Project( name: "Framework4", targets: [ - Target(name: "Framework4", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework4", - infoPlist: "Config/Framework4-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework5", path: "../Framework5") - ]), + Target( + name: "Framework4", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework4", + infoPlist: "Config/Framework4-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework5", path: "../Framework5"), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Framework5/Project.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Framework5/Project.swift index 675d4bbd6..8e08e2bfa 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Framework5/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Framework5/Project.swift @@ -3,14 +3,16 @@ import ProjectDescription let project = Project( name: "Framework5", targets: [ - Target(name: "Framework5", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework5", - infoPlist: "Config/Framework5-Info.plist", - sources: "Sources/**", - dependencies: [ - .sdk(name: "ARKit.framework") - ]), + Target( + name: "Framework5", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework5", + infoPlist: "Config/Framework5-Info.plist", + sources: "Sources/**", + dependencies: [ + .sdk(name: "ARKit.framework"), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Tuist/Config.swift index 22edf9d80..917bd89a1 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Tuist/Config.swift @@ -1,7 +1,7 @@ import ProjectDescription let config = Config( - generationOptions: [ - .xcodeProjectName("AwesomePrefix-\(.projectName)-AwesomeSuffix") - ] + generationOptions: [ + .xcodeProjectName("AwesomePrefix-\(.projectName)-AwesomeSuffix"), + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_frameworks/Workspace.swift b/projects/tuist/fixtures/ios_app_with_frameworks/Workspace.swift index f0e58fb7d..929bf3b53 100644 --- a/projects/tuist/fixtures/ios_app_with_frameworks/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_frameworks/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1", "Framework2"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1", "Framework2"] +) diff --git a/projects/tuist/fixtures/ios_app_with_headers/App/Project.swift b/projects/tuist/fixtures/ios_app_with_headers/App/Project.swift index dcf40b1f4..91d1c7e90 100644 --- a/projects/tuist/fixtures/ios_app_with_headers/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_headers/App/Project.swift @@ -3,25 +3,31 @@ import ProjectDescription let settings: Settings = .settings(base: [ "HEADER_SEARCH_PATHS": "path/to/lib/include", ]) -let project = Project(name: "MainApp", - settings: settings, - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Config/App-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework1-iOS", path: "../Framework1"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Config/AppTests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ]), -]) +let project = Project( + name: "MainApp", + settings: settings, + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Config/App-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework1-iOS", path: "../Framework1"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Config/AppTests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_headers/App/Tests/AppDelegateTests.swift b/projects/tuist/fixtures/ios_app_with_headers/App/Tests/AppDelegateTests.swift index f85c91007..a9a1af2cd 100644 --- a/projects/tuist/fixtures/ios_app_with_headers/App/Tests/AppDelegateTests.swift +++ b/projects/tuist/fixtures/ios_app_with_headers/App/Tests/AppDelegateTests.swift @@ -1,5 +1,5 @@ -@testable import App import XCTest +@testable import App class AppDelegateTests: XCTestCase { func testHello() { diff --git a/projects/tuist/fixtures/ios_app_with_headers/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_headers/Framework1/Project.swift index 096432835..c619c420e 100644 --- a/projects/tuist/fixtures/ios_app_with_headers/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_headers/Framework1/Project.swift @@ -1,36 +1,50 @@ import ProjectDescription -let project = Project(name: "Framework1", - targets: [ - Target(name: "Framework1-iOS", - platform: .iOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - headers: Headers(public: ["Sources/Public/A/**", "Sources/Public/B/**"], - private: ["Sources/Private/**"], - project: ["Sources/Project/**"]), - dependencies: []), - Target(name: "Framework1-macOS", - platform: .macOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - headers: Headers(public: "Sources/Public/**", - private: "Sources/Private/**", - project: "Sources/Project/**"), - dependencies: []), - Target(name: "Framework1Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Config/Framework1Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework1-iOS"), - ]), -]) +let project = Project( + name: "Framework1", + targets: [ + Target( + name: "Framework1-iOS", + platform: .iOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + headers: Headers( + public: ["Sources/Public/A/**", "Sources/Public/B/**"], + + private: ["Sources/Private/**"], + + project: ["Sources/Project/**"] + ), + dependencies: [] + ), + Target( + name: "Framework1-macOS", + platform: .macOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + headers: Headers( + public: "Sources/Public/**", + private: "Sources/Private/**", + project: "Sources/Project/**" + ), + dependencies: [] + ), + Target( + name: "Framework1Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Config/Framework1Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework1-iOS"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_headers/Framework1/Tests/MyPublicClassTests.swift b/projects/tuist/fixtures/ios_app_with_headers/Framework1/Tests/MyPublicClassTests.swift index 2b7c29a51..09a97bec7 100644 --- a/projects/tuist/fixtures/ios_app_with_headers/Framework1/Tests/MyPublicClassTests.swift +++ b/projects/tuist/fixtures/ios_app_with_headers/Framework1/Tests/MyPublicClassTests.swift @@ -4,7 +4,7 @@ import XCTest class MyPublicClassTests: XCTestCase { func testHello() { let sut = MyPublicClass() - + XCTAssertEqual("MyPublicClass.hello", sut.hello()) } } diff --git a/projects/tuist/fixtures/ios_app_with_headers/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_headers/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_headers/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_headers/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_headers/Workspace.swift b/projects/tuist/fixtures/ios_app_with_headers/Workspace.swift index c2d99e6ea..81c7c746c 100644 --- a/projects/tuist/fixtures/ios_app_with_headers/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_headers/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1"] +) diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Project.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Project.swift index 19bd902f9..f89b263f6 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Project.swift @@ -2,5 +2,5 @@ import ProjectDescription import ProjectDescriptionHelpers let project = Project.app(name: "App", platform: .iOS, dependencies: [ - .project(target: "AppKit", path: "//Projects/AppKit") -]) \ No newline at end of file + .project(target: "AppKit", path: "//Projects/AppKit"), +]) diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Sources/AppDelegate.swift index 376a6702e..4586be4a0 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Sources/AppDelegate.swift @@ -1,14 +1,13 @@ -import UIKit import ios_app_with_helpersKit +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -17,5 +16,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Tests/ios_app_with_helpersTests.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Tests/ios_app_with_helpersTests.swift index ed640d427..6e3e96e10 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Tests/ios_app_with_helpersTests.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/App/Tests/ios_app_with_helpersTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import ios_app_with_helpers -final class ios_app_with_helpersTests: XCTestCase { - -} \ No newline at end of file +final class ios_app_with_helpersTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Project.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Project.swift index 3eb826bb4..58117aadc 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Project.swift @@ -2,5 +2,5 @@ import ProjectDescription import ProjectDescriptionHelpers let project = Project.framework(name: "AppKit", platform: .iOS, dependencies: [ - .project(target: "AppSupport", path: "//Projects/AppSupport") -]) \ No newline at end of file + .project(target: "AppSupport", path: "//Projects/AppSupport"), +]) diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Sources/ios_app_with_helpersKit.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Sources/ios_app_with_helpersKit.swift index a5017f270..8db58976a 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Sources/ios_app_with_helpersKit.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Sources/ios_app_with_helpersKit.swift @@ -1,4 +1,4 @@ import Foundation import ios_app_with_helpersSupport -public final class ios_app_with_helpers {} \ No newline at end of file +public final class ios_app_with_helpers {} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Tests/ios_app_with_helpersKitTests.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Tests/ios_app_with_helpersKitTests.swift index 27cf431de..c0876ecd1 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Tests/ios_app_with_helpersKitTests.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppKit/Tests/ios_app_with_helpersKitTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import ios_app_with_helpersKit -final class ios_app_with_helpersKitTests: XCTestCase { - -} \ No newline at end of file +final class ios_app_with_helpersKitTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Project.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Project.swift index d6c03d088..9dad7ece8 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Project.swift @@ -1,4 +1,4 @@ import ProjectDescription import ProjectDescriptionHelpers -let project = Project.framework(name: "AppSupport", platform: .iOS, dependencies: []) \ No newline at end of file +let project = Project.framework(name: "AppSupport", platform: .iOS, dependencies: []) diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Sources/ios_app_with_helpersSupport.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Sources/ios_app_with_helpersSupport.swift index 35d7b6c8f..1841b1279 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Sources/ios_app_with_helpersSupport.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Sources/ios_app_with_helpersSupport.swift @@ -1,3 +1,3 @@ import Foundation -public final class ios_app_with_helpers {} \ No newline at end of file +public final class ios_app_with_helpers {} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Tests/ios_app_with_helpersSupportTests.swift b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Tests/ios_app_with_helpersSupportTests.swift index a8bed97b2..f127d0b61 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Tests/ios_app_with_helpersSupportTests.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Projects/AppSupport/Tests/ios_app_with_helpersSupportTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import ios_app_with_helpersSupport -final class ios_app_with_helpersSupportTests: XCTestCase { - -} \ No newline at end of file +final class ios_app_with_helpersSupportTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Setup.swift b/projects/tuist/fixtures/ios_app_with_helpers/Setup.swift index 1ac028a1d..3fc73d659 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Setup.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Setup.swift @@ -1,4 +1,4 @@ import ProjectDescription let setup = Setup([ -]) \ No newline at end of file +]) diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Tuist/Dependencies.swift b/projects/tuist/fixtures/ios_app_with_helpers/Tuist/Dependencies.swift index 2d6faa673..64683ccfc 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Tuist/Dependencies.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Tuist/Dependencies.swift @@ -3,11 +3,11 @@ import ProjectDescription let dependencies = Dependencies( carthage: [ .git(path: "https://github.com/Alamofire/Alamofire", requirement: .exact("5.0.4")), - .git(path: "https://github.com/Swinject/Swinject", requirement: .exact("2.7.1")) + .git(path: "https://github.com/Swinject/Swinject", requirement: .exact("2.7.1")), ], swiftPackageManager: [ .package(url: "https://github.com/SnapKit/SnapKit.git", .upToNextMajor(from: "5.0.1")), - .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.1.0")) + .package(url: "https://github.com/ReactiveX/RxSwift.git", .exact("6.1.0")), ], platforms: [.iOS] ) diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Tuist/ProjectDescriptionHelpers/Project+Templates.swift b/projects/tuist/fixtures/ios_app_with_helpers/Tuist/ProjectDescriptionHelpers/Project+Templates.swift index ced095e36..68367c6b4 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Tuist/ProjectDescriptionHelpers/Project+Templates.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Tuist/ProjectDescriptionHelpers/Project+Templates.swift @@ -1,43 +1,48 @@ import ProjectDescription extension Project { - public static func app(name: String, platform: Platform, dependencies: [TargetDependency] = []) -> Project { - return self.project(name: name, product: .app, platform: platform, dependencies: dependencies, infoPlist: [ + return project(name: name, product: .app, platform: platform, dependencies: dependencies, infoPlist: [ "CFBundleShortVersionString": "1.0", - "CFBundleVersion": "1" + "CFBundleVersion": "1", ]) } public static func framework(name: String, platform: Platform, dependencies: [TargetDependency] = []) -> Project { - return self.project(name: name, product: .framework, platform: platform, dependencies: dependencies) + return project(name: name, product: .framework, platform: platform, dependencies: dependencies) } public static func project(name: String, product: Product, platform: Platform, dependencies: [TargetDependency] = [], - infoPlist: [String: InfoPlist.Value] = [:]) -> Project { - return Project(name: name, - targets: [ - Target(name: name, - platform: platform, - product: product, - bundleId: "io.tuist.\(name)", - infoPlist: .extendingDefault(with: infoPlist), - sources: ["Sources/**"], - resources: [], - dependencies: dependencies), - Target(name: "\(name)Tests", - platform: platform, - product: .unitTests, - bundleId: "io.tuist.\(name)Tests", - infoPlist: .default, - sources: "Tests/**", - dependencies: [ - .target(name: "\(name)") - ]) - ]) + infoPlist: [String: InfoPlist.Value] = [:]) -> Project + { + return Project( + name: name, + targets: [ + Target( + name: name, + platform: platform, + product: product, + bundleId: "io.tuist.\(name)", + infoPlist: .extendingDefault(with: infoPlist), + sources: ["Sources/**"], + resources: [], + dependencies: dependencies + ), + Target( + name: "\(name)Tests", + platform: platform, + product: .unitTests, + bundleId: "io.tuist.\(name)Tests", + infoPlist: .default, + sources: "Tests/**", + dependencies: [ + .target(name: "\(name)"), + ] + ), + ] + ) } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_helpers/Workspace.swift b/projects/tuist/fixtures/ios_app_with_helpers/Workspace.swift index d738f647d..2cf8a61c1 100644 --- a/projects/tuist/fixtures/ios_app_with_helpers/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_helpers/Workspace.swift @@ -4,5 +4,5 @@ import ProjectDescriptionHelpers let workspace = Workspace(name: "App", projects: [ "Projects/App", "Projects/AppKit", - "Projects/AppSupport" -]) \ No newline at end of file + "Projects/AppSupport", +]) diff --git a/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/App/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/App/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/App/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/App/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Framework/Framework.swift b/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Framework/Framework.swift index e4550f6ca..fb7ddf714 100644 --- a/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Framework/Framework.swift +++ b/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Framework/Framework.swift @@ -1,5 +1,5 @@ import Foundation public class Framework { - public init() {} -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Project.swift b/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Project.swift index 442200a86..f61c39924 100644 --- a/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_incompatible_dependencies/Project.swift @@ -1,24 +1,34 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .macOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: "App/**", - dependencies: [ - .target(name: "Framework") - ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"])), - Target(name: "Framework", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework", - infoPlist: "Framework.plist", - sources: "Framework/**", - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"])) -]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .macOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: "App/**", + dependencies: [ + .target(name: "Framework"), + ], + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) + ), + Target( + name: "Framework", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework", + infoPlist: "Framework.plist", + sources: "Framework/**", + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Project.swift b/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Project.swift index 226805151..beda0c2d7 100644 --- a/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Project.swift @@ -1,11 +1,15 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: "Sources/**") -]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: "Sources/**" + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Sources/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_incompatible_xcode/Sources/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/ios_app_with_intents/Project.swift b/projects/tuist/fixtures/ios_app_with_intents/Project.swift index ab8a69f5f..b781333c7 100644 --- a/projects/tuist/fixtures/ios_app_with_intents/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_intents/Project.swift @@ -1,17 +1,21 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.app", - infoPlist: "Info.plist", - sources: [ - "Sources/**", - SourceFileGlob("Intents/Public.intentdefinition", codeGen: .public), - SourceFileGlob("Intents/Private.intentdefinition", codeGen: .private), - SourceFileGlob("Intents/Project.intentdefinition", codeGen: .project), - SourceFileGlob("Intents/Disabled.intentdefinition", codeGen: .disabled) - ]) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.app", + infoPlist: "Info.plist", + sources: [ + "Sources/**", + SourceFileGlob("Intents/Public.intentdefinition", codeGen: .public), + SourceFileGlob("Intents/Private.intentdefinition", codeGen: .private), + SourceFileGlob("Intents/Project.intentdefinition", codeGen: .project), + SourceFileGlob("Intents/Disabled.intentdefinition", codeGen: .disabled), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_intents/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_intents/Sources/AppDelegate.swift index 7a89a298b..9d5ff8822 100644 --- a/projects/tuist/fixtures/ios_app_with_intents/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_intents/Sources/AppDelegate.swift @@ -1,26 +1,24 @@ -import UIKit import Intents +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil - ) -> Bool { + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil + ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) - + let viewController = UIViewController() viewController.view.backgroundColor = .white window?.rootViewController = viewController window?.makeKeyAndVisible() - + let demoIntent = SiriDemoIntent() print("your demoIntent", demoIntent) return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Project.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Project.swift index 468adce7b..1804b2e35 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Project.swift @@ -1,21 +1,26 @@ import ProjectDescription -let project = Project(name: "MyFramework", - targets: [ - Target(name: "MyFramework", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.MyFramework", - infoPlist: .default, - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - ], settings: .settings(base: [ - "BUILD_LIBRARY_FOR_DISTRIBUTION" : "YES" - ])) - ]) +let project = Project( + name: "MyFramework", + targets: [ + Target( + name: "MyFramework", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.MyFramework", + infoPlist: .default, + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + ], + settings: .settings(base: [ + "BUILD_LIBRARY_FOR_DISTRIBUTION": "YES", + ]) + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Sources/MyFrameworkClass.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Sources/MyFrameworkClass.swift index 8513cd15a..0fe7c7706 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Sources/MyFrameworkClass.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/MyFramework/Sources/MyFrameworkClass.swift @@ -2,7 +2,5 @@ import Foundation public class MyFrameworkClass { public var name = "MyFramework" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Package.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Package.swift index e93e56109..a42e8fe1a 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Package.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Package.swift @@ -4,12 +4,13 @@ import PackageDescription let package = Package( name: "LocalPackage", platforms: [ - .iOS(.v14) + .iOS(.v14), ], products: [ .library( name: "MyFramework", - targets: ["MyFramework"]) + targets: ["MyFramework"] + ), ], dependencies: [ // Dependencies declare other packages that this package depends on. @@ -19,6 +20,6 @@ let package = Package( .binaryTarget( name: "MyFramework", path: "MyFramework/prebuilt/MyFramework.xcframework" - ) + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Sources/LocalPackage/LocalSource.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Sources/LocalPackage/LocalSource.swift index e59cc3010..4b04ce144 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Sources/LocalPackage/LocalSource.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Packages/LocalPackage/Sources/LocalPackage/LocalSource.swift @@ -2,7 +2,5 @@ import MyFramework public class MyLocalSource { let myFrameworkClass = MyFrameworkClass() - public init() { - - } -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Project.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Project.swift index 9261f0c18..b7348e5f3 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Project.swift @@ -1,29 +1,34 @@ import ProjectDescription - -let project = Project(name: "App", - packages: [ - .package(path: "Packages/LocalPackage"), - ], - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: .default, - sources: ["Sources/**"], - resources: [], - dependencies: [ - // MyFramework is a binary target - .package(product: "MyFramework"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: .default, - sources: "Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + packages: [ + .package(path: "Packages/LocalPackage"), + ], + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: .default, + sources: ["Sources/**"], + resources: [], + dependencies: [ + // MyFramework is a binary target + .package(product: "MyFramework"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: .default, + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Sources/AppDelegate.swift index df3d2b4ee..e4b191043 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Sources/AppDelegate.swift @@ -1,15 +1,14 @@ -import UIKit import MyFramework +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - let myFrameworkClass = MyFrameworkClass() var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { print(myFrameworkClass.name) @@ -20,5 +19,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_local_binary_swift_package/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Frameworks/FrameworkA/Project.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Frameworks/FrameworkA/Project.swift index 4f450297d..7d7e7e396 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Frameworks/FrameworkA/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Frameworks/FrameworkA/Project.swift @@ -3,17 +3,19 @@ import ProjectDescription let project = Project( name: "FrameworkA", packages: [ - .package(path: "../../Packages/PackageA") + .package(path: "../../Packages/PackageA"), ], targets: [ - Target(name: "FrameworkA", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.FrameworkA", - infoPlist: "Config/FrameworkA-Info.plist", - sources: "Sources/**", - dependencies: [ - .package(product: "LibraryA"), - ]), + Target( + name: "FrameworkA", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.FrameworkA", + infoPlist: "Config/FrameworkA-Info.plist", + sources: "Sources/**", + dependencies: [ + .package(product: "LibraryA"), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Package.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Package.swift index 8effae322..feacc0fd9 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Package.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Package.swift @@ -9,10 +9,12 @@ let package = Package( // Products define the executables and libraries produced by a package, and make them visible to other packages. .library( name: "LibraryA", - targets: ["LibraryA"]), + targets: ["LibraryA"] + ), .library( name: "LibraryB", - targets: ["LibraryB"]), + targets: ["LibraryB"] + ), ], dependencies: [ // Dependencies declare other packages that this package depends on. @@ -23,9 +25,11 @@ let package = Package( // Targets can depend on other targets in this package, and on products in packages which this package depends on. .target( name: "LibraryA", - dependencies: []), + dependencies: [] + ), .target( name: "LibraryB", - dependencies: []), + dependencies: [] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift index 2d4d293fe..2bca992ed 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift @@ -1,6 +1,4 @@ public class LibraryAClass { public var text = "LibraryAClass" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryB/LibraryBClass.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryB/LibraryBClass.swift index 8b1ec39d2..b7f61b4d9 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryB/LibraryBClass.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Sources/LibraryB/LibraryBClass.swift @@ -1,6 +1,4 @@ public class LibraryBClass { public var text = "LibraryBClass" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift index d92379880..51c06d386 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift @@ -1,9 +1,9 @@ import XCTest #if !canImport(ObjectiveC) -public func allTests() -> [XCTestCaseEntry] { - return [ - testCase(ATests.allTests), - ] -} + public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(ATests.allTests), + ] + } #endif diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Project.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Project.swift index d2f8c3f12..6d6150e9d 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Project.swift @@ -1,32 +1,38 @@ import ProjectDescription -let project = Project(name: "App", - packages: [ - .package(path: "Packages/PackageA") - ], - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Support/Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - .project(target: "FrameworkA", path: "Frameworks/FrameworkA"), - .package(product: "LibraryA"), - .package(product: "LibraryB"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Support/Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + packages: [ + .package(path: "Packages/PackageA"), + ], + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Support/Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + .project(target: "FrameworkA", path: "Frameworks/FrameworkA"), + .package(product: "LibraryA"), + .package(product: "LibraryB"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Support/Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Sources/AppDelegate.swift index 5f8975729..d54705bc6 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Sources/AppDelegate.swift @@ -1,18 +1,16 @@ -import UIKit +import FrameworkA import LibraryA import LibraryB -import FrameworkA +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { - useFrameworkCode() usePackageCode() @@ -27,7 +25,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { private func useFrameworkCode() { print(FrameworkAClass().text) } - + private func usePackageCode() { print(LibraryAClass().text) print(LibraryBClass().text) diff --git a/projects/tuist/fixtures/ios_app_with_local_swift_package/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_local_swift_package/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_app_with_local_swift_package/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_local_swift_package/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_multi_configs/App/Project.swift b/projects/tuist/fixtures/ios_app_with_multi_configs/App/Project.swift index e730f5bac..2d8b422cf 100644 --- a/projects/tuist/fixtures/ios_app_with_multi_configs/App/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_multi_configs/App/Project.swift @@ -3,7 +3,7 @@ import ProjectDescription let settings: Settings = .settings( base: [ "PROJECT_BASE": "PROJECT_BASE", - ], + ], configurations: [ .debug(name: "Debug", xcconfig: "../ConfigurationFiles/Debug.xcconfig"), .release(name: "Beta", xcconfig: "../ConfigurationFiles/Beta.xcconfig"), @@ -11,34 +11,43 @@ let settings: Settings = .settings( ] ) -let betaScheme = Scheme(name: "App-Beta", - shared: true, - buildAction: .buildAction(targets: ["App"]), - runAction: .runAction(configuration: "Beta", executable: "App"), - archiveAction: .archiveAction(configuration: "Beta"), - profileAction: .profileAction(configuration: "Release", executable: "App"), - analyzeAction: .analyzeAction(configuration: "Debug")) +let betaScheme = Scheme( + name: "App-Beta", + shared: true, + buildAction: .buildAction(targets: ["App"]), + runAction: .runAction(configuration: "Beta", executable: "App"), + archiveAction: .archiveAction(configuration: "Beta"), + profileAction: .profileAction(configuration: "Release", executable: "App"), + analyzeAction: .analyzeAction(configuration: "Debug") +) -let project = Project(name: "MainApp", - settings: settings, - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Support/App-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework1", path: "../Framework1"), - .project(target: "Framework2", path: "../Framework2"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Support/AppTests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ]), - ], schemes: [betaScheme]) +let project = Project( + name: "MainApp", + settings: settings, + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Support/App-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework1", path: "../Framework1"), + .project(target: "Framework2", path: "../Framework2"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Support/AppTests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ], + schemes: [betaScheme] +) diff --git a/projects/tuist/fixtures/ios_app_with_multi_configs/App/Tests/AppDelegateTests.swift b/projects/tuist/fixtures/ios_app_with_multi_configs/App/Tests/AppDelegateTests.swift index f85c91007..a9a1af2cd 100644 --- a/projects/tuist/fixtures/ios_app_with_multi_configs/App/Tests/AppDelegateTests.swift +++ b/projects/tuist/fixtures/ios_app_with_multi_configs/App/Tests/AppDelegateTests.swift @@ -1,5 +1,5 @@ -@testable import App import XCTest +@testable import App class AppDelegateTests: XCTestCase { func testHello() { diff --git a/projects/tuist/fixtures/ios_app_with_multi_configs/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_multi_configs/Framework1/Project.swift index 073a437a0..c78c8b6bc 100644 --- a/projects/tuist/fixtures/ios_app_with_multi_configs/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_multi_configs/Framework1/Project.swift @@ -3,7 +3,7 @@ import ProjectDescription let settings: Settings = .settings( base: [ "PROJECT_BASE": "PROJECT_BASE", - ], + ], configurations: [ .debug(name: "Debug", xcconfig: "../ConfigurationFiles/Debug.xcconfig"), .release(name: "Beta", xcconfig: "../ConfigurationFiles/Beta.xcconfig"), @@ -11,27 +11,33 @@ let settings: Settings = .settings( ] ) -let project = Project(name: "Framework1", - settings: settings, - targets: [ - Target(name: "Framework1", - platform: .iOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Support/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "Framework2", path: "../Framework2"), - ]), - Target(name: "Framework1Tests", - platform: .iOS, - product: .unitTests, - productName: "Framework1Tests", - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Support/Framework1Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework1"), - ]), -]) +let project = Project( + name: "Framework1", + settings: settings, + targets: [ + Target( + name: "Framework1", + platform: .iOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Support/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "Framework2", path: "../Framework2"), + ] + ), + Target( + name: "Framework1Tests", + platform: .iOS, + product: .unitTests, + productName: "Framework1Tests", + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Support/Framework1Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework1"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_multi_configs/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_multi_configs/Framework2/Project.swift index 90e87f215..bb110cbdb 100644 --- a/projects/tuist/fixtures/ios_app_with_multi_configs/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_multi_configs/Framework2/Project.swift @@ -12,30 +12,36 @@ let settings: Settings = .settings( let targetSettings: Settings = .settings( base: [ "TARGET_BASE": "TARGET_BASE", - ], + ], configurations: [ - .release(name: "Beta", xcconfig: "../ConfigurationFiles/Target.Beta.xcconfig"), + .release(name: "Beta", xcconfig: "../ConfigurationFiles/Target.Beta.xcconfig"), ] ) -let project = Project(name: "Framework2", - settings: settings, - targets: [ - Target(name: "Framework2", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.Framework2", - infoPlist: "Support/Framework2-Info.plist", - sources: "Sources/**", - dependencies: [], - settings: targetSettings), - Target(name: "Framework2Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework2Tests", - infoPlist: "Support/Framework2Tests-Info.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Framework2"), - ]), -]) +let project = Project( + name: "Framework2", + settings: settings, + targets: [ + Target( + name: "Framework2", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.Framework2", + infoPlist: "Support/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [], + settings: targetSettings + ), + Target( + name: "Framework2Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework2Tests", + infoPlist: "Support/Framework2Tests-Info.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Framework2"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_multi_configs/Workspace.swift b/projects/tuist/fixtures/ios_app_with_multi_configs/Workspace.swift index f0e58fb7d..929bf3b53 100644 --- a/projects/tuist/fixtures/ios_app_with_multi_configs/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_multi_configs/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1", "Framework2"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1", "Framework2"] +) diff --git a/projects/tuist/fixtures/ios_app_with_remote_swift_package/Project.swift b/projects/tuist/fixtures/ios_app_with_remote_swift_package/Project.swift index ae5f93291..c618ef764 100644 --- a/projects/tuist/fixtures/ios_app_with_remote_swift_package/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_remote_swift_package/Project.swift @@ -1,31 +1,37 @@ import ProjectDescription -let project = Project(name: "App", - packages: [ - .package(url: "https://github.com/ReactiveX/RxSwift", .upToNextMajor(from: "5.0.0")), - ], - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Support/Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - .package(product: "RxSwift"), - .package(product: "RxBlocking") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Support/Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + packages: [ + .package(url: "https://github.com/ReactiveX/RxSwift", .upToNextMajor(from: "5.0.0")), + ], + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Support/Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + .package(product: "RxSwift"), + .package(product: "RxBlocking"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Support/Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_remote_swift_package/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_remote_swift_package/Sources/AppDelegate.swift index 283423e0d..099433cf2 100644 --- a/projects/tuist/fixtures/ios_app_with_remote_swift_package/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_remote_swift_package/Sources/AppDelegate.swift @@ -1,21 +1,20 @@ -import UIKit -import RxSwift import RxBlocking +import RxSwift +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { // To make sure RxSwift is available let observable = RxSwift.Observable.just("Test") - + let result = RxBlocking.MaterializedSequenceResult.completed(elements: [1, 2]) - + window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -23,5 +22,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_remote_swift_package/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_remote_swift_package/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_app_with_remote_swift_package/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_remote_swift_package/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Framework/FrameworkClass.swift b/projects/tuist/fixtures/ios_app_with_sdk/Framework/FrameworkClass.swift index 36db99bb8..35939de4c 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Framework/FrameworkClass.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Framework/FrameworkClass.swift @@ -2,7 +2,5 @@ import CloudKit import SQLite3 public class FrameworkClass { - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Project.swift b/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Project.swift index 95ac87fd0..69eb52a66 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "StaticFramework", - targets: [ - Target(name: "StaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework", - infoPlist: "Support/Info.plist", - sources: ["Sources/**"], - headers: Headers(public: "Sources/**/*.h"), - dependencies: [ - .sdk(name: "libc++.tbd"), - ]), - Target(name: "StaticFrameworkTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.StaticFrameworkTests", - infoPlist: "Support/Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "StaticFramework"), - ]) - ]) +let project = Project( + name: "StaticFramework", + targets: [ + Target( + name: "StaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework", + infoPlist: "Support/Info.plist", + sources: ["Sources/**"], + headers: Headers(public: "Sources/**/*.h"), + dependencies: [ + .sdk(name: "libc++.tbd"), + ] + ), + Target( + name: "StaticFrameworkTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.StaticFrameworkTests", + infoPlist: "Support/Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "StaticFramework"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Sources/FrameworkClass.swift b/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Sources/FrameworkClass.swift index 60dc2172e..3ea23684f 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Sources/FrameworkClass.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Sources/FrameworkClass.swift @@ -1,5 +1,3 @@ -class FrameworkClass { - func something() { - - } +class FrameworkClass { + func something() {} } diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Tests/MyObjcppClassTests.swift b/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Tests/MyObjcppClassTests.swift index edd2e8bb5..bbf58be06 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Tests/MyObjcppClassTests.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Modules/StaticFramework/Tests/MyObjcppClassTests.swift @@ -7,4 +7,4 @@ final class MyObjcppClassTests: XCTestCase { func testHello() { XCTAssertNotNil(MyObjcppClass()) } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_sdk/MyTestFramework/MyTestHelper.swift b/projects/tuist/fixtures/ios_app_with_sdk/MyTestFramework/MyTestHelper.swift index 36b97b68b..9f318b485 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/MyTestFramework/MyTestHelper.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/MyTestFramework/MyTestHelper.swift @@ -1,10 +1,7 @@ import XCTest public class MyTestHelper { - public init() { + public init() {} - } - - public func customAssert(_ value: Bool, file: StaticString = #file, line: Int = #line) { - } + public func customAssert(_: Bool, file _: StaticString = #file, line _: Int = #line) {} } diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Project.swift b/projects/tuist/fixtures/ios_app_with_sdk/Project.swift index edf54ee6f..501b6bb89 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Project.swift @@ -1,58 +1,71 @@ import ProjectDescription -let project = Project(name: "Project", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Support/App-Info.plist", - sources: "App/**", - dependencies: [ - .sdk(name: "CloudKit.framework", status: .required), - .sdk(name: "ARKit.framework", status: .required), - .sdk(name: "StoreKit.framework", status: .optional), - .sdk(name: "MobileCoreServices.framework", status: .required), - .project(target: "StaticFramework", path: "Modules/StaticFramework") - ]), - Target(name: "MyTestFramework", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.MyTestFramework", - infoPlist: .default, - sources: "MyTestFramework/**", - dependencies: [ - .xctest - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Support/Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - .target(name: "MyTestFramework") - ]), - Target(name: "MacFramework", - platform: .macOS, - product: .framework, - bundleId: "io.tuist.MacFramework", - infoPlist: "Support/Framework-Info.plist", - sources: "Framework/**", - dependencies: [ - .sdk(name: "CloudKit.framework", status: .optional), - .sdk(name: "libsqlite3.tbd"), - ]), - Target(name: "TVFramework", - platform: .tvOS, - product: .framework, - bundleId: "io.tuist.MacFramework", - infoPlist: "Support/Framework-Info.plist", - sources: "Framework/**", - dependencies: [ - .sdk(name: "CloudKit.framework", status: .optional), - .sdk(name: "libsqlite3.tbd"), - .xctest - ], settings: .settings(base: ["ENABLE_BITCODE": "NO"])), -]) +let project = Project( + name: "Project", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Support/App-Info.plist", + sources: "App/**", + dependencies: [ + .sdk(name: "CloudKit.framework", status: .required), + .sdk(name: "ARKit.framework", status: .required), + .sdk(name: "StoreKit.framework", status: .optional), + .sdk(name: "MobileCoreServices.framework", status: .required), + .project(target: "StaticFramework", path: "Modules/StaticFramework"), + ] + ), + Target( + name: "MyTestFramework", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.MyTestFramework", + infoPlist: .default, + sources: "MyTestFramework/**", + dependencies: [ + .xctest, + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Support/Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + .target(name: "MyTestFramework"), + ] + ), + Target( + name: "MacFramework", + platform: .macOS, + product: .framework, + bundleId: "io.tuist.MacFramework", + infoPlist: "Support/Framework-Info.plist", + sources: "Framework/**", + dependencies: [ + .sdk(name: "CloudKit.framework", status: .optional), + .sdk(name: "libsqlite3.tbd"), + ] + ), + Target( + name: "TVFramework", + platform: .tvOS, + product: .framework, + bundleId: "io.tuist.MacFramework", + infoPlist: "Support/Framework-Info.plist", + sources: "Framework/**", + dependencies: [ + .sdk(name: "CloudKit.framework", status: .optional), + .sdk(name: "libsqlite3.tbd"), + .xctest, + ], + settings: .settings(base: ["ENABLE_BITCODE": "NO"]) + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_sdk/Tests/AppTests.swift index 141d540a3..6bd57cf88 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Tests/AppTests.swift @@ -1,6 +1,6 @@ import Foundation -import XCTest import MyTestFramework +import XCTest @testable import App diff --git a/projects/tuist/fixtures/ios_app_with_sdk/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_sdk/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_sdk/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_sdk/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_setup/Project.swift b/projects/tuist/fixtures/ios_app_with_setup/Project.swift index 59cac50dc..fb805e422 100644 --- a/projects/tuist/fixtures/ios_app_with_setup/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_setup/Project.swift @@ -1,29 +1,39 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - deploymentTarget: .iOS(targetVersion: "13.1", devices: [.iphone, .ipad]), - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"])), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"])), -]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + deploymentTarget: .iOS(targetVersion: "13.1", devices: [.iphone, .ipad]), + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + ], + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ], + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_setup/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_setup/Sources/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/ios_app_with_setup/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_setup/Sources/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/ios_app_with_setup/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_setup/Tests/AppTests.swift index 0cefc8eff..c9769bb39 100644 --- a/projects/tuist/fixtures/ios_app_with_setup/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_setup/Tests/AppTests.swift @@ -4,11 +4,9 @@ import XCTest @testable import App final class AppTests: XCTestCase { - func testHello() { let sut = AppDelegate() - + XCTAssertEqual("AppDelegate.hello()", sut.hello()) } - } diff --git a/projects/tuist/fixtures/ios_app_with_setup/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_setup/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_setup/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_setup/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_signing/App/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_signing/App/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/ios_app_with_signing/App/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_signing/App/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/ios_app_with_signing/Project.swift b/projects/tuist/fixtures/ios_app_with_signing/Project.swift index 254db9b7b..dd6ee60e2 100644 --- a/projects/tuist/fixtures/ios_app_with_signing/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_signing/Project.swift @@ -4,40 +4,46 @@ let settings: Settings = .settings(base: [ "PROJECT_BASE": "PROJECT_BASE", ]) -let project = Project(name: "SignApp", - settings: settings, - targets: [ - Target(name: "SignApp", - platform: .iOS, - product: .app, - bundleId: "$(PRODUCT_BUNDLE_IDENTIFIER)", - infoPlist: "Info.plist", - sources: "App/**", - dependencies: [], - settings: .settings(configurations: [ - .debug(name: "Debug", xcconfig: "ConfigurationFiles/Debug.xcconfig"), - .release(name: "Release", xcconfig: "ConfigurationFiles/Release.xcconfig") - ]) - ), - Target(name: "AppA", - platform: .iOS, - product: .app, - bundleId: "io.tuist.test.appA", - infoPlist: "Info.plist", - sources: "App/**", - dependencies: [], - settings: .settings(configurations: [ - .debug(name: "Debug", settings: ["PRODUCT_BUNDLE_IDENTIFIER": .string("io.tuist.test.appA")]) - ])), - Target(name: "AppB", - platform: .iOS, - product: .app, - bundleId: "io.tuist.test.appB", - infoPlist: "Info.plist", - sources: "App/**", - dependencies: [], - settings: .settings(configurations: [ - .debug(name: "Debug", settings: ["PRODUCT_BUNDLE_IDENTIFIER": .string("io.tuist.test.appB")]) - ])) - ] +let project = Project( + name: "SignApp", + settings: settings, + targets: [ + Target( + name: "SignApp", + platform: .iOS, + product: .app, + bundleId: "$(PRODUCT_BUNDLE_IDENTIFIER)", + infoPlist: "Info.plist", + sources: "App/**", + dependencies: [], + settings: .settings(configurations: [ + .debug(name: "Debug", xcconfig: "ConfigurationFiles/Debug.xcconfig"), + .release(name: "Release", xcconfig: "ConfigurationFiles/Release.xcconfig"), + ]) + ), + Target( + name: "AppA", + platform: .iOS, + product: .app, + bundleId: "io.tuist.test.appA", + infoPlist: "Info.plist", + sources: "App/**", + dependencies: [], + settings: .settings(configurations: [ + .debug(name: "Debug", settings: ["PRODUCT_BUNDLE_IDENTIFIER": .string("io.tuist.test.appA")]), + ]) + ), + Target( + name: "AppB", + platform: .iOS, + product: .app, + bundleId: "io.tuist.test.appB", + infoPlist: "Info.plist", + sources: "App/**", + dependencies: [], + settings: .settings(configurations: [ + .debug(name: "Debug", settings: ["PRODUCT_BUNDLE_IDENTIFIER": .string("io.tuist.test.appB")]), + ]) + ), + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Project.swift index 26c924c6f..1019595e0 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Project.swift @@ -1,25 +1,31 @@ import ProjectDescription -let project = Project(name: "A", - targets: [ - Target(name: "A", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.A", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "B", path: "../B"), - .project(target: "C", path: "../C"), - .framework(path: "../../Prebuilt/prebuilt/PrebuiltStaticFramework.framework") - ]), - Target(name: "ATests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.ATests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "A"), - ]), -]) +let project = Project( + name: "A", + targets: [ + Target( + name: "A", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.A", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "B", path: "../B"), + .project(target: "C", path: "../C"), + .framework(path: "../../Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), + ] + ), + Target( + name: "ATests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.ATests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "A"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Sources/A.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Sources/A.swift index 25f54e310..ea5f31706 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Sources/A.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/A/Sources/A.swift @@ -2,7 +2,7 @@ import B import C import PrebuiltStaticFramework -public class A { +public enum A { public static let value: String = "aValue" public static func printFromA() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Project.swift index 5153c53c6..9a02c51e0 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Project.swift @@ -1,14 +1,18 @@ import ProjectDescription -let project = Project(name: "AppTestsSupport", - targets: [ - Target(name: "AppTestsSupport", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.AppTestsSupport", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - .framework(path: "../../Prebuilt/prebuilt/PrebuiltStaticFramework.framework") - ]), -]) +let project = Project( + name: "AppTestsSupport", + targets: [ + Target( + name: "AppTestsSupport", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.AppTestsSupport", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + .framework(path: "../../Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Sources/AppTestsSupport.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Sources/AppTestsSupport.swift index c57ae280f..09fdfcb3d 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Sources/AppTestsSupport.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/AppTestsSupport/Sources/AppTestsSupport.swift @@ -1,7 +1,7 @@ import Foundation import PrebuiltStaticFramework -public class AppTestsSupport { +public enum AppTestsSupport { public static let value: String = "appTestsSupportValue" public static func printFromAppTestsSupport() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Project.swift index 4b7c5b753..ecc657415 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "B", - targets: [ - Target(name: "B", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.B", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - ]), - Target(name: "BTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.BTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "B"), - ]), -]) +let project = Project( + name: "B", + targets: [ + Target( + name: "B", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.B", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + ] + ), + Target( + name: "BTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.BTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "B"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Sources/B.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Sources/B.swift index 554da264f..92fcf9d6d 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Sources/B.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/B/Sources/B.swift @@ -1,6 +1,6 @@ import Foundation -public class B { +public enum B { public static let value: String = "bValue" public static func printFromB() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Project.swift index 8fd302b07..0463a0981 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Project.swift @@ -1,25 +1,31 @@ import ProjectDescription -let project = Project(name: "C", - targets: [ - Target(name: "C", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.C", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - .project(target: "D", path: "../D") - ]), - Target(name: "CTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.CTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "C"), - ]), -]) +let project = Project( + name: "C", + targets: [ + Target( + name: "C", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.C", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + .project(target: "D", path: "../D"), + ] + ), + Target( + name: "CTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.CTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "C"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Sources/C.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Sources/C.swift index 8eb037546..23743e728 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Sources/C.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/C/Sources/C.swift @@ -1,6 +1,6 @@ -import Foundation import D -public class C { +import Foundation +public enum C { public static let value: String = "cValue" public static func printFromC() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Project.swift index 02d8885c8..428ffddbb 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Project.swift @@ -1,13 +1,17 @@ import ProjectDescription -let project = Project(name: "D", - targets: [ - Target(name: "D", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.D", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - ]) -]) +let project = Project( + name: "D", + targets: [ + Target( + name: "D", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.D", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Sources/D.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Sources/D.swift index 58088322d..3e17a964b 100644 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Sources/D.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Modules/D/Sources/D.swift @@ -1,8 +1,8 @@ -public class D { +public enum D { public static let value: String = "dValue" public static func printFromD() { print("print from D") } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Prebuilt/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Prebuilt/Project.swift index 4c5a5dc7d..be636d401 100644 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Prebuilt/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Prebuilt/Project.swift @@ -3,12 +3,14 @@ import ProjectDescription let project = Project( name: "Prebuilt", targets: [ - Target(name: "PrebuiltStaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.PrebuiltStaticFramework", - infoPlist: "Config/Info.plist", - sources: "Sources/**", - dependencies: []) + Target( + name: "PrebuiltStaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.PrebuiltStaticFramework", + infoPlist: "Config/Info.plist", + sources: "Sources/**", + dependencies: [] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Project.swift index 313e631d0..3cfb95c34 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Project.swift @@ -1,28 +1,34 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "A", path: "Modules/A"), - .project(target: "C", path: "Modules/C"), - .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), - .project(target: "A", path: "Modules/A"), - .project(target: "AppTestsSupport", path: "Modules/AppTestsSupport"), - .target(name: "App"), - ]), -]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "A", path: "Modules/A"), + .project(target: "C", path: "Modules/C"), + .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), + .project(target: "A", path: "Modules/A"), + .project(target: "AppTestsSupport", path: "Modules/AppTestsSupport"), + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Sources/AppDelegate.swift index 0477a2e87..2a4c63c7f 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Sources/AppDelegate.swift @@ -1,13 +1,13 @@ import A import C -import UIKit import PrebuiltStaticFramework +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -16,7 +16,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { A.printFromA() C.printFromC() - + let staticFrameworkClass = StaticFrameworkClass() print(staticFrameworkClass.hello()) @@ -24,6 +24,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } } -public class AClassInThisBundle { +public enum AClassInThisBundle { public static let value: String = "aValue" } diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Tests/AppTests.swift index 6140637b9..24b9cd477 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Tests/AppTests.swift @@ -1,8 +1,8 @@ -import Foundation -import XCTest -import PrebuiltStaticFramework -import AppTestsSupport import A +import AppTestsSupport +import Foundation +import PrebuiltStaticFramework +import XCTest @testable import App diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Project.swift index 04609b4cb..9464b27c5 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Project.swift @@ -1,25 +1,31 @@ import ProjectDescription -let project = Project(name: "A", - targets: [ - Target(name: "A", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.A", - infoPlist: "Info.plist", - sources: "Sources/**", - resources:"Resources/**", - dependencies: [ - .project(target: "B", path: "../B"), - .project(target: "C", path: "../C"), - ]), - Target(name: "ATests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.ATests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "A"), - ]), -]) +let project = Project( + name: "A", + targets: [ + Target( + name: "A", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.A", + infoPlist: "Info.plist", + sources: "Sources/**", + resources: "Resources/**", + dependencies: [ + .project(target: "B", path: "../B"), + .project(target: "C", path: "../C"), + ] + ), + Target( + name: "ATests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.ATests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "A"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Sources/A.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Sources/A.swift index f002ed2c8..9a7d37dc8 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Sources/A.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/A/Sources/A.swift @@ -1,7 +1,7 @@ import B import C -public class A { +public enum A { public static let value: String = "aValue" public static func printFromA() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Project.swift index 3794668e2..a1b620f6f 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Project.swift @@ -1,25 +1,31 @@ import ProjectDescription -let project = Project(name: "B", - targets: [ - Target(name: "B", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.B", - infoPlist: "Info.plist", - sources: "Sources/**", - resources:"Resources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - ]), - Target(name: "BTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.BTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "B"), - ]), -]) +let project = Project( + name: "B", + targets: [ + Target( + name: "B", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.B", + infoPlist: "Info.plist", + sources: "Sources/**", + resources: "Resources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + ] + ), + Target( + name: "BTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.BTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "B"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Sources/B.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Sources/B.swift index 554da264f..92fcf9d6d 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Sources/B.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/B/Sources/B.swift @@ -1,6 +1,6 @@ import Foundation -public class B { +public enum B { public static let value: String = "bValue" public static func printFromB() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Project.swift index 4f69163f9..2008d15b0 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Project.swift @@ -1,26 +1,32 @@ import ProjectDescription -let project = Project(name: "C", - targets: [ - Target(name: "C", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.C", - infoPlist: "Info.plist", - sources: "Sources/**", - resources:"Resources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - .project(target: "D", path: "../D") - ]), - Target(name: "CTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.CTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "C"), - ]), -]) +let project = Project( + name: "C", + targets: [ + Target( + name: "C", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.C", + infoPlist: "Info.plist", + sources: "Sources/**", + resources: "Resources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + .project(target: "D", path: "../D"), + ] + ), + Target( + name: "CTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.CTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "C"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Sources/C.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Sources/C.swift index 8eb037546..23743e728 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Sources/C.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/C/Sources/C.swift @@ -1,6 +1,6 @@ -import Foundation import D -public class C { +import Foundation +public enum C { public static let value: String = "cValue" public static func printFromC() { diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Project.swift index 02d8885c8..428ffddbb 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Project.swift @@ -1,13 +1,17 @@ import ProjectDescription -let project = Project(name: "D", - targets: [ - Target(name: "D", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.D", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - ]) -]) +let project = Project( + name: "D", + targets: [ + Target( + name: "D", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.D", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Sources/D.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Sources/D.swift index 58088322d..3e17a964b 100644 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Sources/D.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Modules/D/Sources/D.swift @@ -1,8 +1,8 @@ -public class D { +public enum D { public static let value: String = "dValue" public static func printFromD() { print("print from D") } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Prebuilt/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Prebuilt/Project.swift index 4c5a5dc7d..be636d401 100644 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Prebuilt/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Prebuilt/Project.swift @@ -3,12 +3,14 @@ import ProjectDescription let project = Project( name: "Prebuilt", targets: [ - Target(name: "PrebuiltStaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.PrebuiltStaticFramework", - infoPlist: "Config/Info.plist", - sources: "Sources/**", - dependencies: []) + Target( + name: "PrebuiltStaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.PrebuiltStaticFramework", + infoPlist: "Config/Info.plist", + sources: "Sources/**", + dependencies: [] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Project.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Project.swift index 606fa1a0e..11cfeede3 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Project.swift @@ -1,26 +1,32 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "A", path: "Modules/A"), - .project(target: "C", path: "Modules/C"), - .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .project(target: "A", path: "Modules/A"), - .target(name: "App"), - ]), -]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "A", path: "Modules/A"), + .project(target: "C", path: "Modules/C"), + .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .project(target: "A", path: "Modules/A"), + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Sources/AppDelegate.swift index 0477a2e87..2a4c63c7f 100755 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Sources/AppDelegate.swift @@ -1,13 +1,13 @@ import A import C -import UIKit import PrebuiltStaticFramework +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -16,7 +16,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { A.printFromA() C.printFromC() - + let staticFrameworkClass = StaticFrameworkClass() print(staticFrameworkClass.hello()) @@ -24,6 +24,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } } -public class AClassInThisBundle { +public enum AClassInThisBundle { public static let value: String = "aValue" } diff --git a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_static_frameworks_with_resources/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Project.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Project.swift index c24f66046..58fc651ea 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Project.swift @@ -1,27 +1,36 @@ import ProjectDescription -let project = Project(name: "A", - targets: [ - Target(name: "A", - platform: .iOS, - product: .staticLibrary, - bundleId: "io.tuist.A", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "B", path: "../B"), - .library(path: "../C/prebuilt/C/libC.a", - publicHeaders: "../C/prebuilt/C", - swiftModuleMap: "../C/prebuilt/C/C.swiftmodule") - ], - settings: .settings(base: ["HEADER_SEARCH_PATHS": "$(SRCROOT)/CustomHeaders"])), - Target(name: "ATests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.ATests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "A"), - ]), -]) +let project = Project( + name: "A", + targets: [ + Target( + name: "A", + platform: .iOS, + product: .staticLibrary, + bundleId: "io.tuist.A", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "B", path: "../B"), + .library( + path: "../C/prebuilt/C/libC.a", + publicHeaders: "../C/prebuilt/C", + swiftModuleMap: "../C/prebuilt/C/C.swiftmodule" + ), + ], + + settings: .settings(base: ["HEADER_SEARCH_PATHS": "$(SRCROOT)/CustomHeaders"]) + ), + Target( + name: "ATests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.ATests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "A"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Sources/A.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Sources/A.swift index 8a9402d65..a9cd15198 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Sources/A.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/A/Sources/A.swift @@ -1,7 +1,7 @@ import B import C -public class A { +public enum A { public static let value: String = "aValue" public static func printFromA() { diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Project.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Project.swift index 2a4b40ecd..cc6ce0c9b 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "B", - targets: [ - Target(name: "B", - platform: .iOS, - product: .staticLibrary, - bundleId: "io.tuist.B", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - ]), - Target(name: "BTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.BTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "B"), - ]), -]) +let project = Project( + name: "B", + targets: [ + Target( + name: "B", + platform: .iOS, + product: .staticLibrary, + bundleId: "io.tuist.B", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + ] + ), + Target( + name: "BTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.BTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "B"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Sources/B.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Sources/B.swift index 554da264f..92fcf9d6d 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Sources/B.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/B/Sources/B.swift @@ -1,6 +1,6 @@ import Foundation -public class B { +public enum B { public static let value: String = "bValue" public static func printFromB() { diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Project.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Project.swift index 2822797c2..46881fea9 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "C", - targets: [ - Target(name: "C", - platform: .iOS, - product: .staticLibrary, - bundleId: "io.tuist.C", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - /* Target dependencies can be defined here */ - /* .framework(path: "framework") */ - ]), - Target(name: "CTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.BTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "C"), - ]), -]) +let project = Project( + name: "C", + targets: [ + Target( + name: "C", + platform: .iOS, + product: .staticLibrary, + bundleId: "io.tuist.C", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + /* Target dependencies can be defined here */ + /* .framework(path: "framework") */ + ] + ), + Target( + name: "CTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.BTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "C"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Sources/C.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Sources/C.swift index 92990b528..7d7ac4ceb 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Sources/C.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Modules/C/Sources/C.swift @@ -1,6 +1,6 @@ import Foundation -public class C { +public enum C { public static let value: String = "cValue" public static func printFromC() { diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Project.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Project.swift index 8db5fe925..3affffdb2 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Project.swift @@ -1,23 +1,29 @@ import ProjectDescription -let project = Project(name: "iOSAppWithTransistiveStaticLibraries", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: "Sources/**", - dependencies: [ - .project(target: "A", path: "Modules/A"), - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App"), - ]), -]) +let project = Project( + name: "iOSAppWithTransistiveStaticLibraries", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: "Sources/**", + dependencies: [ + .project(target: "A", path: "Modules/A"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Sources/AppDelegate.swift index 5714adfce..23554bde9 100755 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Sources/AppDelegate.swift @@ -5,7 +5,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -18,6 +18,6 @@ class AppDelegate: UIResponder, UIApplicationDelegate { } } -public class AClassInThisBundle { +public enum AClassInThisBundle { public static let value: String = "aValue" } diff --git a/projects/tuist/fixtures/ios_app_with_static_libraries/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_static_libraries/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_static_libraries/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_static_libraries/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Package.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Package.swift index 616793233..90b6d748c 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Package.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Package.swift @@ -9,7 +9,8 @@ let package = Package( // Products define the executables and libraries produced by a package, and make them visible to other packages. .library( name: "LibraryA", - targets: ["LibraryA"]), + targets: ["LibraryA"] + ), ], dependencies: [ // Dependencies declare other packages that this package depends on. @@ -20,6 +21,7 @@ let package = Package( // Targets can depend on other targets in this package, and on products in packages which this package depends on. .target( name: "LibraryA", - dependencies: []), + dependencies: [] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift index 2d4d293fe..2bca992ed 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Sources/LibraryA/LibraryAClass.swift @@ -1,6 +1,4 @@ public class LibraryAClass { public var text = "LibraryAClass" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift index d92379880..51c06d386 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Packages/PackageA/Tests/PackageATests/XCTestManifests.swift @@ -1,9 +1,9 @@ import XCTest #if !canImport(ObjectiveC) -public func allTests() -> [XCTestCaseEntry] { - return [ - testCase(ATests.allTests), - ] -} + public func allTests() -> [XCTestCaseEntry] { + return [ + testCase(ATests.allTests), + ] + } #endif diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Project.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Project.swift index 9c18d81df..11c61056f 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Project.swift @@ -3,17 +3,19 @@ import ProjectDescription let project = Project( name: "Prebuilt", packages: [ - .package(path: "../Packages/PackageA") + .package(path: "../Packages/PackageA"), ], targets: [ - Target(name: "PrebuiltStaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.PrebuiltStaticFramework", - infoPlist: "Config/Info.plist", - sources: "Sources/**", - dependencies: [ - .package(product: "LibraryA") - ]) + Target( + name: "PrebuiltStaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.PrebuiltStaticFramework", + infoPlist: "Config/Info.plist", + sources: "Sources/**", + dependencies: [ + .package(product: "LibraryA"), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Sources/StaticFrameworkClass.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Sources/StaticFrameworkClass.swift index e46255309..3e1e1d0ce 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Sources/StaticFrameworkClass.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Prebuilt/Sources/StaticFrameworkClass.swift @@ -7,7 +7,7 @@ public class StaticFrameworkClass { public func hello() -> String { return "StaticFrameworkClass.hello()" } - + public func packageCode() -> String { return LibraryAClass().text } diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Project.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Project.swift index d66a10108..26298dcb7 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Project.swift @@ -1,31 +1,37 @@ import ProjectDescription -let project = Project(name: "App", - packages: [ - .package(path: "Packages/PackageA") - ], - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Support/Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), - .package(product: "LibraryA") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Support/Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + packages: [ + .package(path: "Packages/PackageA"), + ], + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Support/Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + .framework(path: "Prebuilt/prebuilt/PrebuiltStaticFramework.framework"), + .package(product: "LibraryA"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Support/Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Sources/AppDelegate.swift index c33c20747..e5c67967d 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Sources/AppDelegate.swift @@ -1,17 +1,15 @@ -import UIKit -import PrebuiltStaticFramework import LibraryA +import PrebuiltStaticFramework +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { - usePackageCode() useStaticLibraryCode() @@ -26,7 +24,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate { private func usePackageCode() { print(LibraryAClass().text) } - + private func useStaticLibraryCode() { let staticFrameworkClass = StaticFrameworkClass() print(staticFrameworkClass.hello()) diff --git a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_app_with_static_library_and_package/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_static_library_and_package/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_templates/Project.swift b/projects/tuist/fixtures/ios_app_with_templates/Project.swift index 3be769d9e..b554efdec 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Project.swift @@ -23,8 +23,8 @@ let project = Project( infoPlist: "Support/Tests.plist", sources: "Tests/**", dependencies: [ - .target(name: "App") + .target(name: "App"), ] - ) + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_templates/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_templates/Sources/AppDelegate.swift index 5218fbd5e..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - } diff --git a/projects/tuist/fixtures/ios_app_with_templates/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_templates/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_templates/Tuist/ProjectDescriptionHelpers/Platform.swift b/projects/tuist/fixtures/ios_app_with_templates/Tuist/ProjectDescriptionHelpers/Platform.swift index 572a73adc..4b7b01bc8 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Tuist/ProjectDescriptionHelpers/Platform.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Tuist/ProjectDescriptionHelpers/Platform.swift @@ -1,7 +1,7 @@ import ProjectDescription -public extension Platform { - var caseValue: String { +extension Platform { + public var caseValue: String { switch self { case .iOS: return "iOS" diff --git a/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom/custom.swift b/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom/custom.swift index e4bfdaba9..00b94d933 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom/custom.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom/custom.swift @@ -11,7 +11,7 @@ let template = Template( description: "Custom template", attributes: [ nameAttribute, - platformAttribute + platformAttribute, ], items: [ .string(path: "\(nameAttribute)/custom.swift", contents: testContents), diff --git a/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_copy_folder/custom_using_copy_folder.swift b/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_copy_folder/custom_using_copy_folder.swift index 17ec3d5f9..c7e491ce0 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_copy_folder/custom_using_copy_folder.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_copy_folder/custom_using_copy_folder.swift @@ -11,11 +11,11 @@ let templateFour = Template( description: "Custom template", attributes: [ nameAttributeFour, - platformAttributeFour + platformAttributeFour, ], items: [ .string(path: "\(nameAttributeFour)/custom.swift", contents: testContentsFour), .file(path: "\(nameAttributeFour)/generated.swift", templatePath: "platform_four.stencil"), - .directory(path: "\(nameAttributeFour)",sourcePath: "sourceFolder") + .directory(path: "\(nameAttributeFour)", sourcePath: "sourceFolder"), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_filters/custom_using_filters.swift b/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_filters/custom_using_filters.swift index 648367cbc..e803c2cd3 100644 --- a/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_filters/custom_using_filters.swift +++ b/projects/tuist/fixtures/ios_app_with_templates/Tuist/Templates/custom_using_filters/custom_using_filters.swift @@ -12,7 +12,7 @@ let templateThree = Template( description: "Custom template", attributes: [ nameAttributeThree, - platformAttributeThree + platformAttributeThree, ], items: [ .string(path: "\(nameAttributeThree)/custom.swift", contents: testContentsThree), diff --git a/projects/tuist/fixtures/ios_app_with_tests/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_tests/App/Sources/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/App/Sources/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/ios_app_with_tests/App/Tests/AppTests.swift b/projects/tuist/fixtures/ios_app_with_tests/App/Tests/AppTests.swift index 0dc118035..c9769bb39 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/App/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/App/Tests/AppTests.swift @@ -6,7 +6,7 @@ import XCTest final class AppTests: XCTestCase { func testHello() { let sut = AppDelegate() - + XCTAssertEqual("AppDelegate.hello()", sut.hello()) } } diff --git a/projects/tuist/fixtures/ios_app_with_tests/App/UITests/AppUITest.swift b/projects/tuist/fixtures/ios_app_with_tests/App/UITests/AppUITest.swift index 186c0d016..635081295 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/App/UITests/AppUITest.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/App/UITests/AppUITest.swift @@ -1,9 +1,8 @@ -//Copyright © 2019 Sky. All rights reserved. +// Copyright © 2019 Sky. All rights reserved. import XCTest class AppUITest: XCTestCase { - override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. @@ -24,5 +23,4 @@ class AppUITest: XCTestCase { // Use recording to get started writing UI tests. // Use XCTAssert and related functions to verify your tests produce the correct results. } - } diff --git a/projects/tuist/fixtures/ios_app_with_tests/AppCore/Tests/AppCoreTests.swift b/projects/tuist/fixtures/ios_app_with_tests/AppCore/Tests/AppCoreTests.swift index 1c44ce319..64ce3a810 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/AppCore/Tests/AppCoreTests.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/AppCore/Tests/AppCoreTests.swift @@ -6,7 +6,7 @@ import XCTest final class AppCoreTests: XCTestCase { func testHello() { let sut = AppCore() - + XCTAssertEqual("AppCore.hello()", sut.hello()) } } diff --git a/projects/tuist/fixtures/ios_app_with_tests/MacFramework/Tests/MacFrameworkTests.swift b/projects/tuist/fixtures/ios_app_with_tests/MacFramework/Tests/MacFrameworkTests.swift index 5f04cc3bf..62a25146e 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/MacFramework/Tests/MacFrameworkTests.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/MacFramework/Tests/MacFrameworkTests.swift @@ -6,7 +6,7 @@ import XCTest final class MacFrameworkTests: XCTestCase { func testHello() { let sut = MacFramework() - + XCTAssertEqual("MacFramework.hello()", sut.hello()) } } diff --git a/projects/tuist/fixtures/ios_app_with_tests/Project.swift b/projects/tuist/fixtures/ios_app_with_tests/Project.swift index 73372e314..3e99b5022 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/Project.swift @@ -32,10 +32,12 @@ let project = Project( infoPlist: .file(path: .relativeToManifest("Info.plist")), sources: .paths([.relativeToManifest("App/Sources/**")]), dependencies: [ - .target(name: "AppCore") + .target(name: "AppCore"), ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"]) + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) ), Target( name: "AppTests", @@ -47,8 +49,10 @@ let project = Project( dependencies: [ .target(name: "App"), ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"]) + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) ), Target( name: "MacFramework", @@ -58,8 +62,10 @@ let project = Project( deploymentTarget: .macOS(targetVersion: "10.15"), infoPlist: .file(path: .relativeToManifest("Info.plist")), sources: .paths([.relativeToManifest("MacFramework/Sources/**")]), - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"]) + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) ), Target( name: "MacFrameworkTests", @@ -72,8 +78,10 @@ let project = Project( dependencies: [ .target(name: "MacFramework"), ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"]) + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) ), Target( name: "AppUITests", @@ -97,8 +105,10 @@ let project = Project( /* Target dependencies can be defined here */ /* .framework(path: "framework") */ ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", - "CODE_SIGNING_REQUIRED": "NO"]) + settings: .settings(base: [ + "CODE_SIGN_IDENTITY": "", + "CODE_SIGNING_REQUIRED": "NO", + ]) ), Target( name: "App-dashUITests", diff --git a/projects/tuist/fixtures/ios_app_with_tests/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_tests/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_tests/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_tests/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/App/Tests/AppDelegateTests.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/App/Tests/AppDelegateTests.swift index f85c91007..a9a1af2cd 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/App/Tests/AppDelegateTests.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/App/Tests/AppDelegateTests.swift @@ -1,5 +1,5 @@ -@testable import App import XCTest +@testable import App class AppDelegateTests: XCTestCase { func testHello() { diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/App/UITests/AppUITest.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/App/UITests/AppUITest.swift index 977d37a81..e156a1764 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/App/UITests/AppUITest.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/App/UITests/AppUITest.swift @@ -1,7 +1,6 @@ import XCTest class AppUITest: XCTestCase { - override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. @@ -22,5 +21,4 @@ class AppUITest: XCTestCase { // Use recording to get started writing UI tests. // Use XCTAssert and related functions to verify your tests produce the correct results. } - } diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Project.swift index 19866006c..686ad0e95 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Project.swift @@ -3,43 +3,51 @@ import ProjectDescription let project = Project( name: "Framework1", targets: [ - Target(name: "Framework1-iOS", - platform: .iOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ - .framework(path: "../Framework2/prebuilt/iOS/Framework2.framework"), - ]), - Target(name: "Framework1-macOS", - platform: .macOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ + Target( + name: "Framework1-iOS", + platform: .iOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ + .framework(path: "../Framework2/prebuilt/iOS/Framework2.framework"), + ] + ), + Target( + name: "Framework1-macOS", + platform: .macOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ .framework(path: "../Framework2/prebuilt/Mac/Framework2.framework"), - ]), - Target(name: "Framework1Tests-iOS", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Tests/Info.plist", - sources: "Tests/**", - dependencies: [ + ] + ), + Target( + name: "Framework1Tests-iOS", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Tests/Info.plist", + sources: "Tests/**", + dependencies: [ .target(name: "Framework1-iOS"), - ]), - Target(name: "Framework1Tests-macOS", - platform: .macOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Tests/Info.plist", - sources: "Tests/**", - dependencies: [ + ] + ), + Target( + name: "Framework1Tests-macOS", + platform: .macOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Tests/Info.plist", + sources: "Tests/**", + dependencies: [ .target(name: "Framework1-macOS"), - ]) + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Sources/Framework1File.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Sources/Framework1File.swift index 434ee461e..cc0ab904c 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Sources/Framework1File.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Sources/Framework1File.swift @@ -2,9 +2,8 @@ import Foundation import Framework2 public class Framework1File { - private let framework2File = Framework2File() - + public init() {} public func hello() -> String { diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Tests/Framework1FileTests.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Tests/Framework1FileTests.swift index a74003a30..b306e5018 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Tests/Framework1FileTests.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework1/Tests/Framework1FileTests.swift @@ -9,10 +9,10 @@ class Framework1Tests: XCTestCase { } #if canImport(Framework2) - func testHelloFromFramework2() { - let sut = Framework1File() + func testHelloFromFramework2() { + let sut = Framework1File() - XCTAssertEqual("Framework1File -> Framework2File.hello()", sut.helloFromFramework2()) - } + XCTAssertEqual("Framework1File -> Framework2File.hello()", sut.helloFromFramework2()) + } #endif } diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework2/Project.swift index d0eaec2e5..33f5a68aa 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/Framework2/Project.swift @@ -3,25 +3,27 @@ import ProjectDescription let project = Project( name: "Framework2", targets: [ - Target(name: "Framework2-iOS", - platform: .iOS, - product: .framework, - productName: "Framework2", - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: [ - - ]), - Target(name: "Framework2-macOS", - platform: .macOS, - product: .framework, - productName: "Framework2", - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: [ - - ]), + Target( + name: "Framework2-iOS", + platform: .iOS, + product: .framework, + productName: "Framework2", + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [ + ] + ), + Target( + name: "Framework2-macOS", + platform: .macOS, + product: .framework, + productName: "Framework2", + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [ + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Project.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Project.swift index 207f7b138..0c323a444 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Project.swift @@ -3,23 +3,27 @@ import ProjectDescription let project = Project( name: "StaticFramework1", targets: [ - Target(name: "StaticFramework1", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.StaticFramework1", - infoPlist: .default, - sources: "Sources/**", - dependencies: [ - .framework(path: "../Framework2/prebuilt/iOS/Framework2.framework"), - ]), - Target(name: "StaticFramework1Tests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.StaticFramework1Tests", - infoPlist: .default, - sources: "Tests/**", - dependencies: [ + Target( + name: "StaticFramework1", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.StaticFramework1", + infoPlist: .default, + sources: "Sources/**", + dependencies: [ + .framework(path: "../Framework2/prebuilt/iOS/Framework2.framework"), + ] + ), + Target( + name: "StaticFramework1Tests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.StaticFramework1Tests", + infoPlist: .default, + sources: "Tests/**", + dependencies: [ .target(name: "StaticFramework1"), - ]), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Sources/Framework1File.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Sources/Framework1File.swift index 434ee461e..cc0ab904c 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Sources/Framework1File.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Sources/Framework1File.swift @@ -2,9 +2,8 @@ import Foundation import Framework2 public class Framework1File { - private let framework2File = Framework2File() - + public init() {} public func hello() -> String { diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Tests/Framework1FileTests.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Tests/Framework1FileTests.swift index 6f02fc882..3ffb9c0e1 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Tests/Framework1FileTests.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/StaticFramework1/Tests/Framework1FileTests.swift @@ -9,10 +9,10 @@ class Framework1Tests: XCTestCase { } #if canImport(Framework2) - func testHelloFromFramework2() { - let sut = Framework1File() + func testHelloFromFramework2() { + let sut = Framework1File() - XCTAssertEqual("Framework1File -> Framework2File.hello()", sut.helloFromFramework2()) - } + XCTAssertEqual("Framework1File -> Framework2File.hello()", sut.helloFromFramework2()) + } #endif } diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_framework/Workspace.swift b/projects/tuist/fixtures/ios_app_with_transitive_framework/Workspace.swift index d853cef39..d63c5df69 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_framework/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_framework/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1", "StaticFramework1"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1", "StaticFramework1"] +) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/App/Tests/AppDelegateTests.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/App/Tests/AppDelegateTests.swift index f85c91007..a9a1af2cd 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/App/Tests/AppDelegateTests.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/App/Tests/AppDelegateTests.swift @@ -1,5 +1,5 @@ -@testable import App import XCTest +@testable import App class AppDelegateTests: XCTestCase { func testHello() { diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/App/UITests/AppUITest.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/App/UITests/AppUITest.swift index 977d37a81..e156a1764 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/App/UITests/AppUITest.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/App/UITests/AppUITest.swift @@ -1,7 +1,6 @@ import XCTest class AppUITest: XCTestCase { - override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. @@ -22,5 +21,4 @@ class AppUITest: XCTestCase { // Use recording to get started writing UI tests. // Use XCTAssert and related functions to verify your tests produce the correct results. } - } diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Project.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Project.swift index 14062b6fa..4a5b60e1e 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Project.swift @@ -3,43 +3,51 @@ import ProjectDescription let project = Project( name: "Framework1", targets: [ - Target(name: "Framework1-iOS", - platform: .iOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ + Target( + name: "Framework1-iOS", + platform: .iOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ .project(target: "Framework2-iOS", path: "../Framework2"), - ]), - Target(name: "Framework1-macOS", - platform: .macOS, - product: .framework, - productName: "Framework1", - bundleId: "io.tuist.Framework1", - infoPlist: "Config/Framework1-Info.plist", - sources: "Sources/**", - dependencies: [ + ] + ), + Target( + name: "Framework1-macOS", + platform: .macOS, + product: .framework, + productName: "Framework1", + bundleId: "io.tuist.Framework1", + infoPlist: "Config/Framework1-Info.plist", + sources: "Sources/**", + dependencies: [ .project(target: "Framework2-macOS", path: "../Framework2"), - ]), - Target(name: "Framework1Tests-iOS", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Tests/Info.plist", - sources: "Tests/**", - dependencies: [ + ] + ), + Target( + name: "Framework1Tests-iOS", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Tests/Info.plist", + sources: "Tests/**", + dependencies: [ .target(name: "Framework1-iOS"), - ]), - Target(name: "Framework1Tests-macOS", - platform: .macOS, - product: .unitTests, - bundleId: "io.tuist.Framework1Tests", - infoPlist: "Tests/Info.plist", - sources: "Tests/**", - dependencies: [ + ] + ), + Target( + name: "Framework1Tests-macOS", + platform: .macOS, + product: .unitTests, + bundleId: "io.tuist.Framework1Tests", + infoPlist: "Tests/Info.plist", + sources: "Tests/**", + dependencies: [ .target(name: "Framework1-macOS"), - ]), + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Sources/Framework1File.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Sources/Framework1File.swift index 434ee461e..cc0ab904c 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Sources/Framework1File.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Sources/Framework1File.swift @@ -2,9 +2,8 @@ import Foundation import Framework2 public class Framework1File { - private let framework2File = Framework2File() - + public init() {} public func hello() -> String { diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Tests/Framework1FileTests.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Tests/Framework1FileTests.swift index a74003a30..b306e5018 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Tests/Framework1FileTests.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework1/Tests/Framework1FileTests.swift @@ -9,10 +9,10 @@ class Framework1Tests: XCTestCase { } #if canImport(Framework2) - func testHelloFromFramework2() { - let sut = Framework1File() + func testHelloFromFramework2() { + let sut = Framework1File() - XCTAssertEqual("Framework1File -> Framework2File.hello()", sut.helloFromFramework2()) - } + XCTAssertEqual("Framework1File -> Framework2File.hello()", sut.helloFromFramework2()) + } #endif } diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework2/Project.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework2/Project.swift index d0eaec2e5..33f5a68aa 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/Framework2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/Framework2/Project.swift @@ -3,25 +3,27 @@ import ProjectDescription let project = Project( name: "Framework2", targets: [ - Target(name: "Framework2-iOS", - platform: .iOS, - product: .framework, - productName: "Framework2", - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: [ - - ]), - Target(name: "Framework2-macOS", - platform: .macOS, - product: .framework, - productName: "Framework2", - bundleId: "io.tuist.Framework2", - infoPlist: "Config/Framework2-Info.plist", - sources: "Sources/**", - dependencies: [ - - ]), + Target( + name: "Framework2-iOS", + platform: .iOS, + product: .framework, + productName: "Framework2", + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [ + ] + ), + Target( + name: "Framework2-macOS", + platform: .macOS, + product: .framework, + productName: "Framework2", + bundleId: "io.tuist.Framework2", + infoPlist: "Config/Framework2-Info.plist", + sources: "Sources/**", + dependencies: [ + ] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/Tuist/Config.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/ios_app_with_transitive_project/Workspace.swift b/projects/tuist/fixtures/ios_app_with_transitive_project/Workspace.swift index c2d99e6ea..81c7c746c 100644 --- a/projects/tuist/fixtures/ios_app_with_transitive_project/Workspace.swift +++ b/projects/tuist/fixtures/ios_app_with_transitive_project/Workspace.swift @@ -1,4 +1,6 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: ["App", "Framework1"]) +let workspace = Workspace( + name: "Workspace", + projects: ["App", "Framework1"] +) diff --git a/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Package.swift b/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Package.swift index a223ec093..42b33d3fd 100644 --- a/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Package.swift +++ b/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Package.swift @@ -9,7 +9,8 @@ let package = Package( // Products define the executables and libraries a package produces, and make them visible to other packages. .library( name: "LibraryA", - targets: ["LibraryA"]), + targets: ["LibraryA"] + ), ], dependencies: [ // Dependencies declare other packages that this package depends on. @@ -20,6 +21,7 @@ let package = Package( // Targets can depend on other targets in this package, and on products in packages this package depends on. .target( name: "LibraryA", - dependencies: []), + dependencies: [] + ), ] ) diff --git a/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Sources/LibraryA/LibraryA.swift b/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Sources/LibraryA/LibraryA.swift index c9619b88f..2b2a4bfe9 100644 --- a/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Sources/LibraryA/LibraryA.swift +++ b/projects/tuist/fixtures/ios_app_with_watchapp2/Packages/LibraryA/Sources/LibraryA/LibraryA.swift @@ -2,9 +2,7 @@ import Foundation public class LibraryAClass { private let text = "Hello, World!" - public init() { - - } + public init() {} public func loadText() -> String { return text diff --git a/projects/tuist/fixtures/ios_app_with_watchapp2/Project.swift b/projects/tuist/fixtures/ios_app_with_watchapp2/Project.swift index f39d8ed7c..f342287eb 100644 --- a/projects/tuist/fixtures/ios_app_with_watchapp2/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_watchapp2/Project.swift @@ -1,45 +1,53 @@ import ProjectDescription -let project = Project(name: "App", - packages: [ - .package(path: "Packages/LibraryA"), - ], - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Support/App-Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .target(name: "WatchApp"), - .package(product: "LibraryA") - ]), - Target(name: "WatchApp", - platform: .watchOS, - product: .watch2App, - bundleId: "io.tuist.App.watchkitapp", - infoPlist: .default, - resources: "WatchApp/**", - dependencies: [ - .target(name: "WatchAppExtension") - ]), - Target(name: "WatchAppExtension", - platform: .watchOS, - product: .watch2Extension, - bundleId: "io.tuist.App.watchkitapp.watchkitextension", - infoPlist: .extendingDefault(with: [ - "CFBundleDisplayName": "WatchApp Extension" - ]), - sources: ["WatchAppExtension/**"], - resources: ["WatchAppExtension/**/*.xcassets"], - dependencies: [ - .package(product: "LibraryA") - ]) - ]) +let project = Project( + name: "App", + packages: [ + .package(path: "Packages/LibraryA"), + ], + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Support/App-Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .target(name: "WatchApp"), + .package(product: "LibraryA"), + ] + ), + Target( + name: "WatchApp", + platform: .watchOS, + product: .watch2App, + bundleId: "io.tuist.App.watchkitapp", + infoPlist: .default, + resources: "WatchApp/**", + dependencies: [ + .target(name: "WatchAppExtension"), + ] + ), + Target( + name: "WatchAppExtension", + platform: .watchOS, + product: .watch2Extension, + bundleId: "io.tuist.App.watchkitapp.watchkitextension", + infoPlist: .extendingDefault(with: [ + "CFBundleDisplayName": "WatchApp Extension", + ]), + sources: ["WatchAppExtension/**"], + resources: ["WatchAppExtension/**/*.xcassets"], + dependencies: [ + .package(product: "LibraryA"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_watchapp2/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_watchapp2/Sources/AppDelegate.swift index 2fb379127..521ada5e4 100644 --- a/projects/tuist/fixtures/ios_app_with_watchapp2/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_watchapp2/Sources/AppDelegate.swift @@ -1,5 +1,5 @@ -import UIKit import LibraryA +import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { @@ -8,8 +8,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -18,5 +18,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/ExtensionDelegate.swift b/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/ExtensionDelegate.swift index e2cddc890..4afa5dc67 100644 --- a/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/ExtensionDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/ExtensionDelegate.swift @@ -1,5 +1,5 @@ -import WatchKit import LibraryA +import WatchKit class ExtensionDelegate: NSObject, WKExtensionDelegate { private let libraryClass = LibraryAClass() @@ -27,7 +27,11 @@ class ExtensionDelegate: NSObject, WKExtensionDelegate { backgroundTask.setTaskCompletedWithSnapshot(false) case let snapshotTask as WKSnapshotRefreshBackgroundTask: // Snapshot tasks have a unique completion call, make sure to set your expiration date - snapshotTask.setTaskCompleted(restoredDefaultState: true, estimatedSnapshotExpiration: Date.distantFuture, userInfo: nil) + snapshotTask.setTaskCompleted( + restoredDefaultState: true, + estimatedSnapshotExpiration: Date.distantFuture, + userInfo: nil + ) case let connectivityTask as WKWatchConnectivityRefreshBackgroundTask: // Be sure to complete the connectivity task once you’re done. connectivityTask.setTaskCompletedWithSnapshot(false) @@ -46,5 +50,4 @@ class ExtensionDelegate: NSObject, WKExtensionDelegate { } } } - } diff --git a/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/InterfaceController.swift b/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/InterfaceController.swift index 754c7c318..e4f49039b 100644 --- a/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/InterfaceController.swift +++ b/projects/tuist/fixtures/ios_app_with_watchapp2/WatchAppExtension/InterfaceController.swift @@ -1,22 +1,20 @@ -import WatchKit import Foundation +import WatchKit class InterfaceController: WKInterfaceController { - override func awake(withContext context: Any?) { super.awake(withContext: context) - + // Configure interface objects here. } - + override func willActivate() { // This method is called when watch view controller is about to be visible to user super.willActivate() } - + override func didDeactivate() { // This method is called when watch view controller is no longer visible super.didDeactivate() } - } diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Project.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Project.swift index cb09315cb..56d0a9dd4 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Project.swift @@ -1,30 +1,37 @@ import ProjectDescription -let project = Project(name: "MyFramework", - targets: [ - Target(name: "MyFramework", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.MyFramework", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - ], settings: .settings(base: [ - "BUILD_LIBRARY_FOR_DISTRIBUTION" : "YES" - ])), - Target(name: "MyFrameworkTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.MyFrameworkTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "MyFramework") - ]) - ]) +let project = Project( + name: "MyFramework", + targets: [ + Target( + name: "MyFramework", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.MyFramework", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + ], + settings: .settings(base: [ + "BUILD_LIBRARY_FOR_DISTRIBUTION": "YES", + ]) + ), + Target( + name: "MyFrameworkTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.MyFrameworkTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "MyFramework"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Sources/MyFramework.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Sources/MyFramework.swift index 9713c1d86..779d8ba98 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Sources/MyFramework.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Sources/MyFramework.swift @@ -2,7 +2,5 @@ import Foundation public class MyFramework { public var name = "MyFramework" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Tests/MyFrameworkTests.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Tests/MyFrameworkTests.swift index 11ba0a9f5..bee3d75e6 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Tests/MyFrameworkTests.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyFramework/Tests/MyFrameworkTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import MyFramework -final class MyFrameworkTests: XCTestCase { - -} \ No newline at end of file +final class MyFrameworkTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Project.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Project.swift index 5f86c4494..dc70ef4a9 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Project.swift @@ -1,21 +1,26 @@ import ProjectDescription -let project = Project(name: "MyStaticFramework", - targets: [ - Target(name: "MyStaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.MyStaticFramework", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyStaticFramework.framework") - ], settings: .settings(base: [ - "BUILD_LIBRARY_FOR_DISTRIBUTION" : "YES" - ])) - ]) +let project = Project( + name: "MyStaticFramework", + targets: [ + Target( + name: "MyStaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.MyStaticFramework", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyStaticFramework.framework") + ], + settings: .settings(base: [ + "BUILD_LIBRARY_FOR_DISTRIBUTION": "YES", + ]) + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Sources/MyStaticFramework.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Sources/MyStaticFramework.swift index 20c19f2e1..0c0c3412b 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Sources/MyStaticFramework.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticFramework/Sources/MyStaticFramework.swift @@ -2,7 +2,5 @@ import Foundation public class MyStaticFramework { public var name = "MyStaticFramework" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Project.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Project.swift index 8470a6f87..0dc044768 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Project.swift @@ -1,21 +1,26 @@ import ProjectDescription -let project = Project(name: "MyStaticLibrary", - targets: [ - Target(name: "MyStaticLibrary", - platform: .iOS, - product: .staticLibrary, - bundleId: "io.tuist.MyStaticLibrary", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyStaticLibrary.framework") - ], settings: .settings(base: [ - "BUILD_LIBRARY_FOR_DISTRIBUTION" : "YES" - ])) - ]) +let project = Project( + name: "MyStaticLibrary", + targets: [ + Target( + name: "MyStaticLibrary", + platform: .iOS, + product: .staticLibrary, + bundleId: "io.tuist.MyStaticLibrary", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyStaticLibrary.framework") + ], + settings: .settings(base: [ + "BUILD_LIBRARY_FOR_DISTRIBUTION": "YES", + ]) + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Sources/MyStaticLibrary.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Sources/MyStaticLibrary.swift index c1d93cb50..6838b525a 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Sources/MyStaticLibrary.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Frameworks/MyStaticLibrary/Sources/MyStaticLibrary.swift @@ -2,7 +2,5 @@ import Foundation public class MyStaticLibrary { public var name = "MyStaticLibrary" - public init() { - - } + public init() {} } diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Project.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Project.swift index b1d770903..0f9308e22 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Project.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Project.swift @@ -1,28 +1,34 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - .xcframework(path: "Frameworks/MyFramework/prebuilt/MyFramework.xcframework"), - .xcframework(path: "Frameworks/MyStaticLibrary/prebuilt/MyStaticLibrary.xcframework") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + .xcframework(path: "Frameworks/MyFramework/prebuilt/MyFramework.xcframework"), + .xcframework(path: "Frameworks/MyStaticLibrary/prebuilt/MyStaticLibrary.xcframework"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Sources/AppDelegate.swift index 99d5a9570..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_app_with_xcframeworks/Tests/xcframeworksTests.swift b/projects/tuist/fixtures/ios_app_with_xcframeworks/Tests/xcframeworksTests.swift index 621b46fc1..2320e0518 100644 --- a/projects/tuist/fixtures/ios_app_with_xcframeworks/Tests/xcframeworksTests.swift +++ b/projects/tuist/fixtures/ios_app_with_xcframeworks/Tests/xcframeworksTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class xcframeworksTests: XCTestCase { - -} \ No newline at end of file +final class xcframeworksTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Project.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Project.swift index 97adcfd1d..2705db712 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Project.swift @@ -1,29 +1,35 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FrameworkA", path: "../Frameworks/FrameworkA") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.AppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FrameworkA", path: "../Frameworks/FrameworkA"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.AppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Sources/AppDelegate.swift index 99d5a9570..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Tests/AppTests.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/App/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Project.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Project.swift index 1f12bc699..c6b653c5e 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Project.swift @@ -1,29 +1,35 @@ import ProjectDescription -let project = Project(name: "FrameworkA", - targets: [ - Target(name: "FrameworkA", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.FrameworkA", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FrameworkB", path: "../FrameworkB") - ]), - Target(name: "FrameworkATests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.FrameworkATests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "FrameworkA") - ]) - ]) +let project = Project( + name: "FrameworkA", + targets: [ + Target( + name: "FrameworkA", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.FrameworkA", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FrameworkB", path: "../FrameworkB"), + ] + ), + Target( + name: "FrameworkATests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.FrameworkATests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "FrameworkA"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Sources/FrameworkA.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Sources/FrameworkA.swift index 6181783fe..708a1a535 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Sources/FrameworkA.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Sources/FrameworkA.swift @@ -1,5 +1,3 @@ import Foundation -class FrameworkA { - -} \ No newline at end of file +class FrameworkA {} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Tests/FrameworkATests.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Tests/FrameworkATests.swift index 504187d0f..ea9d8b478 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Tests/FrameworkATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkA/Tests/FrameworkATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import FrameworkA -final class FrameworkATests: XCTestCase { - -} \ No newline at end of file +final class FrameworkATests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Project.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Project.swift index 993ae4d8f..9f12f879e 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Project.swift @@ -1,29 +1,35 @@ import ProjectDescription -let project = Project(name: "FrameworkB", - targets: [ - Target(name: "FrameworkB", - platform: .iOS, - product: .framework, - bundleId: "io.tuist.FrameworkB", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FrameworkA", path: "../FrameworkA") - ]), - Target(name: "FrameworkBTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.FrameworkBTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "FrameworkB") - ]) - ]) +let project = Project( + name: "FrameworkB", + targets: [ + Target( + name: "FrameworkB", + platform: .iOS, + product: .framework, + bundleId: "io.tuist.FrameworkB", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FrameworkA", path: "../FrameworkA"), + ] + ), + Target( + name: "FrameworkBTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.FrameworkBTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "FrameworkB"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Sources/FrameworkB.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Sources/FrameworkB.swift index 412712bef..2912a9d70 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Sources/FrameworkB.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Sources/FrameworkB.swift @@ -1,5 +1,3 @@ import Foundation -class FrameworkB { - -} \ No newline at end of file +class FrameworkB {} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Tests/FrameworkBTests.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Tests/FrameworkBTests.swift index 896ca224b..164ee27b3 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Tests/FrameworkBTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Frameworks/FrameworkB/Tests/FrameworkBTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import FrameworkB -final class FrameworkBTests: XCTestCase { - -} \ No newline at end of file +final class FrameworkBTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Workspace.swift b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Workspace.swift index 03627f42d..eec788397 100644 --- a/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Workspace.swift +++ b/projects/tuist/fixtures/ios_workspace_with_dependency_cycle/Workspace.swift @@ -1,7 +1,9 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: [ - "App", - "Frameworks/**", - ]) +let workspace = Workspace( + name: "Workspace", + projects: [ + "App", + "Frameworks/**", + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Sources/AppDelegate.swift index 99d5a9570..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Tests/AppTests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Tests/AppTests.swift index ff3f0d5f1..12be2987c 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/App/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import App -final class AppTests: XCTestCase { - -} \ No newline at end of file +final class AppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Project.swift index 0ff3f2e3d..3a5da3289 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Project.swift @@ -1,25 +1,31 @@ -import ProjectDescription import BundlePlugin +import ProjectDescription -let project = Project(name: "Core", - targets: [ - Target(name: "Core", - platform: .iOS, - product: .framework, - bundleId: .bundleId(for: "Core"), - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ]), - Target(name: "CoreTests", - platform: .iOS, - product: .unitTests, - bundleId: .bundleId(for: "CoreTests"), - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Core") - ]) - ]) +let project = Project( + name: "Core", + targets: [ + Target( + name: "Core", + platform: .iOS, + product: .framework, + bundleId: .bundleId(for: "Core"), + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ] + ), + Target( + name: "CoreTests", + platform: .iOS, + product: .unitTests, + bundleId: .bundleId(for: "CoreTests"), + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Core"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Tests/CoreClassTests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Tests/CoreClassTests.swift index e7f85a6b2..0f871eaa3 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Tests/CoreClassTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/CoreFramework/Tests/CoreClassTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import Core -final class CoreClassTests: XCTestCase { - -} +final class CoreClassTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Project.swift index 1fd36432c..1e4d34c3c 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Project.swift @@ -1,30 +1,36 @@ -import ProjectDescription import BundlePlugin +import ProjectDescription -let project = Project(name: "Data", - targets: [ - Target(name: "Data", - platform: .iOS, - product: .framework, - bundleId: .bundleId(for: "Data"), - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "Core", path: "../CoreFramework") - ]), - Target(name: "DataTests", - platform: .iOS, - product: .unitTests, - bundleId: .bundleId(for: "DataFrameworkTests"), - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Data") - ]) - ]) +let project = Project( + name: "Data", + targets: [ + Target( + name: "Data", + platform: .iOS, + product: .framework, + bundleId: .bundleId(for: "Data"), + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "Core", path: "../CoreFramework"), + ] + ), + Target( + name: "DataTests", + platform: .iOS, + product: .unitTests, + bundleId: .bundleId(for: "DataFrameworkTests"), + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Data"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Sources/DataClass.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Sources/DataClass.swift index 61eac1f5a..3f40c7cf8 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Sources/DataClass.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Sources/DataClass.swift @@ -1,8 +1,8 @@ -import Foundation import Core +import Foundation public class DataClass { let core = CoreClass() - + public init() {} } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Tests/FrameworkATests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Tests/FrameworkATests.swift index 6ab52ba31..ece49c685 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Tests/FrameworkATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/DataFramework/Tests/FrameworkATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import Data -final class DataClassTests: XCTestCase { - -} +final class DataClassTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Project.swift index 79884f972..22a2d5a13 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Project.swift @@ -1,33 +1,39 @@ -import ProjectDescription import BundlePlugin +import ProjectDescription -let project = Project(name: "FrameworkA", - targets: [ - Target(name: "FrameworkA", - platform: .iOS, - product: .framework, - bundleId: .bundleId(for: "FrameworkA"), - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FeatureContracts", path: "../FeatureContracts"), - .project(target: "Core", path: "../CoreFramework"), - .project(target: "Data", path: "../DataFramework"), - .project(target: "UIComponents", path: "../UIComponentsFramework") - ]), - Target(name: "FrameworkATests", - platform: .iOS, - product: .unitTests, - bundleId: .bundleId(for: "FrameworkATests"), - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "FrameworkA") - ]) - ]) +let project = Project( + name: "FrameworkA", + targets: [ + Target( + name: "FrameworkA", + platform: .iOS, + product: .framework, + bundleId: .bundleId(for: "FrameworkA"), + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FeatureContracts", path: "../FeatureContracts"), + .project(target: "Core", path: "../CoreFramework"), + .project(target: "Data", path: "../DataFramework"), + .project(target: "UIComponents", path: "../UIComponentsFramework"), + ] + ), + Target( + name: "FrameworkATests", + platform: .iOS, + product: .unitTests, + bundleId: .bundleId(for: "FrameworkATests"), + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "FrameworkA"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Sources/FrameworkA.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Sources/FrameworkA.swift index b9ead3e41..4bd4ac878 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Sources/FrameworkA.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Sources/FrameworkA.swift @@ -1,10 +1,10 @@ -import Foundation import FeatureContracts +import Foundation class FrameworkA { - func run(featureB: FeatureBContract) { - featureB.run() + func run(featureB: FeatureBContract) { + featureB.run() let a = featureB.expose() print(a) - } + } } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift index 504187d0f..ea9d8b478 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import FrameworkA -final class FrameworkATests: XCTestCase { - -} \ No newline at end of file +final class FrameworkATests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Project.swift index 78edec647..7a79176a9 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Project.swift @@ -1,31 +1,37 @@ -import ProjectDescription import BundlePlugin +import ProjectDescription -let project = Project(name: "FeatureContracts", - targets: [ - Target(name: "FeatureContracts", - platform: .iOS, - product: .framework, - bundleId: .bundleId(for: "FeatureContracts"), - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "Data", path: "../DataFramework"), - .project(target: "Core", path: "../CoreFramework") - ]), - Target(name: "FeatureContractsTests", - platform: .iOS, - product: .unitTests, - bundleId: .bundleId(for: "FeatureContractsTests"), - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "FeatureContracts") - ]) - ]) +let project = Project( + name: "FeatureContracts", + targets: [ + Target( + name: "FeatureContracts", + platform: .iOS, + product: .framework, + bundleId: .bundleId(for: "FeatureContracts"), + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "Data", path: "../DataFramework"), + .project(target: "Core", path: "../CoreFramework"), + ] + ), + Target( + name: "FeatureContractsTests", + platform: .iOS, + product: .unitTests, + bundleId: .bundleId(for: "FeatureContractsTests"), + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "FeatureContracts"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureAContract.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureAContract.swift index 0fd9b340e..dc57816ff 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureAContract.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureAContract.swift @@ -1,5 +1,5 @@ import Foundation public protocol FeatureAContract { - func run() + func run() } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureBContract.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureBContract.swift index 5e68d2e6c..1939d78f9 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureBContract.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Sources/FeatureBContract.swift @@ -1,5 +1,5 @@ -import Foundation import Core +import Foundation public protocol FeatureBContract { func run() func expose() -> CoreClass diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift index 378388089..2f8b4bef3 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import FrameworkA -final class FrameworkAContractTests: XCTestCase { - -} +final class FrameworkAContractTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Project.swift index 0114fb2e3..3be8d9c04 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Project.swift @@ -1,30 +1,36 @@ -import ProjectDescription import BundlePlugin +import ProjectDescription -let project = Project(name: "UIComponents", - targets: [ - Target(name: "UIComponents", - platform: .iOS, - product: .framework, - bundleId: .bundleId(for: "UIComponents"), - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FeatureContracts", path: "../FeatureContracts") - ]), - Target(name: "UIComponentsTests", - platform: .iOS, - product: .unitTests, - bundleId: .bundleId(for: "UIComponentsTests"), - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "UIComponents") - ]) - ]) +let project = Project( + name: "UIComponents", + targets: [ + Target( + name: "UIComponents", + platform: .iOS, + product: .framework, + bundleId: .bundleId(for: "UIComponents"), + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FeatureContracts", path: "../FeatureContracts"), + ] + ), + Target( + name: "UIComponentsTests", + platform: .iOS, + product: .unitTests, + bundleId: .bundleId(for: "UIComponentsTests"), + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "UIComponents"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift index 2a6c2cacc..7783b7475 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift @@ -1,7 +1,7 @@ +import Data import Foundation import UIKit -import Data class UIComponentA: UIView { - let data = DataClass() + let data = DataClass() } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift index 5aa8f65d9..0f09132db 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import UIComponents -final class UIComponentATests: XCTestCase { - -} +final class UIComponentATests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/Plugin.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/Plugin.swift index ca21f2213..6f566adad 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/Plugin.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/Plugin.swift @@ -1,2 +1,2 @@ import ProjectDescription -let plugin = Plugin(name: "BundlePlugin") \ No newline at end of file +let plugin = Plugin(name: "BundlePlugin") diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/ProjectDescriptionHelpers/String+BundleId.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/ProjectDescriptionHelpers/String+BundleId.swift index f936c6089..b70631805 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/ProjectDescriptionHelpers/String+BundleId.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Plugin/ProjectDescriptionHelpers/String+BundleId.swift @@ -1,10 +1,10 @@ import ProjectDescription -public extension String { +extension String { /// Returns a canonical bundle Id for the target with the /// given name /// - parameter target: the name of the target /// - returns: the bundle id for the given target - static func bundleId(for target: String) -> String { + public static func bundleId(for target: String) -> String { return "io.tuist.\(target)" } -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Project.swift index 5ed717807..1c1844945 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Project.swift @@ -1,30 +1,36 @@ -import ProjectDescription import BundlePlugin +import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .iOS, - product: .app, - bundleId: .bundleId(for: "App"), - infoPlist: "App/Info.plist", - sources: ["App/Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FrameworkA", path: "Frameworks/FeatureAFramework") - ]), - Target(name: "AppTests", - platform: .iOS, - product: .unitTests, - bundleId: .bundleId(for: "AppTests"), - infoPlist: "App/Tests.plist", - sources: "App/Tests/**", - dependencies: [ - .target(name: "App") - ]) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .iOS, + product: .app, + bundleId: .bundleId(for: "App"), + infoPlist: "App/Info.plist", + sources: ["App/Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FrameworkA", path: "Frameworks/FeatureAFramework"), + ] + ), + Target( + name: "AppTests", + platform: .iOS, + product: .unitTests, + bundleId: .bundleId(for: "AppTests"), + infoPlist: "App/Tests.plist", + sources: "App/Tests/**", + dependencies: [ + .target(name: "App"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Tuist/Config.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Tuist/Config.swift index 2144dbd6b..c978421de 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Tuist/Config.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture/Tuist/Config.swift @@ -2,7 +2,7 @@ import ProjectDescription let config = Config( plugins: [ - .local(path: .relativeToRoot("Plugin")) + .local(path: .relativeToRoot("Plugin")), ], generationOptions: [] ) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Project.swift index 2483b198a..a8e867cfc 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Project.swift @@ -1,24 +1,30 @@ import ProjectDescription -let project = Project(name: "Core", - targets: [ - Target(name: "Core", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.Core", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ]), - Target(name: "CoreTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.CoreTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Core") - ]) - ]) +let project = Project( + name: "Core", + targets: [ + Target( + name: "Core", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.Core", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ] + ), + Target( + name: "CoreTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.CoreTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Core"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Tests/CoreClassTests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Tests/CoreClassTests.swift index e7f85a6b2..0f871eaa3 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Tests/CoreClassTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/CoreFramework/Tests/CoreClassTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import Core -final class CoreClassTests: XCTestCase { - -} +final class CoreClassTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Project.swift index b920c345c..8357b410f 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Project.swift @@ -1,29 +1,35 @@ import ProjectDescription -let project = Project(name: "Data", - targets: [ - Target(name: "Data", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.Data", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "Core", path: "../CoreFramework") - ]), - Target(name: "DataTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.DataFrameworkTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "Data") - ]) - ]) +let project = Project( + name: "Data", + targets: [ + Target( + name: "Data", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.Data", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "Core", path: "../CoreFramework"), + ] + ), + Target( + name: "DataTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.DataFrameworkTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "Data"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Sources/DataClass.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Sources/DataClass.swift index 61eac1f5a..3f40c7cf8 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Sources/DataClass.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Sources/DataClass.swift @@ -1,8 +1,8 @@ -import Foundation import Core +import Foundation public class DataClass { let core = CoreClass() - + public init() {} } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Tests/FrameworkATests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Tests/FrameworkATests.swift index 6ab52ba31..ece49c685 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Tests/FrameworkATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/DataFramework/Tests/FrameworkATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import Data -final class DataClassTests: XCTestCase { - -} +final class DataClassTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Project.swift index 7611c6fc0..66455d054 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Project.swift @@ -1,32 +1,38 @@ import ProjectDescription -let project = Project(name: "FrameworkA", - targets: [ - Target(name: "FrameworkA", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.FrameworkA", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FeatureContracts", path: "../FeatureContracts"), - .project(target: "Core", path: "../CoreFramework"), - .project(target: "Data", path: "../DataFramework"), - .project(target: "UIComponents", path: "../UIComponentsFramework") - ]), - Target(name: "FrameworkATests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.FrameworkATests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "FrameworkA") - ]) - ]) +let project = Project( + name: "FrameworkA", + targets: [ + Target( + name: "FrameworkA", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.FrameworkA", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FeatureContracts", path: "../FeatureContracts"), + .project(target: "Core", path: "../CoreFramework"), + .project(target: "Data", path: "../DataFramework"), + .project(target: "UIComponents", path: "../UIComponentsFramework"), + ] + ), + Target( + name: "FrameworkATests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.FrameworkATests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "FrameworkA"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Sources/FrameworkA.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Sources/FrameworkA.swift index b9ead3e41..4bd4ac878 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Sources/FrameworkA.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Sources/FrameworkA.swift @@ -1,10 +1,10 @@ -import Foundation import FeatureContracts +import Foundation class FrameworkA { - func run(featureB: FeatureBContract) { - featureB.run() + func run(featureB: FeatureBContract) { + featureB.run() let a = featureB.expose() print(a) - } + } } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift index 504187d0f..ea9d8b478 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureAFramework/Tests/FrameworkATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import FrameworkA -final class FrameworkATests: XCTestCase { - -} \ No newline at end of file +final class FrameworkATests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Project.swift index d0f1d90be..4c3edfc4e 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Project.swift @@ -1,30 +1,36 @@ import ProjectDescription -let project = Project(name: "FeatureContracts", - targets: [ - Target(name: "FeatureContracts", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.FeatureContracts", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "Data", path: "../DataFramework"), - .project(target: "Core", path: "../CoreFramework") - ]), - Target(name: "FeatureContractsTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.FeatureContractsTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "FeatureContracts") - ]) - ]) +let project = Project( + name: "FeatureContracts", + targets: [ + Target( + name: "FeatureContracts", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.FeatureContracts", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "Data", path: "../DataFramework"), + .project(target: "Core", path: "../CoreFramework"), + ] + ), + Target( + name: "FeatureContractsTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.FeatureContractsTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "FeatureContracts"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureAContract.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureAContract.swift index 0fd9b340e..dc57816ff 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureAContract.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureAContract.swift @@ -1,5 +1,5 @@ import Foundation public protocol FeatureAContract { - func run() + func run() } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureBContract.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureBContract.swift index 5e68d2e6c..1939d78f9 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureBContract.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Sources/FeatureBContract.swift @@ -1,5 +1,5 @@ -import Foundation import Core +import Foundation public protocol FeatureBContract { func run() func expose() -> CoreClass diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift index 378388089..2f8b4bef3 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/FeatureContracts/Tests/FrameworkAContractTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import FrameworkA -final class FrameworkAContractTests: XCTestCase { - -} +final class FrameworkAContractTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Project.swift index bdc1fefca..846cb25d8 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Project.swift @@ -1,29 +1,35 @@ import ProjectDescription -let project = Project(name: "UIComponents", - targets: [ - Target(name: "UIComponents", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.UIComponents", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FeatureContracts", path: "../FeatureContracts") - ]), - Target(name: "UIComponentsTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.UIComponentsTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "UIComponents") - ]) - ]) +let project = Project( + name: "UIComponents", + targets: [ + Target( + name: "UIComponents", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.UIComponents", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FeatureContracts", path: "../FeatureContracts"), + ] + ), + Target( + name: "UIComponentsTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.UIComponentsTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "UIComponents"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift index 2a6c2cacc..7783b7475 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Sources/UIComponentA.swift @@ -1,7 +1,7 @@ +import Data import Foundation import UIKit -import Data class UIComponentA: UIView { - let data = DataClass() + let data = DataClass() } diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift index 5aa8f65d9..0f09132db 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Frameworks/UIComponentsFramework/Tests/UIComponentATests.swift @@ -3,6 +3,4 @@ import XCTest @testable import UIComponents -final class UIComponentATests: XCTestCase { - -} +final class UIComponentATests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Project.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Project.swift index ffc1c6c3e..4374cacf2 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Project.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Project.swift @@ -1,29 +1,35 @@ import ProjectDescription -let project = Project(name: "StaticApp", - targets: [ - Target(name: "StaticApp", - platform: .iOS, - product: .app, - bundleId: "io.tuist.StaticApp", - infoPlist: "Info.plist", - sources: ["Sources/**"], - resources: [ - /* Path to resources can be defined here */ - // "Resources/**" - ], - dependencies: [ - /* Target dependencies can be defined here */ - // .framework(path: "Frameworks/MyFramework.framework") - .project(target: "FrameworkA", path: "../Frameworks/FeatureAFramework") - ]), - Target(name: "StaticAppTests", - platform: .iOS, - product: .unitTests, - bundleId: "io.tuist.StaticAppTests", - infoPlist: "Tests.plist", - sources: "Tests/**", - dependencies: [ - .target(name: "StaticApp") - ]) - ]) +let project = Project( + name: "StaticApp", + targets: [ + Target( + name: "StaticApp", + platform: .iOS, + product: .app, + bundleId: "io.tuist.StaticApp", + infoPlist: "Info.plist", + sources: ["Sources/**"], + resources: [ + /* Path to resources can be defined here */ + // "Resources/**" + ], + dependencies: [ + /* Target dependencies can be defined here */ + // .framework(path: "Frameworks/MyFramework.framework") + .project(target: "FrameworkA", path: "../Frameworks/FeatureAFramework"), + ] + ), + Target( + name: "StaticAppTests", + platform: .iOS, + product: .unitTests, + bundleId: "io.tuist.StaticAppTests", + infoPlist: "Tests.plist", + sources: "Tests/**", + dependencies: [ + .target(name: "StaticApp"), + ] + ), + ] +) diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Sources/AppDelegate.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Sources/AppDelegate.swift index 99d5a9570..b46b87b1e 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Tests/AppTests.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Tests/AppTests.swift index 464fb0519..c3e283c62 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Tests/AppTests.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/StaticApp/Tests/AppTests.swift @@ -3,6 +3,4 @@ import XCTest @testable import StaticApp -final class StaticAppTests: XCTestCase { - -} +final class StaticAppTests: XCTestCase {} diff --git a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Workspace.swift b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Workspace.swift index 3f81b947f..a0dbefd11 100644 --- a/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Workspace.swift +++ b/projects/tuist/fixtures/ios_workspace_with_microfeature_architecture_static_linking/Workspace.swift @@ -1,7 +1,9 @@ import ProjectDescription -let workspace = Workspace(name: "Workspace", - projects: [ - "StaticApp", - "Frameworks/**", - ]) +let workspace = Workspace( + name: "Workspace", + projects: [ + "StaticApp", + "Frameworks/**", + ] +) diff --git a/projects/tuist/fixtures/macos_app_with_copy_files/Project.swift b/projects/tuist/fixtures/macos_app_with_copy_files/Project.swift index 3eada8d1d..ec2a4af73 100644 --- a/projects/tuist/fixtures/macos_app_with_copy_files/Project.swift +++ b/projects/tuist/fixtures/macos_app_with_copy_files/Project.swift @@ -1,21 +1,25 @@ import ProjectDescription func target(name: String) -> Target { - return Target(name: name, - platform: .macOS, - product: .app, - bundleId: "io.tuist.\(name)", - infoPlist: .file(path: .relativeToManifest("Info.plist")), - sources: .paths([.relativeToManifest("Sources/**")]), - copyFiles: [ - .sharedSupport( - name: "Copy Templates", - subpath: "Templates", - files: ["Templates/**"] - ), - ], - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", "CODE_SIGNING_REQUIRED": "NO"])) + return Target( + name: name, + platform: .macOS, + product: .app, + bundleId: "io.tuist.\(name)", + infoPlist: .file(path: .relativeToManifest("Info.plist")), + sources: .paths([.relativeToManifest("Sources/**")]), + copyFiles: [ + .sharedSupport( + name: "Copy Templates", + subpath: "Templates", + files: ["Templates/**"] + ), + ], + settings: .settings(base: ["CODE_SIGN_IDENTITY": "", "CODE_SIGNING_REQUIRED": "NO"]) + ) } -let project = Project(name: "App", - targets: [target(name: "App")]) +let project = Project( + name: "App", + targets: [target(name: "App")] +) diff --git a/projects/tuist/fixtures/macos_app_with_copy_files/Sources/AppDelegate.swift b/projects/tuist/fixtures/macos_app_with_copy_files/Sources/AppDelegate.swift index dc654d32a..1d8a84c99 100644 --- a/projects/tuist/fixtures/macos_app_with_copy_files/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/macos_app_with_copy_files/Sources/AppDelegate.swift @@ -1,7 +1,6 @@ import AppKit class AppDelegate: NSObject, NSApplicationDelegate { - var window: NSWindow! var view: NSView! @@ -21,10 +20,9 @@ class AppDelegate: NSObject, NSApplicationDelegate { window.title = "Window!" } - func applicationDidFinishLaunching(_ aNotification: Notification) { + func applicationDidFinishLaunching(_: Notification) { window.center() window.contentView = view window.makeKeyAndOrderFront(nil) } - } diff --git a/projects/tuist/fixtures/macos_app_with_copy_files/Tuist/Config.swift b/projects/tuist/fixtures/macos_app_with_copy_files/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/macos_app_with_copy_files/Tuist/Config.swift +++ b/projects/tuist/fixtures/macos_app_with_copy_files/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/macos_app_with_extensions/Project.swift b/projects/tuist/fixtures/macos_app_with_extensions/Project.swift index 88782110e..a9b159dc4 100644 --- a/projects/tuist/fixtures/macos_app_with_extensions/Project.swift +++ b/projects/tuist/fixtures/macos_app_with_extensions/Project.swift @@ -1,16 +1,16 @@ import ProjectDescription /** -These are necessary for the compiler to find the Workflow's SDK and link against it. -**/ + These are necessary for the compiler to find the Workflow's SDK and link against it. + **/ let workflowExtensionSettings: SettingsDictionary = [ "ADDITIONAL_SDKS": "/Library/Developer/SDKs/WorkflowExtensionSDK.sdk $(inherited)", "OTHER_LDFLAGS": "-fapplication-extension -e_ProExtensionMain -lProExtension", "FRAMEWORK_SEARCH_PATHS": "/Library/Frameworks $(inherited)", "LIBRARY_SEARCH_PATHS": "/usr/lib $(inherited)", "SWIFT_OBJC_BRIDGING_HEADER": "$SRCROOT/Workflow/Workflow-Bridging-Header.h", - "HEADER_SEARCH_PATHS": "/usr/include $(inherited)" -]; + "HEADER_SEARCH_PATHS": "/usr/include $(inherited)", +] let project = Project( name: "App", @@ -36,9 +36,9 @@ let project = Project( sources: "Workflow/Sources/**", resources: "Workflow/Resources/**", settings: .settings(configurations: [ - .debug(name: "Debug", settings: workflowExtensionSettings, xcconfig: nil), + .debug(name: "Debug", settings: workflowExtensionSettings, xcconfig: nil), .release(name: "Release", settings: workflowExtensionSettings, xcconfig: nil), ]) - ) + ), ] ) diff --git a/projects/tuist/fixtures/macos_app_with_extensions/Workflow/Sources/WorkflowViewController.swift b/projects/tuist/fixtures/macos_app_with_extensions/Workflow/Sources/WorkflowViewController.swift index 03bf03de3..c734f605b 100644 --- a/projects/tuist/fixtures/macos_app_with_extensions/Workflow/Sources/WorkflowViewController.swift +++ b/projects/tuist/fixtures/macos_app_with_extensions/Workflow/Sources/WorkflowViewController.swift @@ -2,22 +2,20 @@ import Cocoa import ProExtensionHost class WorkflowViewController: NSViewController { - - override func awakeFromNib() { - super.awakeFromNib() - } - - override var nibName: NSNib.Name? { - return NSNib.Name("WorkflowViewController") - } - - override func viewDidLoad() { - super.viewDidLoad() - } - - var hostInfoString: String { - let host = ProExtensionHostSingleton() as! FCPXHost - return String(format:"%@ %@", host.name, host.versionString) + override func awakeFromNib() { + super.awakeFromNib() } + override var nibName: NSNib.Name? { + return NSNib.Name("WorkflowViewController") + } + + override func viewDidLoad() { + super.viewDidLoad() + } + + var hostInfoString: String { + let host = ProExtensionHostSingleton() as! FCPXHost + return String(format: "%@ %@", host.name, host.versionString) + } } diff --git a/projects/tuist/fixtures/manifest_with_logs/Project.swift b/projects/tuist/fixtures/manifest_with_logs/Project.swift index 489cde331..2ec384f63 100644 --- a/projects/tuist/fixtures/manifest_with_logs/Project.swift +++ b/projects/tuist/fixtures/manifest_with_logs/Project.swift @@ -1,16 +1,19 @@ import ProjectDescription - func target(name: String) -> Target { print("Target name - \(name)") - return Target(name: name, - platform: .macOS, - product: .app, - bundleId: "io.tuist.\(name)", - infoPlist: .default, - sources: .paths([.relativeToManifest("Sources/**")]), - settings: .settings(base: ["CODE_SIGN_IDENTITY": "", "CODE_SIGNING_REQUIRED": "NO"])) + return Target( + name: name, + platform: .macOS, + product: .app, + bundleId: "io.tuist.\(name)", + infoPlist: .default, + sources: .paths([.relativeToManifest("Sources/**")]), + settings: .settings(base: ["CODE_SIGN_IDENTITY": "", "CODE_SIGNING_REQUIRED": "NO"]) + ) } -let project = Project(name: "App", - targets: [target(name: "App")]) +let project = Project( + name: "App", + targets: [target(name: "App")] +) diff --git a/projects/tuist/fixtures/manifest_with_logs/Sources/AppDelegate.swift b/projects/tuist/fixtures/manifest_with_logs/Sources/AppDelegate.swift index dc654d32a..1d8a84c99 100644 --- a/projects/tuist/fixtures/manifest_with_logs/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/manifest_with_logs/Sources/AppDelegate.swift @@ -1,7 +1,6 @@ import AppKit class AppDelegate: NSObject, NSApplicationDelegate { - var window: NSWindow! var view: NSView! @@ -21,10 +20,9 @@ class AppDelegate: NSObject, NSApplicationDelegate { window.title = "Window!" } - func applicationDidFinishLaunching(_ aNotification: Notification) { + func applicationDidFinishLaunching(_: Notification) { window.center() window.contentView = view window.makeKeyAndOrderFront(nil) } - } diff --git a/projects/tuist/fixtures/manifest_with_logs/Tuist/Config.swift b/projects/tuist/fixtures/manifest_with_logs/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/manifest_with_logs/Tuist/Config.swift +++ b/projects/tuist/fixtures/manifest_with_logs/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/plugin/ProjectDescriptionHelpers/Helper.swift b/projects/tuist/fixtures/plugin/ProjectDescriptionHelpers/Helper.swift index 655eb2ce2..3f93a9420 100644 --- a/projects/tuist/fixtures/plugin/ProjectDescriptionHelpers/Helper.swift +++ b/projects/tuist/fixtures/plugin/ProjectDescriptionHelpers/Helper.swift @@ -1,5 +1,5 @@ import ProjectDescription -public extension Project { - static let helper = "Helper" +extension Project { + public static let helper = "Helper" } diff --git a/projects/tuist/fixtures/project_with_file_header_template/FileHeaderTemplate.swift b/projects/tuist/fixtures/project_with_file_header_template/FileHeaderTemplate.swift index 9760efd87..165698f72 100644 --- a/projects/tuist/fixtures/project_with_file_header_template/FileHeaderTemplate.swift +++ b/projects/tuist/fixtures/project_with_file_header_template/FileHeaderTemplate.swift @@ -1,2 +1,2 @@ // Tuist.io -// Testing file header template \ No newline at end of file +// Testing file header template diff --git a/projects/tuist/fixtures/tvos_app_with_extensions/Project.swift b/projects/tuist/fixtures/tvos_app_with_extensions/Project.swift index 572453f37..e6b891025 100644 --- a/projects/tuist/fixtures/tvos_app_with_extensions/Project.swift +++ b/projects/tuist/fixtures/tvos_app_with_extensions/Project.swift @@ -1,36 +1,42 @@ import ProjectDescription -let project = Project(name: "App", - targets: [ - Target(name: "App", - platform: .tvOS, - product: .app, - bundleId: "io.tuist.App", - infoPlist: "Info.plist", - sources: ["Sources/**"], - dependencies: [ - .target(name: "TopShelfExtension") - ]), - Target(name: "TopShelfExtension", - platform: .tvOS, - product: .tvTopShelfExtension, - bundleId: "io.tuist.App.TopShelfExtension", - infoPlist: .extendingDefault(with: [ - "CFBundleDisplayName": "$(PRODUCT_NAME)", - "NSExtension": [ - "NSExtensionPointIdentifier": "com.apple.tv-top-shelf", - "NSExtensionPrincipalClass": "$(PRODUCT_MODULE_NAME).ContentProvider" - ] - ]), - sources: "TopShelfExtension/**", - dependencies: [ - - ]), - Target(name: "StaticFramework", - platform: .iOS, - product: .staticFramework, - bundleId: "io.tuist.App.StaticFramework", - infoPlist: .default, - sources: "StaticFramework/Sources/**" - ) - ]) +let project = Project( + name: "App", + targets: [ + Target( + name: "App", + platform: .tvOS, + product: .app, + bundleId: "io.tuist.App", + infoPlist: "Info.plist", + sources: ["Sources/**"], + dependencies: [ + .target(name: "TopShelfExtension"), + ] + ), + Target( + name: "TopShelfExtension", + platform: .tvOS, + product: .tvTopShelfExtension, + bundleId: "io.tuist.App.TopShelfExtension", + infoPlist: .extendingDefault(with: [ + "CFBundleDisplayName": "$(PRODUCT_NAME)", + "NSExtension": [ + "NSExtensionPointIdentifier": "com.apple.tv-top-shelf", + "NSExtensionPrincipalClass": "$(PRODUCT_MODULE_NAME).ContentProvider", + ], + ]), + sources: "TopShelfExtension/**", + dependencies: [ + ] + ), + Target( + name: "StaticFramework", + platform: .iOS, + product: .staticFramework, + bundleId: "io.tuist.App.StaticFramework", + infoPlist: .default, + sources: "StaticFramework/Sources/**" + ), + ] +) diff --git a/projects/tuist/fixtures/tvos_app_with_extensions/Sources/AppDelegate.swift b/projects/tuist/fixtures/tvos_app_with_extensions/Sources/AppDelegate.swift index 99d5a9570..b46b87b1e 100644 --- a/projects/tuist/fixtures/tvos_app_with_extensions/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/tvos_app_with_extensions/Sources/AppDelegate.swift @@ -2,12 +2,11 @@ import UIKit @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate { - var window: UIWindow? func application( - _ application: UIApplication, - didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil + _: UIApplication, + didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil ) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() @@ -16,5 +15,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - -} \ No newline at end of file +} diff --git a/projects/tuist/fixtures/tvos_app_with_extensions/StaticFramework/Sources/StaticFramework.swift b/projects/tuist/fixtures/tvos_app_with_extensions/StaticFramework/Sources/StaticFramework.swift index d7a748e15..60900e58e 100644 --- a/projects/tuist/fixtures/tvos_app_with_extensions/StaticFramework/Sources/StaticFramework.swift +++ b/projects/tuist/fixtures/tvos_app_with_extensions/StaticFramework/Sources/StaticFramework.swift @@ -1,7 +1,5 @@ import Foundation public struct StaticFramework { - public init() { - - } -} \ No newline at end of file + public init() {} +} diff --git a/projects/tuist/fixtures/tvos_app_with_extensions/TopShelfExtension/ContentProvider.swift b/projects/tuist/fixtures/tvos_app_with_extensions/TopShelfExtension/ContentProvider.swift index 0343e84a1..f3224aa10 100644 --- a/projects/tuist/fixtures/tvos_app_with_extensions/TopShelfExtension/ContentProvider.swift +++ b/projects/tuist/fixtures/tvos_app_with_extensions/TopShelfExtension/ContentProvider.swift @@ -4,8 +4,8 @@ class ContentProvider: TVTopShelfContentProvider { override func loadTopShelfContent(completionHandler: @escaping (TVTopShelfContent?) -> Void) { completionHandler(TVTopShelfSectionedContent(sections: [ TVTopShelfItemCollection(items: [ - makeItem() - ]) + makeItem(), + ]), ])) } diff --git a/projects/tuist/fixtures/tvos_app_with_uitest/App/Sources/AppDelegate.swift b/projects/tuist/fixtures/tvos_app_with_uitest/App/Sources/AppDelegate.swift index 944d7a6df..d00437fa6 100644 --- a/projects/tuist/fixtures/tvos_app_with_uitest/App/Sources/AppDelegate.swift +++ b/projects/tuist/fixtures/tvos_app_with_uitest/App/Sources/AppDelegate.swift @@ -4,7 +4,7 @@ import UIKit class AppDelegate: UIResponder, UIApplicationDelegate { var window: UIWindow? - func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { + func application(_: UIApplication, didFinishLaunchingWithOptions _: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool { window = UIWindow(frame: UIScreen.main.bounds) let viewController = UIViewController() viewController.view.backgroundColor = .white @@ -12,9 +12,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate { window?.makeKeyAndVisible() return true } - + func hello() -> String { return "AppDelegate.hello()" } - } diff --git a/projects/tuist/fixtures/tvos_app_with_uitest/App/UITests/AppUITest.swift b/projects/tuist/fixtures/tvos_app_with_uitest/App/UITests/AppUITest.swift index 186c0d016..635081295 100644 --- a/projects/tuist/fixtures/tvos_app_with_uitest/App/UITests/AppUITest.swift +++ b/projects/tuist/fixtures/tvos_app_with_uitest/App/UITests/AppUITest.swift @@ -1,9 +1,8 @@ -//Copyright © 2019 Sky. All rights reserved. +// Copyright © 2019 Sky. All rights reserved. import XCTest class AppUITest: XCTestCase { - override func setUp() { // Put setup code here. This method is called before the invocation of each test method in the class. @@ -24,5 +23,4 @@ class AppUITest: XCTestCase { // Use recording to get started writing UI tests. // Use XCTAssert and related functions to verify your tests produce the correct results. } - } diff --git a/projects/tuist/fixtures/tvos_app_with_uitest/Tuist/Config.swift b/projects/tuist/fixtures/tvos_app_with_uitest/Tuist/Config.swift index 38cd93aff..aad592f05 100644 --- a/projects/tuist/fixtures/tvos_app_with_uitest/Tuist/Config.swift +++ b/projects/tuist/fixtures/tvos_app_with_uitest/Tuist/Config.swift @@ -1,6 +1,6 @@ import ProjectDescription let config = Config( - generationOptions: [ - ] + generationOptions: [ + ] ) diff --git a/projects/tuist/fixtures/workspace_with_file_header_template/FileHeaderTemplate.swift b/projects/tuist/fixtures/workspace_with_file_header_template/FileHeaderTemplate.swift index 9760efd87..165698f72 100644 --- a/projects/tuist/fixtures/workspace_with_file_header_template/FileHeaderTemplate.swift +++ b/projects/tuist/fixtures/workspace_with_file_header_template/FileHeaderTemplate.swift @@ -1,2 +1,2 @@ // Tuist.io -// Testing file header template \ No newline at end of file +// Testing file header template