diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e5ecac8..7fb229a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,12 +8,9 @@ on: jobs: format-lint: - runs-on: macos-14 + runs-on: macos-15 steps: - - name: Install tools - run: brew install swiftformat - - name: Checkout maplibre-swiftui-dsl-playground uses: actions/checkout@v4 @@ -21,7 +18,7 @@ jobs: run: swiftformat . --lint test: - runs-on: macos-14 + runs-on: macos-15 strategy: matrix: scheme: [ @@ -29,19 +26,21 @@ jobs: ] destination: [ # TODO: Add more destinations - 'platform=iOS Simulator,name=iPhone 15,OS=17.5' + 'platform=iOS Simulator,name=iPhone 16,OS=18.1' ] + name: ${{ matrix.destination }} steps: - name: Install tools - run: brew install xcbeautify + run: brew update && brew upgrade xcbeautify - uses: maxim-lobanov/setup-xcode@v1 with: - xcode-version: '15.4' + xcode-version: latest-stable - name: Checkout maplibre-swiftui-dsl-playground uses: actions/checkout@v4 - name: Test ${{ matrix.scheme }} on ${{ matrix.destination }} run: xcodebuild -scheme ${{ matrix.scheme }} test -skipMacroValidation -destination '${{ matrix.destination }}' | xcbeautify && exit ${PIPESTATUS[0]} + \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 80f11d2..1d3d2d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## Version 0.4.1 - 2024-11-19 + +### Fixed + +- Fixes failed builds when this packages is integrated in an App. InternalUtils package was missing a dependency to MapLibre + ## Version 0.4.0 - 2024-11-19 ### Changed diff --git a/Package.swift b/Package.swift index ea4d373..2dc7cd4 100644 --- a/Package.swift +++ b/Package.swift @@ -54,6 +54,9 @@ let package = Package( ), .target( name: "InternalUtils", + dependencies: [ + .product(name: "MapLibre", package: "maplibre-gl-native-distribution"), + ], swiftSettings: [ .enableExperimentalFeature("StrictConcurrency"), ] diff --git a/Sources/MapLibreSwiftUI/Extensions/CoreLocation/CLLocationCoordinate2D.swift b/Sources/MapLibreSwiftUI/Extensions/CoreLocation/CLLocationCoordinate2D.swift index 2b5d57a..e2e10f5 100644 --- a/Sources/MapLibreSwiftUI/Extensions/CoreLocation/CLLocationCoordinate2D.swift +++ b/Sources/MapLibreSwiftUI/Extensions/CoreLocation/CLLocationCoordinate2D.swift @@ -2,7 +2,7 @@ import CoreLocation // TODO: We can delete chat about this. I'm not 100% on it, even though I want Hashable // on the MapCameraView (so we can let a user present a MapView with a designated camera from NavigationLink) -extension CLLocationCoordinate2D: Hashable { +extension CLLocationCoordinate2D: @retroactive Hashable { public static func == (lhs: CLLocationCoordinate2D, rhs: CLLocationCoordinate2D) -> Bool { lhs.latitude == rhs.latitude && lhs.longitude == rhs.longitude diff --git a/Sources/MapLibreSwiftUI/Models/MapCamera/CameraState.swift b/Sources/MapLibreSwiftUI/Models/MapCamera/CameraState.swift index 6a09a9a..ab81192 100644 --- a/Sources/MapLibreSwiftUI/Models/MapCamera/CameraState.swift +++ b/Sources/MapLibreSwiftUI/Models/MapCamera/CameraState.swift @@ -65,7 +65,7 @@ extension CameraState: CustomDebugStringConvertible { } } -extension MLNCoordinateBounds: Equatable, Hashable { +extension MLNCoordinateBounds: @retroactive Equatable, @retroactive Hashable { public func hash(into hasher: inout Hasher) { hasher.combine(ne) hasher.combine(sw) @@ -76,7 +76,7 @@ extension MLNCoordinateBounds: Equatable, Hashable { } } -extension UIEdgeInsets: Hashable { +extension UIEdgeInsets: @retroactive Hashable { public func hash(into hasher: inout Hasher) { hasher.combine(left) hasher.combine(right)