// swift-tools-version:5.1 import PackageDescription let package = Package( name: "tuist", platforms: [.macOS(.v10_12)], products: [ .executable(name: "tuist", targets: ["tuist"]), .executable(name: "tuistenv", targets: ["tuistenv"]), .library(name: "ProjectDescription", type: .dynamic, targets: ["ProjectDescription"]), /// TuistGenerator /// /// A high level Xcode generator library /// responsible for generating Xcode projects & workspaces. /// /// This library can be used in external tools that wish to /// leverage Tuist's Xcode generation features. /// /// Note: This library should be treated as **unstable** as /// it is still under development and may include breaking /// changes in future releases. .library(name: "TuistGenerator", targets: ["TuistGenerator"]), ], dependencies: [ .package(url: "https://github.com/tuist/XcodeProj", .upToNextMajor(from: "7.11.0")), .package(url: "https://github.com/IBM-Swift/BlueSignals", .upToNextMajor(from: "1.0.21")), .package(url: "https://github.com/ReactiveX/RxSwift.git", .upToNextMajor(from: "5.0.1")), .package(url: "https://github.com/rnine/Checksum.git", .upToNextMajor(from: "1.0.2")), .package(url: "https://github.com/apple/swift-log.git", .upToNextMajor(from: "1.2.0")), .package(url: "https://github.com/thii/xcbeautify.git", .upToNextMajor(from: "0.8.0")), .package(url: "https://github.com/krzyzanowskim/CryptoSwift", .upToNextMajor(from: "1.3.0")), .package(url: "https://github.com/stencilproject/Stencil", .branch("master")), .package(url: "https://github.com/kishikawakatsumi/KeychainAccess.git", .upToNextMajor(from: "4.1.0")), .package(url: "https://github.com/httpswift/swifter.git", .upToNextMajor(from: "1.4.7")), .package(url: "https://github.com/apple/swift-tools-support-core", .upToNextMinor(from: "0.1.1")), .package(url: "https://github.com/apple/swift-argument-parser", .exact("0.0.4")), ], targets: [ .target( name: "TuistCore", dependencies: ["SwiftToolsSupport-auto", "TuistSupport", "XcodeProj"] ), .target( name: "TuistCoreTesting", dependencies: ["TuistCore", "TuistSupportTesting"] ), .testTarget( name: "TuistCoreTests", dependencies: ["TuistCore", "TuistCoreTesting", "TuistSupportTesting"] ), .testTarget( name: "TuistCoreIntegrationTests", dependencies: ["TuistCore", "TuistSupportTesting"] ), .target( name: "TuistKit", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "ArgumentParser", "TuistSupport", "TuistGenerator", "TuistCache", "TuistAutomation", "ProjectDescription", "Signals", "RxSwift", "RxBlocking", "Checksum", "TuistLoader", "TuistInsights", "TuistScaffold", "TuistSigning", "TuistCloud"] ), .testTarget( name: "TuistKitTests", dependencies: ["TuistKit", "TuistAutomation", "TuistSupportTesting", "TuistCoreTesting", "ProjectDescription", "RxBlocking", "TuistLoaderTesting", "TuistCacheTesting", "TuistGeneratorTesting", "TuistScaffoldTesting", "TuistCloudTesting", "TuistAutomationTesting"] ), .testTarget( name: "TuistKitIntegrationTests", dependencies: ["TuistKit", "TuistCoreTesting", "TuistSupportTesting", "ProjectDescription", "RxBlocking", "TuistLoaderTesting", "TuistCloudTesting"] ), .target( name: "tuist", dependencies: ["TuistKit", "ProjectDescription"] ), .target( name: "TuistEnvKit", dependencies: ["ArgumentParser", "SwiftToolsSupport-auto", "TuistSupport", "RxSwift", "RxBlocking"] ), .testTarget( name: "TuistEnvKitTests", dependencies: ["TuistEnvKit", "TuistSupportTesting"] ), .target( name: "tuistenv", dependencies: ["TuistEnvKit"] ), .target( name: "ProjectDescription", dependencies: [] ), .testTarget( name: "ProjectDescriptionTests", dependencies: ["ProjectDescription", "TuistSupportTesting"] ), .target( name: "TuistSupport", dependencies: ["SwiftToolsSupport-auto", "RxSwift", "RxRelay", "Logging", "KeychainAccess", "Swifter", "Signals"] ), .target( name: "TuistSupportTesting", dependencies: ["TuistSupport", "SwiftToolsSupport-auto"] ), .testTarget( name: "TuistSupportTests", dependencies: ["TuistSupport", "TuistSupportTesting", "RxBlocking"] ), .testTarget( name: "TuistSupportIntegrationTests", dependencies: ["TuistSupport", "TuistSupportTesting", "RxBlocking"] ), .target( name: "TuistGenerator", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "TuistCore", "TuistSupport"] ), .target( name: "TuistGeneratorTesting", dependencies: ["TuistGenerator", "TuistCoreTesting", "TuistSupportTesting"] ), .testTarget( name: "TuistGeneratorTests", dependencies: ["TuistGenerator", "TuistSupportTesting", "TuistCoreTesting", "TuistGeneratorTesting"] ), .testTarget( name: "TuistGeneratorIntegrationTests", dependencies: ["TuistGenerator", "TuistSupportTesting", "TuistCoreTesting", "TuistGeneratorTesting"] ), .target( name: "TuistCache", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "TuistCore", "TuistSupport", "Checksum", "RxSwift"] ), .testTarget( name: "TuistCacheTests", dependencies: ["TuistCache", "TuistSupportTesting", "TuistCoreTesting", "RxBlocking", "TuistCacheTesting"] ), .target( name: "TuistCacheTesting", dependencies: ["TuistCache", "SwiftToolsSupport-auto", "TuistCore", "RxTest", "RxSwift"] ), .target( name: "TuistCloud", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "TuistCore", "TuistSupport", "Checksum", "RxSwift"] ), .testTarget( name: "TuistCloudTests", dependencies: ["TuistCloud", "TuistSupportTesting", "TuistCoreTesting", "RxBlocking"] ), .target( name: "TuistCloudTesting", dependencies: ["TuistCloud", "SwiftToolsSupport-auto", "TuistCore", "RxTest", "RxSwift"] ), .testTarget( name: "TuistCacheIntegrationTests", dependencies: ["TuistCache", "TuistSupportTesting", "RxBlocking", "TuistCoreTesting"] ), .target( name: "TuistScaffold", dependencies: ["SwiftToolsSupport-auto", "TuistCore", "TuistSupport", "Stencil"] ), .target( name: "TuistScaffoldTesting", dependencies: ["TuistScaffold"] ), .testTarget( name: "TuistScaffoldTests", dependencies: ["TuistScaffold", "TuistSupportTesting", "TuistCoreTesting"] ), .testTarget( name: "TuistScaffoldIntegrationTests", dependencies: ["TuistScaffold", "TuistSupportTesting"] ), .target( name: "TuistAutomation", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "TuistCore", "TuistSupport", "XcbeautifyLib"] ), .testTarget( name: "TuistAutomationTests", dependencies: ["TuistAutomation", "TuistSupportTesting"] ), .target( name: "TuistAutomationTesting", dependencies: ["TuistAutomation", "SwiftToolsSupport-auto", "TuistCore", "TuistCoreTesting", "ProjectDescription", "TuistSupportTesting"] ), .testTarget( name: "TuistAutomationIntegrationTests", dependencies: ["TuistAutomation", "TuistSupportTesting"] ), .target( name: "TuistInsights", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "TuistCore", "TuistSupport", "XcbeautifyLib"] ), .testTarget( name: "TuistInsightsTests", dependencies: ["TuistInsights", "TuistSupportTesting"] ), .testTarget( name: "TuistInsightsIntegrationTests", dependencies: ["TuistInsights", "TuistSupportTesting"] ), .target( name: "TuistSigning", dependencies: ["TuistCore", "TuistSupport", "CryptoSwift"] ), .testTarget( name: "TuistSigningTests", dependencies: ["TuistSigning", "TuistSupportTesting", "TuistCoreTesting"] ), .target( name: "TuistLoader", dependencies: ["XcodeProj", "SwiftToolsSupport-auto", "TuistCore", "TuistSupport", "ProjectDescription"] ), .target( name: "TuistLoaderTesting", dependencies: ["TuistLoader", "SwiftToolsSupport-auto", "TuistCore", "ProjectDescription", "TuistSupportTesting"] ), .testTarget( name: "TuistLoaderTests", dependencies: ["TuistLoader", "TuistSupportTesting", "TuistLoaderTesting", "TuistCoreTesting"] ), .testTarget( name: "TuistLoaderIntegrationTests", dependencies: ["TuistLoader", "TuistSupportTesting", "ProjectDescription"] ), .testTarget( name: "TuistIntegrationTests", dependencies: ["TuistGenerator", "TuistSupportTesting", "TuistSupport", "TuistCoreTesting", "TuistLoaderTesting"] ), ] )