From 8e4d5b52d021f41736de02af11321d93fd6d804f Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Wed, 19 Mar 2025 23:29:54 +0100 Subject: [PATCH 01/11] Update main-safety.yml --- .github/workflows/main-safety.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index b159ce2..73e2411 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -18,7 +18,7 @@ jobs: swift-version: "6.0.0" - name: Get swift version run: swift --version -# - name: Build -# run: swift build -v -# - name: Run tests -# run: swift test -v + - name: Build + run: swift build -v + - name: Run tests + run: swift test -v From 7930dc8b0d99a69441dc6b0fe1d53647286f0ef4 Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Thu, 20 Mar 2025 22:53:34 +0100 Subject: [PATCH 02/11] main-safety.yml aktualisieren --- .github/workflows/main-safety.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index 73e2411..398b1ae 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -10,12 +10,13 @@ on: jobs: build_and_test: - runs-on: macos-latest - + runs-on: ubuntu-24.04 + permissions: + contents: write steps: - - uses: swift-actions/setup-swift@v2 + - uses: actions/checkout@v4 with: - swift-version: "6.0.0" + swift-version: "6.0.3" - name: Get swift version run: swift --version - name: Build From d51c4af39945ae9b2e6e399d27ebe8cfc3bf79c4 Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:03:33 +0100 Subject: [PATCH 03/11] main-safety.yml aktualisieren --- .github/workflows/main-safety.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index 398b1ae..576abf5 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -14,7 +14,7 @@ jobs: permissions: contents: write steps: - - uses: actions/checkout@v4 + - uses: swift-actions/setup-swift@v2 with: swift-version: "6.0.3" - name: Get swift version From b2a79ed2bb885fed3aef9018fc9e50b855a89ed8 Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:10:01 +0100 Subject: [PATCH 04/11] main-safety.yml aktualisieren --- .github/workflows/main-safety.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index 576abf5..5278de7 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -10,7 +10,7 @@ on: jobs: build_and_test: - runs-on: ubuntu-24.04 + runs-on: ["macos-latest"] permissions: contents: write steps: From 40a9c090930d9bf34204f16acd20267dbe329acb Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:12:11 +0100 Subject: [PATCH 05/11] main-safety.yml aktualisieren --- .github/workflows/main-safety.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index 5278de7..e384728 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -10,7 +10,7 @@ on: jobs: build_and_test: - runs-on: ["macos-latest"] + runs-on: macos-latest permissions: contents: write steps: From 88a64ba65b0e11f83c87b6295023e15877677418 Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Thu, 20 Mar 2025 23:14:58 +0100 Subject: [PATCH 06/11] main-safety.yml aktualisieren --- .github/workflows/main-safety.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index e384728..a6c3445 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -11,12 +11,10 @@ jobs: build_and_test: runs-on: macos-latest - permissions: - contents: write steps: - uses: swift-actions/setup-swift@v2 with: - swift-version: "6.0.3" + swift-version: "6.0.0" - name: Get swift version run: swift --version - name: Build From 3aced4f5205e2c0a2cdbaa1b109691eb88aeee93 Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 23 Mar 2025 14:48:25 +0100 Subject: [PATCH 07/11] Backwards compatibility changes for github actions --- Package.swift | 4 ++-- Sources/Coffee-Kit/DAO/Order/Order.swift | 4 ---- Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift | 5 ++--- .../Coffee-Kit/Webservice/Manager/MenuManager.swift | 11 +++-------- .../Coffee-Kit/Webservice/Manager/OrderManager.swift | 9 ++++----- 5 files changed, 11 insertions(+), 22 deletions(-) diff --git a/Package.swift b/Package.swift index 8c7bdcd..e3d1843 100644 --- a/Package.swift +++ b/Package.swift @@ -6,8 +6,8 @@ import PackageDescription let package = Package( name: "Coffee-Kit", platforms: [ - .iOS(.v18), - .macOS(.v15) + .iOS(.v17), + .macOS(.v14), ], products: [ // Products define the executables and libraries a package produces, making them visible to other packages. diff --git a/Sources/Coffee-Kit/DAO/Order/Order.swift b/Sources/Coffee-Kit/DAO/Order/Order.swift index 6bde476..b429fe6 100644 --- a/Sources/Coffee-Kit/DAO/Order/Order.swift +++ b/Sources/Coffee-Kit/DAO/Order/Order.swift @@ -44,10 +44,6 @@ public extension Order { self.paymentOption = paymentOption.rawValue paymentStatus = "pending" items = orderdProducts - - let rawDate = 763811237.81686 - let date = Date(timeIntervalSince1970: rawDate) - print("Date: \(date)") } } diff --git a/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift b/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift index dacc2aa..e041adc 100644 --- a/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift +++ b/Sources/Coffee-Kit/DAO/Order/OrderBuilder.swift @@ -7,12 +7,11 @@ import Foundation -@Observable -public class OrderBuilder { +public class OrderBuilder: ObservableObject { // MARK: - Properties private(set) var userId: UUID - public var products: [OrderProduct] = [] + @Published public var products: [OrderProduct] = [] public var totalProducts: Int { products.reduce(0) { Int($0) + Int($1.quantity) } diff --git a/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift b/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift index 5450524..78d93a9 100644 --- a/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift +++ b/Sources/Coffee-Kit/Webservice/Manager/MenuManager.swift @@ -7,14 +7,13 @@ import Foundation -@Observable @MainActor -public final class MenuManager { +public final class MenuManager: ObservableObject { // MARK: - Properties - @ObservationIgnored private var webservice: WebserviceProvider + private var webservice: WebserviceProvider - public var items: [Product] = [] + @Published public var items: [Product] = [] // MARK: - Computed Properties @@ -22,10 +21,6 @@ public final class MenuManager { return CoffeeService(databaseAPI: webservice.databaseAPI) } -// public var cakeService: CakeService { -// return CakeService(databaseAPI: webservice.databaseAPI) -// } - // MARK: - Initializer public init() { diff --git a/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift b/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift index 3d90d95..b517363 100644 --- a/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift +++ b/Sources/Coffee-Kit/Webservice/Manager/OrderManager.swift @@ -7,13 +7,12 @@ import Foundation -@Observable @MainActor -public final class OrderManager { - @ObservationIgnored private var webservice: WebserviceProvider +public final class OrderManager: ObservableObject { + private var webservice: WebserviceProvider - private(set) var pendingOrders: [Order] = [] - private(set) var completedOrders: [Order] = [] + @Published private(set) var pendingOrders: [Order] = [] + @Published private(set) var completedOrders: [Order] = [] public init(from webservice: WebserviceProvider) { self.webservice = webservice From 351fbc3d5e8a232f2db6279f036e8b52564f51b7 Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Sun, 23 Mar 2025 14:52:01 +0100 Subject: [PATCH 08/11] Update main-safety.yml --- .github/workflows/main-safety.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index a6c3445..d5cbafb 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -12,7 +12,7 @@ jobs: runs-on: macos-latest steps: - - uses: swift-actions/setup-swift@v2 + - uses: actions/checkout@v4 with: swift-version: "6.0.0" - name: Get swift version From 173fa1ae7ae863285880b4058b5da0d820334e6e Mon Sep 17 00:00:00 2001 From: Christoph Rohde <44606665+CodebyCR@users.noreply.github.com> Date: Sun, 23 Mar 2025 15:18:15 +0100 Subject: [PATCH 09/11] Update main-safety.yml --- .github/workflows/main-safety.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index d5cbafb..491e91b 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -14,10 +14,13 @@ jobs: steps: - uses: actions/checkout@v4 with: - swift-version: "6.0.0" + swift-version: "5.10.0" + - name: Get swift version run: swift --version + - name: Build run: swift build -v + - name: Run tests run: swift test -v From 63393751da3295f53fad8c5872e9034181ce6e85 Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 23 Mar 2025 15:23:27 +0100 Subject: [PATCH 10/11] Reduce swift toolchain version to 5.10 --- .github/workflows/main-safety.yml | 2 +- Package.swift | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main-safety.yml b/.github/workflows/main-safety.yml index a6c3445..c115ece 100644 --- a/.github/workflows/main-safety.yml +++ b/.github/workflows/main-safety.yml @@ -14,7 +14,7 @@ jobs: steps: - uses: swift-actions/setup-swift@v2 with: - swift-version: "6.0.0" + swift-version: "5.10.0" - name: Get swift version run: swift --version - name: Build diff --git a/Package.swift b/Package.swift index e3d1843..3e90c22 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version: 6.0 +// swift-tools-version: 5.10 // The swift-tools-version declares the minimum version of Swift required to build this package. import PackageDescription From 745f25212f78e51ec0eacd9b9f309aa537e8cc63 Mon Sep 17 00:00:00 2001 From: Christoph Date: Sun, 23 Mar 2025 15:31:21 +0100 Subject: [PATCH 11/11] Replace SwiftTesting framework with XCTest framework for backwards compatibility --- Tests/Coffee-KitTests/Coffee_KitTests.swift | 6 ------ Tests/Coffee-KitTests/Coffee_LoverTests.swift | 8 ++++---- Tests/Coffee-KitTests/OrderTests.swift | 6 +++--- 3 files changed, 7 insertions(+), 13 deletions(-) delete mode 100644 Tests/Coffee-KitTests/Coffee_KitTests.swift diff --git a/Tests/Coffee-KitTests/Coffee_KitTests.swift b/Tests/Coffee-KitTests/Coffee_KitTests.swift deleted file mode 100644 index f411104..0000000 --- a/Tests/Coffee-KitTests/Coffee_KitTests.swift +++ /dev/null @@ -1,6 +0,0 @@ -import Testing -@testable import Coffee_Kit - -@Test func example() async throws { - // Write your test here and use APIs like `#expect(...)` to check expected conditions. -} diff --git a/Tests/Coffee-KitTests/Coffee_LoverTests.swift b/Tests/Coffee-KitTests/Coffee_LoverTests.swift index 830b0d2..1326c42 100644 --- a/Tests/Coffee-KitTests/Coffee_LoverTests.swift +++ b/Tests/Coffee-KitTests/Coffee_LoverTests.swift @@ -7,10 +7,10 @@ @testable import Coffee_Kit import Foundation -import Testing +import XCTest -struct Coffee_LoverTests { - @Test func decodingCoffeTest() async throws { +final class Coffee_LoverTests: XCTestCase { + fileprivate func decodingCoffeTest() async throws { // Write your test here and use APIs like `#expect(...)` to check expected conditions. let ressource = """ @@ -33,6 +33,6 @@ struct Coffee_LoverTests { let data = Data(ressource.utf8) let product = try JSONDecoder().decode(Product.self, from: data) - #expect(product.id.uuidString == "e074867a-0c6a-49ff-87ca-b1ba5dae5236".uppercased()) + XCTAssertEqual(product.id.uuidString, "e074867a-0c6a-49ff-87ca-b1ba5dae5236".uppercased()) } } diff --git a/Tests/Coffee-KitTests/OrderTests.swift b/Tests/Coffee-KitTests/OrderTests.swift index a768ad4..dd940bb 100644 --- a/Tests/Coffee-KitTests/OrderTests.swift +++ b/Tests/Coffee-KitTests/OrderTests.swift @@ -7,10 +7,10 @@ @testable import Coffee_Kit import Foundation -import Testing +import XCTest -struct OrderTests { - @Test func testTakingOrder() async { +final class OrderTests: XCTestCase { + fileprivate func testTakingOrder() async { let databaseAPI = DatabaseAPI.dev let webservice = await WebserviceProvider(inMode: databaseAPI) let orderManager = await OrderManager(from: webservice)