diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index 593ad25..1a191ca 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -1,2 +1,10 @@ -FROM swift:latest +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + +FROM swiftlang/swift:nightly-5.5-focal RUN apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev \ No newline at end of file diff --git a/.devcontainer/devcontainer.json.license b/.devcontainer/devcontainer.json.license new file mode 100644 index 0000000..86fce4b --- /dev/null +++ b/.devcontainer/devcontainer.json.license @@ -0,0 +1,6 @@ + +This source file is part of the Apodini Template open source project + +SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) + +SPDX-License-Identifier: MIT diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 7fe840d..41a3888 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,16 +1,24 @@ + + # *Name of the PR* -## :recycle: Current situation +## :recycle: Current situation & Problem *Describe the current situation (if possible with and exemplary (or real) code snippet and/or where this is used)* ## :bulb: Proposed solution -*Describe the solution (if possible with and exemplary (or real) code snippet)* - -### Problem that is solved -*Provide a description and link issues that are solved* +*Describe the solution and how this affects the project and internal structure* -### Implications -*Describe the implications, e.g. refactoring* +## :gear: Release Notes +*Add a short summary of the feature as well as possible migration guides if this is a breaking change so this section can be added to the release notes.* +*Include code snippets that provide examples of the feature implemented if it appends or changes the public interface.* ## :heavy_plus_sign: Additional Information *Provide some additional information if possible* diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml index b20e968..e82d0cc 100644 --- a/.github/release-drafter.yml +++ b/.github/release-drafter.yml @@ -1,20 +1,30 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + branches: [release] name-template: '$NEXT_PATCH_VERSION' tag-template: '$NEXT_PATCH_VERSION' categories: - - title: 'πŸš€ Features' + - title: 'Semantic Version Major' + labels: + - 'needs version bump' + - title: 'Semantic Version Minor' labels: - 'feature' - 'enhancement' - - title: 'πŸ› Bug Fixes' + - title: 'Other Changes' labels: - 'fix' - 'bugfix' - 'bug' - - title: '🧰 Maintenance' - label: 'chore' + - 'documentation' change-template: '- $TITLE @$AUTHOR (#$NUMBER)' template: | ## Changes - $CHANGES + $CHANGES \ No newline at end of file diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index 341e525..250ee24 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + name: Build and Test on: @@ -7,42 +15,59 @@ on: pull_request: branches: - develop + workflow_dispatch: jobs: - macoswebservices: - name: macOS + macos: + name: macOS ${{ matrix.configuration }} runs-on: macos-11 + strategy: + fail-fast: false + matrix: + configuration: [debug, release] steps: - uses: actions/checkout@v2 - - uses: maxim-lobanov/setup-xcode@v1.1 + - uses: maxim-lobanov/setup-xcode@v1.2.3 with: xcode-version: latest + - uses: actions/cache@v2 + with: + path: .build + key: ${{ runner.os }}-spm-${{ hashFiles('**/Package.resolved') }} - name: Check Xcode version run: xcodebuild -version - name: Check Swift version run: swift --version - - name: Build and test - run: swift test - linuxwebservices: - name: Linux ${{ matrix.linux }} - runs-on: ubuntu-latest + - name: Release Build + if: matrix.configuration == 'release' + run: swift build -c release + - name: Debug Build + if: matrix.configuration == 'debug' + run: swift build -c debug + linux: + name: Linux ${{ matrix.linux }} ${{ matrix.configuration }} container: - image: swift:${{ matrix.linux }} + image: swiftlang/swift:nightly-5.5-${{ matrix.linux }} + runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - linux: [focal, bionic, amazonlinux2, centos8] + linux: [bionic, focal, amazonlinux2, centos8] + configuration: [debug, release, release_testing] steps: - uses: actions/checkout@v2 - - name: Install libsqlite3 - if: ${{ !(startsWith( matrix.linux, 'centos' ) || startsWith( matrix.linux, 'amazonlinux' )) }} - run: apt-get update && apt-get install -y --no-install-recommends libsqlite3-dev - - name: Install libsqlite3 - if: startsWith( matrix.linux, 'amazonlinux' ) - run: yum update -y && yum install -y sqlite-devel - - name: Install libsqlite3 - if: startsWith( matrix.linux, 'centos' ) - run: yum update -y --nobest && yum install -y sqlite-devel + - uses: actions/cache@v2 + with: + path: .build + key: ${{ runner.os }}-${{matrix.linux}}-spm-${{ hashFiles('Package.resolved') }} - name: Check Swift version run: swift --version - - name: Build and test - run: swift test -Xswiftc -Xfrontend -Xswiftc -sil-verify-none + - name: Release Build + if: matrix.configuration == 'release' + run: swift build -c release + - name: Release Build & Test + if: matrix.configuration == 'release_testing' + run: swift test -c release -Xswiftc -enable-testing + - name: Debug Build & Test + if: matrix.configuration == 'debug' + run: swift test -c debug diff --git a/.github/workflows/docker-compose.yml b/.github/workflows/docker-compose.yml index ee092ee..062addb 100644 --- a/.github/workflows/docker-compose.yml +++ b/.github/workflows/docker-compose.yml @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + name: Build Docker Compose on: diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 66875fa..6829ca2 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + name: Build Docker Image on: diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml index bc6ee09..6ff2a20 100644 --- a/.github/workflows/release-drafter.yml +++ b/.github/workflows/release-drafter.yml @@ -1,9 +1,17 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + name: Release Drafter on: push: branches: - - release + - develop jobs: update_release_draft: diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index e0f9849..dab9e42 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + name: Create Release on: @@ -9,7 +17,7 @@ jobs: build: runs-on: ubuntu-latest steps: - - name: GH Release + - name: Create GitHub Release uses: softprops/action-gh-release@v0.1.5 env: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} diff --git a/.github/workflows/reuseaction.yml b/.github/workflows/reuseaction.yml new file mode 100644 index 0000000..3c1e3d0 --- /dev/null +++ b/.github/workflows/reuseaction.yml @@ -0,0 +1,22 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + +name: REUSE Compliance Check + +on: + pull_request: + workflow_dispatch: + +jobs: + reuse: + name: REUSE Compliance Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: REUSE Compliance Check + uses: fsfe/reuse-action@v1 diff --git a/.github/workflows/spm-update.yml b/.github/workflows/spm-update.yml new file mode 100644 index 0000000..2c04551 --- /dev/null +++ b/.github/workflows/spm-update.yml @@ -0,0 +1,40 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + +name: Swift Package Update + +on: + schedule: + - cron: '0 0 * * 1' + workflow_dispatch: + +jobs: + createPR: + name: Create Pull Request + container: + image: swiftlang/swift:nightly-5.5-focal + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Check Swift version + run: swift --version + - name: Update Swift Packages + run: swift package update + - uses: peter-evans/create-pull-request@v3 + with: + token: ${{ secrets.ACCESS_TOKEN }} + commit-message: Update dependencies + title: Update dependencies + body: Update the Swift Package dependencies. + delete-branch: true + base: develop + branch: bots/update-dependencies + assignees: ApodiniBot + committer: ApodiniBot + author: ApodiniBot + reviewers: PSchmiedmayer \ No newline at end of file diff --git a/.github/workflows/swiftlint.yml b/.github/workflows/swiftlint.yml index 2a1f5b5..69db7b5 100644 --- a/.github/workflows/swiftlint.yml +++ b/.github/workflows/swiftlint.yml @@ -1,14 +1,20 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + name: SwiftLint on: pull_request: - paths: - - '.github/workflows/swiftlint.yml' - - '.swiftlint.yml' - - '**/*.swift' + workflow_dispatch: jobs: swiftlint: + name: SwiftLint runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 diff --git a/.gitignore b/.gitignore index 055178f..6b416fe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + # Apodini .gitignore File # Swift Package Manager @@ -5,8 +13,12 @@ .swiftpm .build/ +# IDE related folders +.idea + # Xcode User settings xcuserdata/ # Other files -.DS_Store \ No newline at end of file +.DS_Store +.env \ No newline at end of file diff --git a/.swiftlint.yml b/.swiftlint.yml index f31a556..0a64b84 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -1,5 +1,13 @@ -# Apodini SwiftLint file Apodini +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# +# Apodini SwiftLint file Apodini + # The only_rules configuration also includes rules that are enabled by default to provide a good overview of all rules. only_rules: - attributes @@ -176,7 +184,7 @@ only_rules: - multiline_parameters_brackets # Multiline parameters should have their surrounding brackets in a new line. - nesting - # Types and statements should only be nested to a certain level deep. + # Types and functions should only be nested to a certain level deep. # See nesting below for the exact configuration. - nimble_operator # Prefer Nimble operator overloads over free matcher functions. @@ -328,8 +336,6 @@ only_rules: # Don’t include vertical whitespace (empty line) after opening braces. - void_return # Prefer -> Void over -> (). - - weak_delegate - # Delegates should be weak to avoid reference cycles. - xct_specific_matcher # Prefer specific XCTest matchers over XCTAssertEqual and XCTAssertNotEqual - xctfail_message @@ -338,11 +344,9 @@ only_rules: # The variable should be placed on the left, the constant on the right of a comparison operator. excluded: # paths to ignore during linting. Takes precedence over `included`. - - Carthage - - Pods - .build + - .xcodebuild - .swiftpm - - R.generated.swift closure_body_length: # Closure bodies should not span too many lines. - 35 # warning - default: 20 @@ -370,6 +374,11 @@ identifier_name: - ok - or - p8 + - of + - s3 + - at + - to + - in large_tuple: # Tuples shouldn't have too many members. Create a custom type instead. - 2 # warning - default: 2 @@ -383,7 +392,7 @@ line_length: # Lines should not span too many characters. ignores_function_declarations: false # default: false ignores_interpolated_strings: true # default: false -nesting: # Types should be nested at most 2 level deep, and statements should be nested at most 5 levels deep. +nesting: # Types should be nested at most 2 level deep, and functions should be nested at most 5 levels deep. type_level: warning: 2 # warning - default: 1 function_level: diff --git a/.vscode/launch.json.license b/.vscode/launch.json.license new file mode 100644 index 0000000..86fce4b --- /dev/null +++ b/.vscode/launch.json.license @@ -0,0 +1,6 @@ + +This source file is part of the Apodini Template open source project + +SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) + +SPDX-License-Identifier: MIT diff --git a/.vscode/tasks.json.license b/.vscode/tasks.json.license new file mode 100644 index 0000000..86fce4b --- /dev/null +++ b/.vscode/tasks.json.license @@ -0,0 +1,6 @@ + +This source file is part of the Apodini Template open source project + +SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) + +SPDX-License-Identifier: MIT diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md new file mode 100644 index 0000000..eb4bc36 --- /dev/null +++ b/CONTRIBUTORS.md @@ -0,0 +1,14 @@ + + +Apodini contributors +==================== + +* [Paul Schmiedmayer](https://github.com/PSchmiedmayer) diff --git a/Dockerfile b/Dockerfile index f444b09..e19b9fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,15 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + # ================================ # Build image # ================================ -FROM swift:5.4-focal as build +FROM swiftlang/swift:nightly-5.5-focal as build # Install OS updates and, if needed, sqlite3 RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ @@ -39,7 +47,7 @@ RUN [ -d "$(swift build --package-path /build -c release --show-bin-path)/WebSer # ================================ # Run image # ================================ -FROM swift:5.4-focal-slim +FROM swiftlang/swift:nightly-5.5-focal-slim as run # Make sure all system packages are up to date. RUN export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true \ diff --git a/LICENSES/MIT.txt b/LICENSES/MIT.txt new file mode 100644 index 0000000..4b2cb50 --- /dev/null +++ b/LICENSES/MIT.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Package.resolved b/Package.resolved index 8532dbf..0db4a82 100644 --- a/Package.resolved +++ b/Package.resolved @@ -2,7 +2,7 @@ "object": { "pins": [ { - "package": "APNSwift", + "package": "apnswift", "repositoryURL": "https://github.com/kylebrowning/APNSwift.git", "state": { "branch": null, @@ -15,8 +15,8 @@ "repositoryURL": "https://github.com/Apodini/Apodini.git", "state": { "branch": null, - "revision": "c1193105f1a4b7320bbd3f5c404e6110746b31d8", - "version": "0.3.0" + "revision": "e6a943b0db29b2df5c0c139ab993e57752bf22b7", + "version": "0.5.0" } }, { @@ -46,22 +46,13 @@ "version": "1.3.1" } }, - { - "package": "BSON", - "repositoryURL": "https://github.com/OpenKitten/BSON.git", - "state": { - "branch": null, - "revision": "5ef02954ff53960ae6fba46cd03c7bee51deb62e", - "version": "7.0.27" - } - }, { "package": "console-kit", "repositoryURL": "https://github.com/vapor/console-kit.git", "state": { "branch": null, - "revision": "cfe8bcd58f74ffecb4f536d8237de146b634ecd3", - "version": "4.2.6" + "revision": "75ea3b627d88221440b878e5dfccc73fd06842ed", + "version": "4.2.7" } }, { @@ -69,8 +60,8 @@ "repositoryURL": "https://github.com/MihaelIsaev/FCM.git", "state": { "branch": null, - "revision": "3e0645f7897a570568e66029a1bb97dde965bdeb", - "version": "2.10.1" + "revision": "5d35a93bde97fd34879bf1f7ca198f4efacd8eca", + "version": "2.11.1" } }, { @@ -82,58 +73,22 @@ "version": "1.14.0" } }, - { - "package": "fluent", - "repositoryURL": "https://github.com/vapor/fluent.git", - "state": { - "branch": null, - "revision": "5810a409eb0271a576f68887fa6713dae3985056", - "version": "4.3.1" - } - }, { "package": "fluent-kit", "repositoryURL": "https://github.com/vapor/fluent-kit.git", "state": { "branch": null, - "revision": "2eddf6fda3f1ca114f96e0cf82875fefab342343", - "version": "1.13.0" - } - }, - { - "package": "fluent-mongo-driver", - "repositoryURL": "https://github.com/vapor/fluent-mongo-driver.git", - "state": { - "branch": null, - "revision": "ce519013f51439773fe668d6575888665b0e2dda", - "version": "1.0.2" - } - }, - { - "package": "fluent-mysql-driver", - "repositoryURL": "https://github.com/vapor/fluent-mysql-driver.git", - "state": { - "branch": null, - "revision": "699e164880387349bf04c2329fe53097524a5904", - "version": "4.0.0" + "revision": "c0cfc1e6d9a2bbd04d4c583632eb0c09c92ff22c", + "version": "1.15.0" } }, { - "package": "fluent-postgres-driver", - "repositoryURL": "https://github.com/vapor/fluent-postgres-driver.git", + "package": "jmespath.swift", + "repositoryURL": "https://github.com/adam-fowler/jmespath.swift.git", "state": { "branch": null, - "revision": "afe159ce915e752ab5f5b76479dc78a17051ce73", - "version": "2.1.3" - } - }, - { - "package": "fluent-sqlite-driver", - "repositoryURL": "https://github.com/vapor/fluent-sqlite-driver.git", - "state": { - "branch": null, - "revision": "9ca34be792979fb0f1dbd8e45b8af9f1e1440474", - "version": "4.1.0" + "revision": "4a166ea71f0d9e9cc3523fc3dee516080a4c36a0", + "version": "1.0.0" } }, { @@ -150,17 +105,8 @@ "repositoryURL": "https://github.com/vapor/jwt-kit.git", "state": { "branch": null, - "revision": "b50b30b567726b14ac282aa6d3a42a52c1ebc8c0", - "version": "4.2.2" - } - }, - { - "package": "MongoKitten", - "repositoryURL": "https://github.com/OpenKitten/MongoKitten.git", - "state": { - "branch": null, - "revision": "8a98326aca11c29d87a8bf1538679bb5ad9fd733", - "version": "6.6.6" + "revision": "7a9a04df93e71de10fa2e8d6e9430dd0a7924643", + "version": "4.2.4" } }, { @@ -172,33 +118,6 @@ "version": "4.2.1" } }, - { - "package": "mysql-kit", - "repositoryURL": "https://github.com/vapor/mysql-kit.git", - "state": { - "branch": null, - "revision": "fe836ecd52815ed1399e654b5365c108ff1638fd", - "version": "4.1.0" - } - }, - { - "package": "mysql-nio", - "repositoryURL": "https://github.com/vapor/mysql-nio.git", - "state": { - "branch": null, - "revision": "4cbef4c0903c9792ff1f8dc4b55532276fa70c99", - "version": "1.3.2" - } - }, - { - "package": "NioDNS", - "repositoryURL": "https://github.com/OpenKitten/NioDNS.git", - "state": { - "branch": null, - "revision": "7517b774d48833f04869fcde668d2f338fadc464", - "version": "2.0.6" - } - }, { "package": "OpenAPIKit", "repositoryURL": "https://github.com/mattpolzin/OpenAPIKit.git", @@ -208,33 +127,6 @@ "version": "2.4.0" } }, - { - "package": "OpenCombine", - "repositoryURL": "https://github.com/OpenCombine/OpenCombine.git", - "state": { - "branch": null, - "revision": "28993ae57de5a4ea7e164787636cafad442d568c", - "version": "0.12.0" - } - }, - { - "package": "postgres-kit", - "repositoryURL": "https://github.com/vapor/postgres-kit.git", - "state": { - "branch": null, - "revision": "13f6c735cf9a9053011d03e77e2a81802ad6c680", - "version": "2.3.0" - } - }, - { - "package": "postgres-nio", - "repositoryURL": "https://github.com/vapor/postgres-nio.git", - "state": { - "branch": null, - "revision": "33eea144f465a48b17f4c63573c40d33824fdde4", - "version": "1.5.2" - } - }, { "package": "RichJSONParser", "repositoryURL": "https://github.com/omochi/RichJSONParser.git", @@ -267,8 +159,8 @@ "repositoryURL": "https://github.com/soto-project/soto.git", "state": { "branch": null, - "revision": "9a7fcaa3e434b57c92bcb8a1b60ee9fdf84334c6", - "version": "5.6.0" + "revision": "693fc693b580a2c635c1457d09cbf54411691ffe", + "version": "5.7.0" } }, { @@ -276,8 +168,8 @@ "repositoryURL": "https://github.com/soto-project/soto-core.git", "state": { "branch": null, - "revision": "c5776786a8cfd43b63b2258a143ae484e05b9c17", - "version": "5.3.1" + "revision": "98c7f11f9e66480984340950e7d0241c7456ac8e", + "version": "5.5.0" } }, { @@ -294,26 +186,8 @@ "repositoryURL": "https://github.com/vapor/sql-kit.git", "state": { "branch": null, - "revision": "dd87127c7b005237b24ee24917c515ecae9ff0ef", - "version": "3.9.1" - } - }, - { - "package": "sqlite-kit", - "repositoryURL": "https://github.com/vapor/sqlite-kit.git", - "state": { - "branch": null, - "revision": "2ec279b9c845cec254646834b66338551a024561", - "version": "4.0.2" - } - }, - { - "package": "sqlite-nio", - "repositoryURL": "https://github.com/vapor/sqlite-nio.git", - "state": { - "branch": null, - "revision": "6481dd0b01112d082dd7eb362782126e81964138", - "version": "1.1.0" + "revision": "b70d1fea1b544dd819c17e83d59fb9aa85c81e74", + "version": "3.10.0" } }, { @@ -330,8 +204,8 @@ "repositoryURL": "https://github.com/apple/swift-argument-parser", "state": { "branch": null, - "revision": "986d191f94cec88f6350056da59c2e59e83d1229", - "version": "0.4.3" + "revision": "83b23d940471b313427da226196661856f6ba3e0", + "version": "0.4.4" } }, { @@ -339,8 +213,8 @@ "repositoryURL": "https://github.com/swift-server/swift-aws-lambda-runtime.git", "state": { "branch": null, - "revision": "e33e4afbf0e290029c9887f271ae2ad6a4a65269", - "version": "0.4.0" + "revision": "a9e15b13b30b6700056c4cfbdcf6a69382a9fb6f", + "version": "0.5.0" } }, { @@ -357,8 +231,8 @@ "repositoryURL": "https://github.com/apple/swift-collections", "state": { "branch": null, - "revision": "3426dba9ee5c9f8e4981b0fc9d39a818d36eec28", - "version": "0.0.4" + "revision": "9d8719c8bebdc79740b6969c912ac706eb721d7a", + "version": "0.0.7" } }, { @@ -393,8 +267,8 @@ "repositoryURL": "https://github.com/apple/swift-metrics.git", "state": { "branch": null, - "revision": "e382458581b05839a571c578e90060fff499f101", - "version": "2.1.1" + "revision": "3edd2f57afc4e68e23c3e4956bc8b65ca6b5b2ff", + "version": "2.2.0" } }, { @@ -402,8 +276,8 @@ "repositoryURL": "https://github.com/apple/swift-nio.git", "state": { "branch": null, - "revision": "d79e33308b0ac83326b0ead0ea6446e604b8162d", - "version": "2.30.0" + "revision": "9a992ee3de1f8da9f2968fc96b26714834f3105f", + "version": "2.31.1" } }, { @@ -420,8 +294,8 @@ "repositoryURL": "https://github.com/apple/swift-nio-http2.git", "state": { "branch": null, - "revision": "13b6a7a83864005334818d7ea2a3053869a96c04", - "version": "1.18.0" + "revision": "f6cde03ef8ad57e3bd25743d1e678efd1e5239f7", + "version": "1.18.1" } }, { @@ -429,8 +303,8 @@ "repositoryURL": "https://github.com/apple/swift-nio-ssl.git", "state": { "branch": null, - "revision": "9db7cee4b62c39160a6bd513a47a1ecdcceac18a", - "version": "2.14.0" + "revision": "4829979d9f5ed9a2f4c6efd9c1ed51d1ab4d0394", + "version": "2.14.1" } }, { @@ -447,8 +321,8 @@ "repositoryURL": "https://github.com/vapor/vapor.git", "state": { "branch": null, - "revision": "2ada54b7ce56cc6934cd2c0207bef2305bfbd7a1", - "version": "4.48.2" + "revision": "5113bfcb0dbcfaefdc043acd8e161046eb4fbb65", + "version": "4.48.4" } }, { @@ -465,8 +339,8 @@ "repositoryURL": "https://github.com/vapor/websocket-kit.git", "state": { "branch": null, - "revision": "a2d26b3de8b3be292f3208d1c74024f76ac503da", - "version": "2.1.3" + "revision": "d7537b787d37f3877e36b5f1e7cb910f7c401836", + "version": "2.1.4" } }, { diff --git a/Package.resolved.license b/Package.resolved.license new file mode 100644 index 0000000..86fce4b --- /dev/null +++ b/Package.resolved.license @@ -0,0 +1,6 @@ + +This source file is part of the Apodini Template open source project + +SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) + +SPDX-License-Identifier: MIT diff --git a/Package.swift b/Package.swift index 95b49fd..a63e529 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,12 @@ -// swift-tools-version:5.4 +// swift-tools-version:5.5 + +// +// This source file is part of the Apodini Template open source project +// +// SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +// +// SPDX-License-Identifier: MIT +// import PackageDescription @@ -6,7 +14,7 @@ import PackageDescription let package = Package( name: "ApodiniTemplate", platforms: [ - .macOS(.v10_15) + .macOS(.v12) ], products: [ .executable( @@ -15,7 +23,7 @@ let package = Package( ) ], dependencies: [ - .package(url: "https://github.com/Apodini/Apodini.git", .upToNextMinor(from: "0.3.0")) + .package(url: "https://github.com/Apodini/Apodini.git", .upToNextMinor(from: "0.5.0")) ], targets: [ .executableTarget( @@ -28,7 +36,9 @@ let package = Package( ), .testTarget( name: "WebServiceTests", - dependencies: ["WebService"] + dependencies: [ + .target(name: "WebService") + ] ) ] ) diff --git a/README.md b/README.md index 7ed69b7..0e511b4 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,13 @@ + + # Apodini Template Repository This repository includes an example Apodini web service that can be used as a starting point for an Apodini web service. diff --git a/Sources/WebService/ExampleWebService.swift b/Sources/WebService/ExampleWebService.swift index afd7869..a2f369c 100644 --- a/Sources/WebService/ExampleWebService.swift +++ b/Sources/WebService/ExampleWebService.swift @@ -1,3 +1,11 @@ +// +// This source file is part of the Apodini Template open source project +// +// SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +// +// SPDX-License-Identifier: MIT +// + import Apodini import ApodiniOpenAPI import ApodiniREST diff --git a/Sources/WebService/Greeter.swift b/Sources/WebService/Greeter.swift index 1ec9482..76c8e20 100644 --- a/Sources/WebService/Greeter.swift +++ b/Sources/WebService/Greeter.swift @@ -1,3 +1,11 @@ +// +// This source file is part of the Apodini Template open source project +// +// SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +// +// SPDX-License-Identifier: MIT +// + import Apodini diff --git a/Tests/WebServiceTests/WebServiceTests.swift b/Tests/WebServiceTests/WebServiceTests.swift index 521ab9e..260edb8 100644 --- a/Tests/WebServiceTests/WebServiceTests.swift +++ b/Tests/WebServiceTests/WebServiceTests.swift @@ -1,3 +1,11 @@ +// +// This source file is part of the Apodini Template open source project +// +// SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +// +// SPDX-License-Identifier: MIT +// + import XCTest diff --git a/docker-compose-development.yml b/docker-compose-development.yml index d402894..e78b7be 100644 --- a/docker-compose-development.yml +++ b/docker-compose-development.yml @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + version: '3.9' services: diff --git a/docker-compose.yml b/docker-compose.yml index bff38e0..63b9b09 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,3 +1,11 @@ +# +# This source file is part of the Apodini Template open source project +# +# SPDX-FileCopyrightText: 2021 Paul Schmiedmayer and the project authors (see CONTRIBUTORS.md) +# +# SPDX-License-Identifier: MIT +# + version: '3.9' services: