From b90bd8f8a5aa63df5f2c9114701d1a02f291e641 Mon Sep 17 00:00:00 2001 From: Andrew Watt <100192+watt@users.noreply.github.com> Date: Tue, 19 Nov 2024 10:29:21 -0800 Subject: [PATCH] build: remove cocoapods (#312) Removes podspecs and all the CocoaPods accoutrements I could find. Workflow will be distributed exclusively via SwiftPM. --- .gen_config.yml | 11 -- .gitignore | 9 +- .ruby-version | 1 - Development.podspec | 195 --------------------------- Gemfile | 7 - Gemfile.lock | 118 ---------------- README.md | 17 +-- RELEASING.md | 46 +------ ViewEnvironment.podspec | 23 ---- ViewEnvironmentUI.podspec | 36 ----- Workflow.podspec | 31 ----- WorkflowCombine.podspec | 24 ---- WorkflowCombineTesting.podspec | 38 ------ WorkflowConcurrency.podspec | 26 ---- WorkflowConcurrencyTesting.podspec | 38 ------ WorkflowReactiveSwift.podspec | 33 ----- WorkflowReactiveSwiftTesting.podspec | 38 ------ WorkflowRxSwift.podspec | 35 ----- WorkflowRxSwiftTesting.podspec | 37 ----- WorkflowSwiftUIExperimental.podspec | 37 ----- WorkflowTesting.podspec | 34 ----- WorkflowUI.podspec | 39 ------ version.rb | 19 --- 23 files changed, 6 insertions(+), 886 deletions(-) delete mode 100644 .gen_config.yml delete mode 100644 .ruby-version delete mode 100644 Development.podspec delete mode 100644 Gemfile delete mode 100644 Gemfile.lock delete mode 100644 ViewEnvironment.podspec delete mode 100644 ViewEnvironmentUI.podspec delete mode 100644 Workflow.podspec delete mode 100644 WorkflowCombine.podspec delete mode 100644 WorkflowCombineTesting.podspec delete mode 100644 WorkflowConcurrency.podspec delete mode 100644 WorkflowConcurrencyTesting.podspec delete mode 100644 WorkflowReactiveSwift.podspec delete mode 100644 WorkflowReactiveSwiftTesting.podspec delete mode 100644 WorkflowRxSwift.podspec delete mode 100644 WorkflowRxSwiftTesting.podspec delete mode 100644 WorkflowSwiftUIExperimental.podspec delete mode 100644 WorkflowTesting.podspec delete mode 100644 WorkflowUI.podspec delete mode 100644 version.rb diff --git a/.gen_config.yml b/.gen_config.yml deleted file mode 100644 index 5903124f3..000000000 --- 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 c70ff1608..98ca2a2a4 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 be94e6f53..000000000 --- a/.ruby-version +++ /dev/null @@ -1 +0,0 @@ -3.2.2 diff --git a/Development.podspec b/Development.podspec deleted file mode 100644 index cb754da2b..000000000 --- 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 d6e092e5f..000000000 --- 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 569fd553b..000000000 --- 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 14bd41415..e4ff7c1b6 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 ce1643db3..4d497c4af 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 8cfec33ee..000000000 --- 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 3206a2758..000000000 --- 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 ad5df549f..000000000 --- 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 52058d3ad..000000000 --- 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 48a0dd7ae..000000000 --- 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 2503d2208..000000000 --- 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 025a5c464..000000000 --- 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 a223a147e..000000000 --- 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 50a486075..000000000 --- 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 4b310e3cf..000000000 --- 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 8f00a1539..000000000 --- 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 380adba21..000000000 --- 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 7f9d33f66..000000000 --- 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 c59e354f4..000000000 --- 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 7d48ccb4b..000000000 --- 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'