diff --git a/Documentation.app/Contents/MacOS/Legal.playground/Pages/Credits.xcplaygroundpage/Contents.swift b/Documentation.app/Contents/MacOS/Legal.playground/Pages/Credits.xcplaygroundpage/Contents.swift index 2852473..c0ec286 100644 --- a/Documentation.app/Contents/MacOS/Legal.playground/Pages/Credits.xcplaygroundpage/Contents.swift +++ b/Documentation.app/Contents/MacOS/Legal.playground/Pages/Credits.xcplaygroundpage/Contents.swift @@ -7,7 +7,7 @@ /*: # Credits - 2019 - © The Bow OpenAPI Authors + 2020 - © The Bow OpenAPI Authors For a comprehensive list of contributors, [visit the repository](https://github.com/bow-swift/bow-openapi/graphs/contributors) on GitHub. diff --git a/Documentation.app/Contents/MacOS/Legal.playground/Pages/License.xcplaygroundpage/Contents.swift b/Documentation.app/Contents/MacOS/Legal.playground/Pages/License.xcplaygroundpage/Contents.swift index 7ff3cc4..c515d3d 100644 --- a/Documentation.app/Contents/MacOS/Legal.playground/Pages/License.xcplaygroundpage/Contents.swift +++ b/Documentation.app/Contents/MacOS/Legal.playground/Pages/License.xcplaygroundpage/Contents.swift @@ -7,7 +7,7 @@ /*: # License - Copyright 2019 The Bow OpenAPI Authors + Copyright 2020 The Bow OpenAPI Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/Documentation.app/Jekyll/Home.md b/Documentation.app/Jekyll/Home.md index 1595f34..dc73c3f 100644 --- a/Documentation.app/Jekyll/Home.md +++ b/Documentation.app/Jekyll/Home.md @@ -8,6 +8,16 @@ permalink: /docs/ Bow OpenAPI is a command line tool to generate a network client written in Swift from an OpenAPI specification that uses the environmental effect type `EnvIO` from [Bow](https://bow-swift.io/). Its main features are: +💡 [Automatic generation](https://openapi.bow-swift.io/docs/generation-examples/basic-generation/) of network clients written in Swift from an OpenAPI / Swagger specification file, in YAML or JSON formats. + +📦 Provision of a [Swift Package](https://openapi.bow-swift.io/docs/consuming-generated-code/adding-the-module-to-your-project/) that can be consumed from Swift Package Manager. + +🔨 [Integration with Xcode](https://openapi.bow-swift.io/docs/quick-start/integration-in-xcode/) as a build phase to always keep your code in sync with your specification. + +💥 Usage of [Environmental Effects](https://openapi.bow-swift.io/docs/consuming-generated-code/running-a-network-request/) from [Bow](https://bow-swift.io) to suspend side-effects, and improve their composition and testability. + +✅ [Enhanced test support](https://openapi.bow-swift.io/docs/consuming-generated-code/testing-your-network-calls/) for integration or end-to-end test with no mocks. + ## Parsing of OpenAPI specifications Bow OpenAPI is able to consume OpenAPI / Swagger specifications as either JSON or YAML files. It relies on the `swagger-codegen` command line tool to parse these files, and then provides a set of templates to customize the output of the tool, together with an additional processing of the result. diff --git a/README.md b/README.md new file mode 100644 index 0000000..688f8aa --- /dev/null +++ b/README.md @@ -0,0 +1,78 @@ +![Bow OpenAPI](assets/header-bow-openapi.png) + +

+ + +Swift Package Manager compatible + + + +Gitter + + +

+ +**Bow OpenAPI** is a command-line tool to generate a Swift network client from an OpenAPI / Swagger specification file. Please, refer to the [project website](https://openapi.bow-swift.io) for extensive and detailed documentation about the project. + +### Features + +💡 [Automatic generation](https://openapi.bow-swift.io/docs/generation-examples/basic-generation/) of network clients written in Swift from an OpenAPI / Swagger specification file, in YAML or JSON formats. + +📦 Provision of a [Swift Package](https://openapi.bow-swift.io/docs/consuming-generated-code/adding-the-module-to-your-project/) that can be consumed from Swift Package Manager. + +🔨 [Integration with Xcode](https://openapi.bow-swift.io/docs/quick-start/integration-in-xcode/) as a build phase to always keep your code in sync with your specification. + +💥 Usage of [Environmental Effects](https://openapi.bow-swift.io/docs/consuming-generated-code/running-a-network-request/) from [Bow](https://bow-swift.io) to suspend side-effects, and improve their composition and testability. + +✅ [Enhanced test support](https://openapi.bow-swift.io/docs/consuming-generated-code/testing-your-network-calls/) for integration or end-to-end test with no mocks. + +  + +## 💻 Installation + +You can [install Bow OpenAPI](https://openapi.bow-swift.io/docs/quick-start/installation-guide/) using [Homebrew](https://brew.sh/index_es). Its formula is not still in the main repository; therefore, you need to tap it first, before installing it: + +```bash +brew tap bow-swift/bow +brew install bow-openapi +``` + +## ⚙️ Usage + +You can [invoke the tool](https://openapi.bow-swift.io/docs/quick-start/how-to-run-bow-openapi/) with the following parameters: + +```bash +bow-openapi --name --schema --output +``` + +- `name` is the name for the generated module in the resulting Swift Package. You will have to import it in your code using `import `. +- `schema` is the path to the OpenAPI / Swagger specification file. It accepts both YAML or JSON formats. +- `output` is the folder where the result will be saved. + +## ❤️ Contributing to the project + +We welcome your contributions! Help us make Bow OpenAPI better: + +🐛 File an issue if you find a bug. + +🆕 Suggest a new feature for Bow OpenAPI. + +➡️ Open a Pull Request fixing a problem or adding new functionality. + +💬 Discuss with us in our [Gitter channel](https://gitter.im/bowswift/bow) to help us shape the future of Bow OpenAPI. + +# ⚖️ License + + Copyright (C) 2020 The Bow Authors + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/assets/header-bow-openapi.png b/assets/header-bow-openapi.png new file mode 100644 index 0000000..d3cbd9b Binary files /dev/null and b/assets/header-bow-openapi.png differ