From 85c3a532db53178568840d18a68e9853b4ad7696 Mon Sep 17 00:00:00 2001 From: Morgan Zellers Date: Fri, 4 Feb 2022 09:49:29 -0600 Subject: [PATCH 1/7] Setting result bundle for scan temporarily until Fastlane is updated in the pipeline. --- .github/fastlane/Fastfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/fastlane/Fastfile b/.github/fastlane/Fastfile index 93f97c7c5..a5cb8bea3 100644 --- a/.github/fastlane/Fastfile +++ b/.github/fastlane/Fastfile @@ -1,4 +1,4 @@ -fastlane_version "2.27.0" +fastlane_version "2.201.2" default_platform :ios platform :ios do @@ -13,6 +13,7 @@ platform :ios do scheme: 'SwiftCurrent', workspace: '../SwiftCurrent.xcworkspace', derived_data_path: "~/Library/Developer/Xcode/DerivedData", + result_bundle: true ) end From 81f67622e7bea8a8fedf4934a93d81b51df874d7 Mon Sep 17 00:00:00 2001 From: Morgan Zellers Date: Tue, 29 Mar 2022 09:24:28 -0500 Subject: [PATCH 2/7] Changing excluded pattern to just base url. --- .github/workflows/validate_urls.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/validate_urls.yml b/.github/workflows/validate_urls.yml index ec86c9db4..711310855 100644 --- a/.github/workflows/validate_urls.yml +++ b/.github/workflows/validate_urls.yml @@ -27,7 +27,8 @@ jobs: git_path: https://github.com/wwt/SwiftCurrent branch: ${{ env.GIT_BRANCH }} file_types: .md,.swift - exclude_urls: https://github.com/wwt/SwiftCurrent/discussions/new,https://img.shields.io/cocoapods/v/SwiftCurrent.svg?style=popout,https://img.shields.io/github/license/wwt/SwiftCurrent,https://img.shields.io/github/stars/wwt/SwiftCurrent?style=social,https://img.shields.io/github/issues-pr/wwt/SwiftCurrent?color=bright-green + exclude_urls: https://github.com/wwt/SwiftCurrent/discussions/new + exclude_patterns: https://img.shields.io,https://codecov.io - name: slack-send if: failure() uses: slackapi/slack-github-action@v1.16.0 @@ -46,7 +47,8 @@ jobs: git_path: https://github.com/wwt/SwiftCurrent branch: gh-pages file_types: .html,.css,.scss - exclude_urls: https://github.com/wwt/SwiftCurrent/discussions/new,https://github.com/realm/jazzy,https://realm.io,https://github.com/wwt/SwiftCurrent,https://img.shields.io/cocoapods/v/SwiftCurrent.svg?style=popout,https://img.shields.io/github/license/wwt/SwiftCurrent,https://img.shields.io/github/stars/wwt/SwiftCurrent?style=social,https://img.shields.io/github/issues-pr/wwt/SwiftCurrent?color=bright-green + exclude_urls: https://github.com/wwt/SwiftCurrent/discussions/new,https://github.com/realm/jazzy,https://realm.io,https://github.com/wwt/SwiftCurrent + exclude_patterns: https://img.shields.io,https://codecov.io - name: slack-send if: failure() uses: slackapi/slack-github-action@v1.16.0 From a30f98405c0c6aefab458242967f2cf54291bab5 Mon Sep 17 00:00:00 2001 From: Morgan Zellers Date: Tue, 29 Mar 2022 10:47:33 -0500 Subject: [PATCH 3/7] Removing video from readme and references. --- .../DocsPostProcessor/DocsPostProcessor.swift | 16 ---------------- README.md | 18 +++++++++++++----- 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/.github/DocsPostProcessor/Sources/DocsPostProcessor/DocsPostProcessor.swift b/.github/DocsPostProcessor/Sources/DocsPostProcessor/DocsPostProcessor.swift index 87ed69d9f..df9e9238d 100644 --- a/.github/DocsPostProcessor/Sources/DocsPostProcessor/DocsPostProcessor.swift +++ b/.github/DocsPostProcessor/Sources/DocsPostProcessor/DocsPostProcessor.swift @@ -10,9 +10,6 @@ struct DocsPostProcessor: ParsableCommand { @Flag(help: "Replaces overview in the left navigation with rendered README") var replaceOverviewWithReadme = false - @Flag(help: "Replaces readme video link with an embedded vimeo player") - var replaceReadmeVideoWithVimeoEmbed = false - @Argument(help: "The file, or directory with the HTML to change") var path: String @@ -34,10 +31,6 @@ struct DocsPostProcessor: ParsableCommand { try replaceOverviewWithReadme(document: doc) print("Replaced overview with README for: \(file.absoluteString)") } - if replaceReadmeVideoWithVimeoEmbed, file.lastPathComponent == "index.html" { - try replaceReadmeVideoWithVimeoEmbed(document: doc) - print("Replaced readme video with vimeo embed") - } try doc.html().write(to: file, atomically: true, encoding: .utf8) } } @@ -53,13 +46,4 @@ struct DocsPostProcessor: ParsableCommand { } } } - - func replaceReadmeVideoWithVimeoEmbed(document: Document) throws { - if let article = try? document.select("article").first() { - let link = try article.getElementsByAttributeValue("href", "https://user-images.githubusercontent.com/33705774/132767762-7447753c-feba-4ef4-b54c-38bfe9d1ee82.mp4") - try link.wrap(""" -
- """) - } - } } diff --git a/README.md b/README.md index aaa3e8f35..a16c2d83b 100644 --- a/README.md +++ b/README.md @@ -8,16 +8,14 @@ [![Build Status](https://github.com/wwt/SwiftCurrent/actions/workflows/CI.yml/badge.svg?branch=main)](https://github.com/wwt/SwiftCurrent/actions?query=branch%3Amain) [![Code Coverage](https://codecov.io/gh/wwt/SwiftCurrent/branch/main/graph/badge.svg?token=04Q5KSHict)](https://codecov.io/gh/wwt/SwiftCurrent) - # Welcome SwiftCurrent is a library that lets you easily manage journeys through your Swift application. It comes with built-in support for UIKit and SwiftUI app-routing. In SwiftCurrent, workflows are a sequence of operations. Those operations usually display views in an application. The workflow describes the sequence of views and manages which view should come next. Your views are responsible for performing necessary tasks before proceeding forward in the workflow, like processing user input. -https://user-images.githubusercontent.com/33705774/132767762-7447753c-feba-4ef4-b54c-38bfe9d1ee82.mp4 - ### Why Should I Use SwiftCurrent? + Architectural patterns and libraries that attempt to create a separation between views and workflows already exist. However, SwiftCurrent is different. We took a new design approach that focuses on: - **A Developer-Friendly API**. The library was built with developers in mind. It started with a group of developers talking about the code experience they desired. Then the library team took on whatever complexities were necessary to bring them that experience. @@ -25,13 +23,16 @@ Architectural patterns and libraries that attempt to create a separation between - **Minimal Boilerplate**. We have hidden this as much as possible. We hate it as much as you do and are constantly working on cutting the cruft. #### From There, We Created a Library + This library: + - **Isolates Your Views**. Design your views so that they are unaware of the view that will come next. - **Easily Reorders Views**. Changing view order is as easy as ⌘+⌥+\[ (moving the line up or down). - **Composes Workflows Together**. Create branching flows easily by joining workflows together. - **Creates Conditional Flows**. Make your flows robust and handle ever-changing designs. Need a screen to only to show up sometimes? Need a flow for person A and another for person B? We've got you covered. # Quick Start + Why show a quick start when we have an example app? Because it's so easy to get started, we can drop in two code snippets, and you're ready to go! This quick start uses Swift Package Manager and SwiftUI, but for other approaches, [see our installation instructions](https://wwt.github.io/SwiftCurrent/installation.html). ```swift @@ -40,7 +41,9 @@ Why show a quick start when we have an example app? Because it's so easy to get .product(name: "SwiftCurrent", package: "SwiftCurrent"), .product(name: "SwiftCurrent_SwiftUI", package: "SwiftCurrent") ``` + Then make your first FlowRepresentable view: + ```swift import SwiftCurrent import SwiftUI @@ -56,7 +59,9 @@ struct ExampleView: View, PassthroughFlowRepresentable { var body: some View { Text("This is ExampleView!") } } ``` -Then from your `ContentView` or whatever view (or app) you'd like to contain the workflow, add the following view to the body: + +Then from your `ContentView` or whatever view (or app) you'd like to contain the workflow, add the following view to the body: + ```swift import SwiftCurrent_SwiftUI // ... @@ -73,10 +78,13 @@ var body: some View { And just like that, you've got a workflow! You can now add more items to it or reorder the items that are there. To understand more of how this works, [check out our developer docs.](https://wwt.github.io/SwiftCurrent/How%20to%20use%20SwiftCurrent%20with%20SwiftUI.html) # Look at Our Example Apps -We have [example apps](https://github.com/wwt/SwiftCurrent/tree/main/ExampleApps) for both SwiftUI and UIKit that show SwiftCurrent in action. They've already been tested, so you can see what it's like to test SwiftCurrent code. To run it locally, start by cloning the repo, open `SwiftCurrent.xcworkspace` and then run the `SwiftUIExample` scheme or the `UIKitExample` scheme. + +We have [example apps](https://github.com/wwt/SwiftCurrent/tree/main/ExampleApps) for both SwiftUI and UIKit that show SwiftCurrent in action. They've already been tested, so you can see what it's like to test SwiftCurrent code. To run it locally, start by cloning the repo, open `SwiftCurrent.xcworkspace` and then run the `SwiftUIExample` scheme or the `UIKitExample` scheme. # [Click Here to Learn More](https://wwt.github.io/SwiftCurrent/Creating%20Workflows.html) + For specific documentation check out: + - [Why SwiftCurrent?](https://wwt.github.io/SwiftCurrent/why-this-library.html) - [Installation](https://wwt.github.io/SwiftCurrent/installation.html) - [Getting Started With SwiftUI](https://wwt.github.io/SwiftCurrent/getting-started-with-swiftui.html) From 66b11b665f7f13fa10b9cc2d8959834e1d151b1c Mon Sep 17 00:00:00 2001 From: Morgan Zellers Date: Tue, 29 Mar 2022 10:56:33 -0500 Subject: [PATCH 4/7] Reverting accidental Fastlane change. --- .github/fastlane/Fastfile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/fastlane/Fastfile b/.github/fastlane/Fastfile index a5cb8bea3..93f97c7c5 100644 --- a/.github/fastlane/Fastfile +++ b/.github/fastlane/Fastfile @@ -1,4 +1,4 @@ -fastlane_version "2.201.2" +fastlane_version "2.27.0" default_platform :ios platform :ios do @@ -13,7 +13,6 @@ platform :ios do scheme: 'SwiftCurrent', workspace: '../SwiftCurrent.xcworkspace', derived_data_path: "~/Library/Developer/Xcode/DerivedData", - result_bundle: true ) end From 5a4fa9f75e960fe66c634fabf2047ed104c863ac Mon Sep 17 00:00:00 2001 From: Morgan Zellers Date: Tue, 29 Mar 2022 11:49:54 -0500 Subject: [PATCH 5/7] Removing video parameter from script invocation. --- .github/document.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/document.sh b/.github/document.sh index 869c28c55..8f48f459e 100755 --- a/.github/document.sh +++ b/.github/document.sh @@ -7,5 +7,5 @@ rm swiftcurrent-docs.json rm swiftcurrentuikit-docs.json rm swiftcurrent-swiftui-docs.json cd .github/DocsPostProcessor -./DocsPostProcessor ../../Docs --replace-overview-with-readme --replace-readme-video-with-vimeo-embed +./DocsPostProcessor ../../Docs --replace-overview-with-readme open ../../docs/index.html \ No newline at end of file From b0e878a211985006c976b987e2eb50ace11245f5 Mon Sep 17 00:00:00 2001 From: Morgan Zellers Date: Tue, 29 Mar 2022 13:03:59 -0500 Subject: [PATCH 6/7] Updating content at top of README. --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 54330f131..dbe29c1d7 100644 --- a/README.md +++ b/README.md @@ -10,11 +10,11 @@ # Welcome -SwiftCurrent is a library that lets you easily manage journeys through your Swift application. +SwiftCurrent is a library that lets you easily manage journeys through your Swift application and comes with built-in support for UIKit and SwiftUI app-routing. -It comes with built-in support for UIKit and SwiftUI app-routing. In SwiftCurrent, workflows are a sequence of operations. Those operations usually display views in an application. The workflow describes the sequence of views and manages which view should come next. Your views are responsible for performing necessary tasks before proceeding forward in the workflow, like processing user input. +## Why Should I Use SwiftCurrent? -### Why Should I Use SwiftCurrent? +In SwiftCurrent, workflows are a sequence of operations. Those operations usually display views in an application. The workflow describes the sequence of views and manages which view should come next. Your views are responsible for performing necessary tasks before proceeding forward in the workflow, like processing user input. Architectural patterns and libraries that attempt to create a separation between views and workflows already exist. However, SwiftCurrent is different. We took a new design approach that focuses on: @@ -22,7 +22,7 @@ Architectural patterns and libraries that attempt to create a separation between - **Compile-Time Safety**. At compile-time, we tell you everything we can so you know things will work. - **Minimal Boilerplate**. We have hidden this as much as possible. We hate it as much as you do and are constantly working on cutting the cruft. -#### From There, We Created a Library +### From There, We Created a Library This library: From d2a96d957e5f4471b798651a05e8b3f8b36133a7 Mon Sep 17 00:00:00 2001 From: Tyler-Keith-Thompson Date: Thu, 31 Mar 2022 16:23:23 +0000 Subject: [PATCH 7/7] [ci skip] Apply automatic changes --- SwiftCurrent.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SwiftCurrent.podspec b/SwiftCurrent.podspec index 1816f296f..03512b45b 100644 --- a/SwiftCurrent.podspec +++ b/SwiftCurrent.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = 'SwiftCurrent' - s.version = '5.0.2' + s.version = '5.0.3' s.summary = 'A library for complex workflows in Swift' s.description = <<-DESC SwiftCurrent is a library that lets you easily manage journeys through your Swift application.