diff --git a/.gen_config.yml b/.gen_config.yml deleted file mode 100644 index 5903124f..00000000 --- a/.gen_config.yml +++ /dev/null @@ -1,11 +0,0 @@ -local_sources: - - . - - Samples/SplitScreenContainer - - Samples/BackStackContainer - - Samples/ModalContainer - - Samples/AlertContainer - -platforms: - - ios -podspec_paths: - - Development.podspec diff --git a/.gitignore b/.gitignore index c70ff160..98ca2a2a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,20 +1,15 @@ # macOS .DS_Store -# Ruby Bundler +# Ruby and CocoaPods cruft .bundle/ - -# cocoapods-generate gen/ +Pods/ # Swift Package Manager .build/ .swiftpm/ -# CocoaPods -Pods/ -gen/ - # Xcode xcuserdata/ diff --git a/.ruby-version b/.ruby-version deleted file mode 100644 index be94e6f5..00000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -3.2.2 diff --git a/Development.podspec b/Development.podspec deleted file mode 100644 index cb754da2..00000000 --- a/Development.podspec +++ /dev/null @@ -1,195 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'Development' - s.version = '0.1.0' - s.summary = 'Infrastructure for Workflow-powered UI' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.swift_version = WORKFLOW_SWIFT_VERSION - s.dependency 'Workflow' - s.dependency 'WorkflowUI' - s.dependency 'WorkflowReactiveSwift' - s.dependency 'WorkflowRxSwift' - s.dependency 'WorkflowCombine' - s.dependency 'WorkflowConcurrency' - s.dependency 'WorkflowSwiftUIExperimental' - s.dependency 'ViewEnvironment' - s.dependency 'ViewEnvironmentUI' - - s.source_files = 'Samples/Dummy.swift' - - s.subspec 'Dummy' do |ss| - end - - s.default_subspecs = 'Dummy' - - dir = Pathname.new(__FILE__).dirname - snapshot_test_env = { - 'IMAGE_DIFF_DIR' => dir.join('FailureDiffs'), - 'FB_REFERENCE_IMAGE_DIR' => dir.join('Samples/SnapshotTests/ReferenceImages'), - } - - s.scheme = { - environment_variables: snapshot_test_env - } - - s.app_spec 'SampleApp' do |app_spec| - app_spec.source_files = 'Samples/SampleApp/Sources/**/*.swift' - app_spec.resources = 'Samples/SampleApp/Resources/**/*.swift' - end - - s.test_spec 'WorkflowTesting' do |test_spec| - test_spec.requires_app_host = true - test_spec.dependency 'WorkflowTesting' - test_spec.source_files = 'WorkflowTesting/Tests/**/*.swift' - end - - s.app_spec 'SampleTicTacToe' do |app_spec| - app_spec.source_files = 'Samples/TicTacToe/Sources/**/*.swift' - app_spec.resources = 'Samples/TicTacToe/Resources/**/*' - app_spec.dependency 'BackStackContainer' - app_spec.dependency 'ModalContainer' - app_spec.dependency 'AlertContainer' - end - - s.test_spec 'TicTacToeTests' do |test_spec| - test_spec.dependency 'Development/SampleTicTacToe' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowReactiveSwiftTesting' - test_spec.dependency 'BackStackContainer' - test_spec.dependency 'ModalContainer' - test_spec.dependency 'AlertContainer' - test_spec.requires_app_host = true - test_spec.app_host_name = 'Development/SampleTicTacToe' - test_spec.source_files = 'Samples/TicTacToe/Tests/**/*.swift' - end - - s.app_spec 'SampleSplitScreen' do |app_spec| - app_spec.dependency 'SplitScreenContainer' - app_spec.source_files = 'Samples/SplitScreenContainer/DemoApp/**/*.swift' - - app_spec.scheme = { - environment_variables: snapshot_test_env - } - end - - s.test_spec 'SplitScreenTests' do |test_spec| - test_spec.dependency 'SplitScreenContainer' - test_spec.dependency 'Development/SampleSplitScreen' - test_spec.app_host_name = 'Development/SampleSplitScreen' - test_spec.requires_app_host = true - test_spec.source_files = 'Samples/SplitScreenContainer/SnapshotTests/**/*.swift' - - test_spec.framework = 'XCTest' - - test_spec.dependency 'iOSSnapshotTestCase' - - test_spec.scheme = { - environment_variables: snapshot_test_env - } - end - - s.test_spec 'ViewEnvironmentUITests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'ViewEnvironmentUI/Tests/**/*.swift' - test_spec.framework = 'XCTest' - end - - s.test_spec 'WorkflowSwiftUIExperimentalTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowSwiftUIExperimental/Tests/**/*.swift' - test_spec.framework = 'XCTest' - end - - s.test_spec 'WorkflowTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'Workflow/Tests/**/*.swift' - test_spec.framework = 'XCTest' - end - - s.test_spec 'WorkflowUITests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowUI/Tests/**/*.swift' - test_spec.framework = 'XCTest' - end - - s.test_spec 'WorkflowReactiveSwiftTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowReactiveSwift/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowReactiveSwiftTesting' - end - - s.test_spec 'WorkflowReactiveSwiftTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowReactiveSwift/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowReactiveSwiftTesting' - end - - s.test_spec 'WorkflowRxSwiftTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowRxSwift/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowRxSwiftTesting' - end - - s.test_spec 'WorkflowRxSwiftTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowRxSwift/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowRxSwiftTesting' - end - - s.app_spec 'WorkflowCombineSampleApp' do |app_spec| - app_spec.source_files = 'Samples/WorkflowCombineSampleApp/WorkflowCombineSampleApp/**/*.swift' - end - - s.test_spec 'WorkflowCombineSampleAppTests' do |test_spec| - test_spec.dependency 'Development/WorkflowCombineSampleApp' - test_spec.dependency 'WorkflowTesting' - test_spec.requires_app_host = true - test_spec.app_host_name = 'Development/WorkflowCombineSampleApp' - test_spec.source_files = 'Samples/WorkflowCombineSampleApp/WorkflowCombineSampleAppUnitTests/**/*.swift' - end - - s.test_spec 'WorkflowCombineTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowCombine/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowCombineTesting' - end - - s.test_spec 'WorkflowCombineTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowCombine/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowCombineTesting' - end - - s.test_spec 'WorkflowConcurrencyTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowConcurrency/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - end - - s.test_spec 'WorkflowConcurrencyTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowConcurrency/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.dependency 'WorkflowConcurrencyTesting' - end -end diff --git a/Gemfile b/Gemfile deleted file mode 100644 index d6e092e5..00000000 --- a/Gemfile +++ /dev/null @@ -1,7 +0,0 @@ -source 'https://rubygems.org' - -gem 'cocoapods-trunk', '>=1.6.0' -gem 'cocoapods' - -gem 'cocoapods-generate' -gem 'xcpretty' diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 569fd553..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,118 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - CFPropertyList (3.0.6) - rexml - activesupport (7.1.3) - base64 - bigdecimal - concurrent-ruby (~> 1.0, >= 1.0.2) - connection_pool (>= 2.2.5) - drb - i18n (>= 1.6, < 2) - minitest (>= 5.1) - mutex_m - tzinfo (~> 2.0) - addressable (2.8.6) - public_suffix (>= 2.0.2, < 6.0) - algoliasearch (1.27.5) - httpclient (~> 2.8, >= 2.8.3) - json (>= 1.5.1) - atomos (0.1.3) - base64 (0.2.0) - bigdecimal (3.1.6) - claide (1.1.0) - cocoapods (1.15.2) - addressable (~> 2.8) - claide (>= 1.0.2, < 2.0) - cocoapods-core (= 1.15.2) - cocoapods-deintegrate (>= 1.0.3, < 2.0) - cocoapods-downloader (>= 2.1, < 3.0) - cocoapods-plugins (>= 1.0.0, < 2.0) - cocoapods-search (>= 1.0.0, < 2.0) - cocoapods-trunk (>= 1.6.0, < 2.0) - cocoapods-try (>= 1.1.0, < 2.0) - colored2 (~> 3.1) - escape (~> 0.0.4) - fourflusher (>= 2.3.0, < 3.0) - gh_inspector (~> 1.0) - molinillo (~> 0.8.0) - nap (~> 1.0) - ruby-macho (>= 2.3.0, < 3.0) - xcodeproj (>= 1.23.0, < 2.0) - cocoapods-core (1.15.2) - activesupport (>= 5.0, < 8) - addressable (~> 2.8) - algoliasearch (~> 1.0) - concurrent-ruby (~> 1.1) - fuzzy_match (~> 2.0.4) - nap (~> 1.0) - netrc (~> 0.11) - public_suffix (~> 4.0) - typhoeus (~> 1.0) - cocoapods-deintegrate (1.0.5) - cocoapods-disable-podfile-validations (0.2.0) - cocoapods-downloader (2.1) - cocoapods-generate (2.2.3) - cocoapods-disable-podfile-validations (>= 0.1.1, < 0.3.0) - cocoapods-plugins (1.0.0) - nap - cocoapods-search (1.0.1) - cocoapods-trunk (1.6.0) - nap (>= 0.8, < 2.0) - netrc (~> 0.11) - cocoapods-try (1.2.0) - colored2 (3.1.2) - concurrent-ruby (1.2.3) - connection_pool (2.4.1) - drb (2.2.0) - ruby2_keywords - escape (0.0.4) - ethon (0.16.0) - ffi (>= 1.15.0) - ffi (1.16.3) - fourflusher (2.3.1) - fuzzy_match (2.0.4) - gh_inspector (1.1.3) - httpclient (2.8.3) - i18n (1.14.1) - concurrent-ruby (~> 1.0) - json (2.7.1) - minitest (5.22.2) - molinillo (0.8.0) - mutex_m (0.2.0) - nanaimo (0.3.0) - nap (1.1.0) - netrc (0.11.0) - public_suffix (4.0.7) - rexml (3.3.6) - strscan - rouge (2.0.7) - ruby-macho (2.5.1) - ruby2_keywords (0.0.5) - strscan (3.1.0) - typhoeus (1.4.1) - ethon (>= 0.9.0) - tzinfo (2.0.6) - concurrent-ruby (~> 1.0) - xcodeproj (1.25.0) - CFPropertyList (>= 2.3.3, < 4.0) - atomos (~> 0.1.3) - claide (>= 1.0.2, < 2.0) - colored2 (~> 3.1) - nanaimo (~> 0.3.0) - rexml (>= 3.3.2, < 4.0) - xcpretty (0.3.0) - rouge (~> 2.0.7) - -PLATFORMS - ruby - -DEPENDENCIES - cocoapods - cocoapods-generate - cocoapods-trunk (>= 1.6.0) - xcpretty - -BUNDLED WITH - 2.5.13 diff --git a/README.md b/README.md index 14bd4141..e4ff7c1b 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,7 @@ -# workflow +# Workflow for Swift ![Swift CI](https://github.com/square/workflow-swift/workflows/Swift%20CI/badge.svg) [![GitHub license](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0) -[![CocoaPods compatible](https://img.shields.io/cocoapods/v/Workflow.svg)](https://cocoapods.org/pods/Workflow) A unidirectional data flow library for Swift and [Kotlin](https://github.com/square/workflow-kotlin), emphasizing: @@ -28,25 +27,13 @@ in `Package.swift`: ```swift dependencies: [ - .package(url: "git@github.com:square/workflow-swift.git", from: "1.0.0-rc.1") + .package(url: "https://github.com/square/workflow-swift", from: "3.11.0") ] ``` In Xcode 11+, add Workflow directly as a dependency to your project with `File` > `Swift Packages` > `Add Package Dependency...`. Provide the git URL when prompted: `git@github.com:square/workflow-swift.git`. -### CocoaPods - -[![CocoaPods compatible](https://img.shields.io/cocoapods/v/Workflow.svg)](https://cocoapods.org/pods/Workflow) - -If you use CocoaPods to manage your dependencies, simply add Workflow and WorkflowUI to your -Podfile: - -```ruby -pod 'Workflow' -pod 'WorkflowUI' -``` - ## Resources * [Documentation](https://square.github.io/workflow/) diff --git a/RELEASING.md b/RELEASING.md index ce1643db..4d497c4a 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -2,55 +2,13 @@ ## Production Releases -### Updating the release -1. Update `WORKFLOW_VERSION` in `version.rb` based on [`semver`](https://semver.org/). +Workflow is now vended exclusively via Swift Package Manager. -1. Create a PR with the version change and merge to `main`. - -1. Create the release on GitHub: +Create the release on GitHub: 1. Go to the [Releases](https://github.com/square/workflow-swift/releases) and `Draft a new release`. 1. `Choose a tag` and create a tag for the new version. ex: `v1.0.0`. 1. `Generate release notes`. 1. Ensure the `Title` corresponds to the version we're publishing and the generated `Release Notes` are accurate. 1. Hit `Publish release`. -At this point, the new release is available and can be consumed using the Swift Package Manager. - [Square specific] To make the new version available internally, [bump the version](https://go/spm-bump-dependency) through SPM. - -### Publishing to CocoaPods - -1. Xcode 15.4 is the currently recommended version to use to publish all pods. Due to a bug in CocoaPods, you will also need to download Xcode 14.2 and copy `Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc`from within the Xcode 14.2 app to the same location in Xcode 15.4. - -1. Make sure you are set up with [`bundle exec pod trunk`](https://guides.cocoapods.org/making/getting-setup-with-trunk.html) and your CocoaPods account is a contributor for all pods. If you need to be added as a contributor, please [open a ticket requesting access](https://github.com/square/workflow-swift/issues/new). - 1. For Squares, membership is managed through the `workflow-swift-owners` registry group. Please request access to that group through Registry. - 1. Once you have access, you can register a session with `bundle exec pod trunk` using the group e-mail alias `workflow-swift-owners@squareup.com`: -`bundle exec pod trunk register workflow-swift-owners@squareup.com 'Workflow Swift Owners' --description='Your computer description'`. - 1. You should receive an email from CocoaPods to confirm your session before you procede. - -1. To avoid possible headaches when publishing podspecs, validation can be performed first. - 1. Make sure you're using Xcode 15.4 in the command line: `sudo xcode-select -s Path/to/Xcode15.4`. - 1. Run the following: - ```bash - bundle exec pod lib lint Workflow.podspec ViewEnvironment.podspec ViewEnvironmentUI.podspec WorkflowTesting.podspec WorkflowReactiveSwift.podspec WorkflowUI.podspec WorkflowRxSwift.podspec WorkflowReactiveSwiftTesting.podspec WorkflowRxSwiftTesting.podspec WorkflowSwiftUIExperimental.podspec WorkflowCombine.podspec WorkflowCombineTesting.podspec WorkflowConcurrency.podspec WorkflowConcurrencyTesting.podspec - ``` - -1. Once validation passes on all pods, you can publish to CocoaPods. - ```bash - bundle exec pod trunk push Workflow.podspec --synchronous - bundle exec pod trunk push WorkflowTesting.podspec --synchronous - bundle exec pod trunk push WorkflowReactiveSwift.podspec --synchronous - bundle exec pod trunk push ViewEnvironment.podspec --synchronous - bundle exec pod trunk push ViewEnvironmentUI.podspec --synchronous - bundle exec pod trunk push WorkflowUI.podspec --synchronous - bundle exec pod trunk push WorkflowRxSwift.podspec --synchronous - bundle exec pod trunk push WorkflowReactiveSwiftTesting.podspec --synchronous - bundle exec pod trunk push WorkflowRxSwiftTesting.podspec --synchronous - bundle exec pod trunk push WorkflowSwiftUIExperimental.podspec --synchronous - bundle exec pod trunk push WorkflowCombine.podspec --synchronous - bundle exec pod trunk push WorkflowCombineTesting.podspec --synchronous - bundle exec pod trunk push WorkflowConcurrency.podspec --synchronous - bundle exec pod trunk push WorkflowConcurrencyTesting.podspec --synchronous - ``` - -1. [Square specific] To make the new version available internally, update the [CocoaPods spec repo](https://go/cocoapod-specs). diff --git a/ViewEnvironment.podspec b/ViewEnvironment.podspec deleted file mode 100644 index 8cfec33e..00000000 --- a/ViewEnvironment.podspec +++ /dev/null @@ -1,23 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'ViewEnvironment' - s.version = WORKFLOW_VERSION - s.summary = 'A collection of environment values propagated through a view hierarchy.' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - s.watchos.deployment_target = WORKFLOW_WATCHOS_DEPLOYMENT_TARGET - - s.source_files = 'ViewEnvironment/Sources/**/*.swift' - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } -end diff --git a/ViewEnvironmentUI.podspec b/ViewEnvironmentUI.podspec deleted file mode 100644 index 3206a275..00000000 --- a/ViewEnvironmentUI.podspec +++ /dev/null @@ -1,36 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'ViewEnvironmentUI' - s.version = WORKFLOW_VERSION - s.summary = 'Provides a way to propagate a ViewEnvironment through an imperative hierarchy' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'ViewEnvironmentUI/Sources/**/*.swift' - - s.dependency 'ViewEnvironment', "#{s.version}" - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'ViewEnvironmentUI/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - - # Create an app host so that we can host - # view or view controller based tests in a real environment. - test_spec.requires_app_host = true - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/Workflow.podspec b/Workflow.podspec deleted file mode 100644 index ad5df549..00000000 --- a/Workflow.podspec +++ /dev/null @@ -1,31 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'Workflow' - s.version = WORKFLOW_VERSION - s.summary = 'Reactive application architecture' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'Workflow/Sources/*.swift' - - s.dependency 'ReactiveSwift', '~> 7.1.1' - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'Workflow/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - end - -end diff --git a/WorkflowCombine.podspec b/WorkflowCombine.podspec deleted file mode 100644 index 52058d3a..00000000 --- a/WorkflowCombine.podspec +++ /dev/null @@ -1,24 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowCombine' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Combined-powered Workers' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowCombine/Sources/*.swift' - - s.dependency 'Workflow', "#{s.version}" - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } -end diff --git a/WorkflowCombineTesting.podspec b/WorkflowCombineTesting.podspec deleted file mode 100644 index 48a0dd7a..00000000 --- a/WorkflowCombineTesting.podspec +++ /dev/null @@ -1,38 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowCombineTesting' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Combined-powered Workers' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowCombine/Testing/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.dependency 'WorkflowCombine', "#{s.version}" - s.dependency 'WorkflowTesting', "#{s.version}" - - s.framework = 'XCTest' - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'WorkflowCombineTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowCombine/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.library = 'swiftos' - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/WorkflowConcurrency.podspec b/WorkflowConcurrency.podspec deleted file mode 100644 index 2503d220..00000000 --- a/WorkflowConcurrency.podspec +++ /dev/null @@ -1,26 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowConcurrency' - s.version = WORKFLOW_VERSION - - s.summary = 'Infrastructure for Concurrency-powered Workers' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowConcurrency/Sources/*.swift' - - s.dependency 'Workflow', "#{s.version}" - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - end diff --git a/WorkflowConcurrencyTesting.podspec b/WorkflowConcurrencyTesting.podspec deleted file mode 100644 index 025a5c46..00000000 --- a/WorkflowConcurrencyTesting.podspec +++ /dev/null @@ -1,38 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowConcurrencyTesting' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Concurrency-powered Workers' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowConcurrency/Testing/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.dependency 'WorkflowConcurrency', "#{s.version}" - s.dependency 'WorkflowTesting', "#{s.version}" - - s.framework = 'XCTest' - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'WorkflowConcurrencyTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowConcurrency/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.library = 'swiftos' - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/WorkflowReactiveSwift.podspec b/WorkflowReactiveSwift.podspec deleted file mode 100644 index a223a147..00000000 --- a/WorkflowReactiveSwift.podspec +++ /dev/null @@ -1,33 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowReactiveSwift' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Workflow-powered Swift' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowReactiveSwift/Sources/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'WorkflowReactiveSwift/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - test_spec.dependency 'WorkflowTesting', "#{s.version}" - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/WorkflowReactiveSwiftTesting.podspec b/WorkflowReactiveSwiftTesting.podspec deleted file mode 100644 index 50a48607..00000000 --- a/WorkflowReactiveSwiftTesting.podspec +++ /dev/null @@ -1,38 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowReactiveSwiftTesting' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Workflow-powered Swift' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowReactiveSwift/Testing/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.dependency 'WorkflowReactiveSwift', "#{s.version}" - s.dependency 'WorkflowTesting', "#{s.version}" - - s.framework = 'XCTest' - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'WorkflowReactiveSwiftTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowReactiveSwift/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - test_spec.dependency 'WorkflowTesting' - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/WorkflowRxSwift.podspec b/WorkflowRxSwift.podspec deleted file mode 100644 index 4b310e3c..00000000 --- a/WorkflowRxSwift.podspec +++ /dev/null @@ -1,35 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowRxSwift' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Workflow-powered Swift' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowRxSwift/Sources/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.dependency 'RxSwift', '~> 6.6' - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'WorkflowRxSwift/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - test_spec.dependency 'WorkflowTesting', "#{s.version}" - test_spec.dependency 'WorkflowReactiveSwift', "#{s.version}" - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/WorkflowRxSwiftTesting.podspec b/WorkflowRxSwiftTesting.podspec deleted file mode 100644 index 8f00a153..00000000 --- a/WorkflowRxSwiftTesting.podspec +++ /dev/null @@ -1,37 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowRxSwiftTesting' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Workflow-powered Swift' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowRxSwift/Testing/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.dependency 'WorkflowRxSwift', "#{s.version}" - s.dependency 'WorkflowTesting', "#{s.version}" - - s.framework = 'XCTest' - - # https://github.com/ReactiveX/RxSwift/pull/2475 - # s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'WorkflowRxSwiftTestingTests' do |test_spec| - test_spec.requires_app_host = true - test_spec.source_files = 'WorkflowRxSwift/TestingTests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.dependency 'WorkflowTesting' - test_spec.library = 'swiftos' - end -end diff --git a/WorkflowSwiftUIExperimental.podspec b/WorkflowSwiftUIExperimental.podspec deleted file mode 100644 index 380adba2..00000000 --- a/WorkflowSwiftUIExperimental.podspec +++ /dev/null @@ -1,37 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowSwiftUIExperimental' - s.version = '0.5' - s.summary = 'Infrastructure for Workflow-powered SwiftUI' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "swiftui-experimental/v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowSwiftUIExperimental/Sources/*.swift' - - s.dependency 'Workflow', "~> #{WORKFLOW_MAJOR_VERSION}.0" - s.dependency 'WorkflowUI', "~> #{WORKFLOW_MAJOR_VERSION}.0" - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'WorkflowSwiftUIExperimental/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - - # Create an app host so that we can host - # view or view controller based tests in a real environment. - test_spec.requires_app_host = true - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end - end diff --git a/WorkflowTesting.podspec b/WorkflowTesting.podspec deleted file mode 100644 index 7f9d33f6..00000000 --- a/WorkflowTesting.podspec +++ /dev/null @@ -1,34 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowTesting' - s.version = WORKFLOW_VERSION - s.summary = 'Reactive application architecture' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowTesting/Sources/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.framework = 'XCTest' - - s.pod_target_xcconfig = { - 'APPLICATION_EXTENSION_API_ONLY' => 'YES', - 'ENABLE_TESTING_SEARCH_PATHS' => 'YES', - } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'WorkflowTesting/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.libraries = 'swiftDispatch', 'swiftFoundation', 'swiftos' - end -end diff --git a/WorkflowUI.podspec b/WorkflowUI.podspec deleted file mode 100644 index c59e354f..00000000 --- a/WorkflowUI.podspec +++ /dev/null @@ -1,39 +0,0 @@ -require_relative('version') - -Pod::Spec.new do |s| - s.name = 'WorkflowUI' - s.version = WORKFLOW_VERSION - s.summary = 'Infrastructure for Workflow-powered UI' - s.homepage = 'https://www.github.com/square/workflow-swift' - s.license = 'Apache License, Version 2.0' - s.author = 'Square' - s.source = { :git => 'https://github.com/square/workflow-swift.git', :tag => "v#{s.version}" } - - # 1.7 is needed for `swift_versions` support - s.cocoapods_version = '>= 1.7.0' - - s.swift_versions = [WORKFLOW_SWIFT_VERSION] - s.ios.deployment_target = WORKFLOW_IOS_DEPLOYMENT_TARGET - s.osx.deployment_target = WORKFLOW_MACOS_DEPLOYMENT_TARGET - - s.source_files = 'WorkflowUI/Sources/**/*.swift' - - s.dependency 'Workflow', "#{s.version}" - s.dependency 'ViewEnvironment', "#{s.version}" - s.dependency 'ViewEnvironmentUI', "#{s.version}" - - s.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'YES' } - - s.test_spec 'Tests' do |test_spec| - test_spec.source_files = 'WorkflowUI/Tests/**/*.swift' - test_spec.framework = 'XCTest' - test_spec.library = 'swiftos' - test_spec.dependency 'WorkflowReactiveSwift', "#{s.version}" - - # Create an app host so that we can host - # view or view controller based tests in a real environment. - test_spec.requires_app_host = true - - test_spec.pod_target_xcconfig = { 'APPLICATION_EXTENSION_API_ONLY' => 'NO' } - end -end diff --git a/version.rb b/version.rb deleted file mode 100644 index 7d48ccb4..00000000 --- a/version.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -# The primary version numbers for Workflow-related pods -WORKFLOW_MAJOR_VERSION ||= '3' -WORKFLOW_MINOR_VERSION ||= '12' -WORKFLOW_PATCH_VERSION ||= '0' -WORKFLOW_VERSION ||= "#{WORKFLOW_MAJOR_VERSION}.#{WORKFLOW_MINOR_VERSION}.#{WORKFLOW_PATCH_VERSION}" - -# iOS deployment target -WORKFLOW_IOS_DEPLOYMENT_TARGET ||= '15.0' - -# macOS deployment target -WORKFLOW_MACOS_DEPLOYMENT_TARGET ||= '10.15' - -# watchOS deployment target -WORKFLOW_WATCHOS_DEPLOYMENT_TARGET ||= '8.0' - -# Required Swift version -WORKFLOW_SWIFT_VERSION ||= '5.7'