Files
element-x-ios/project.yml
T
Stefan Ceriu 8753fe3980 Move the interactive map into a new MapLibreShim framework
Second step towards loading MapLibre on demand: everything that touches it now
lives in one framework, so that framework can later be left unlinked.

The interactive map view, its annotation view and the coordinate animator move
into MapLibreShim, which reaches the app through MapLibreShimProtocol. The app
side keeps its MapLibreMapView call site and becomes a thin wrapper that builds
a MapViewConfiguration, passing the app-only pieces (map style URLs, marker
views, tint colour) across as closures so the shim needs nothing from the app.

LocationAnnotation loses its MapLibre conformance and becomes a plain struct,
with the shim mapping it onto its own annotation type. MapLibre's log
forwarding moves into the shim as well, since TargetConfiguration can no longer
reach it.
2026-08-12 15:04:24 +03:00

183 lines
5.0 KiB
YAML

---
name: ElementX
attributes:
ORGANIZATIONNAME: Element
LastUpgradeCheck: "1620"
fileGroups:
- project.yml
- app.yml
options:
groupSortPosition: bottom
createIntermediateGroups: true
deploymentTarget:
iOS: '18.5'
macOS: '14.5'
groupOrdering:
- order:
- ElementX
- NSE
- ShareExtension
- UnitTests
- PreviewTests
- UITests
- AccessibilityTests
- IntegrationTests
- DevelopmentAssets
- SDKMocks
- Secrets
- Tools
- pattern: ElementX
order:
- Sources
- Resources
- SupportingFiles
- pattern: Sources
order:
- Application
- UserSession
- Services
- FlowCoordinators
- Screens
- Other
- UITests
- AccessibilityTests
fileTypes:
icon:
file: true # https://github.com/yonaskolb/XcodeGen/issues/1556
postGenCommand: cd Tools/XcodeGen && sh postGenCommand.sh
settings:
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED: true
ENABLE_BITCODE: false
APP_NAME: ElementX
KEYCHAIN_ACCESS_GROUP_IDENTIFIER: "$(DEVELOPMENT_TEAM).$(BASE_BUNDLE_IDENTIFIER)"
MARKETING_VERSION: 26.08.3
CURRENT_PROJECT_VERSION: 1
SUPPORTS_MACCATALYST: false
include:
- path: app.yml
- path: ElementX/MapLibre/MapLibreInterface/SupportingFiles/target.yml
- path: ElementX/MapLibre/MapLibreShim/SupportingFiles/target.yml
- path: ElementX/SupportingFiles/target.yml
- path: NSE/SupportingFiles/target.yml
- path: ShareExtension/SupportingFiles/target.yml
- path: SDKMocks/SupportingFiles/target.yml
- path: UnitTests/SupportingFiles/target.yml
- path: PreviewTests/SupportingFiles/target.yml
- path: UITests/SupportingFiles/target.yml
- path: IntegrationTests/SupportingFiles/target.yml
- path: AccessibilityTests/SupportingFiles/target.yml
# - path: MyAppVariant/override.yml
packages:
# Element/Matrix dependencies
MatrixRustSDK:
url: https://github.com/element-hq/matrix-rust-components-swift
exactVersion: 26.08.11
# path: ../matrix-rust-sdk
Compound:
path: compound-ios
BuildExtensions:
path: BuildExtensions
AnalyticsEvents:
url: https://github.com/matrix-org/matrix-analytics-events
minorVersion: 0.37.0
# path: ../matrix-analytics-events
EmbeddedElementCall:
url: https://github.com/element-hq/element-call-swift
exactVersion: 0.22.0
Emojibase:
url: https://github.com/matrix-org/emojibase-bindings
revision: 60bc01f2e3b31445dc723f5af1a777b63d18e6c2 # pinned due to https://github.com/matrix-org/emojibase-bindings/issues/59
# minorVersion: 1.5.0
# path: ../emojibase-bindings
SwiftOGG:
url: https://github.com/element-hq/swift-ogg
minorVersion: 0.0.4
# path: ../swift-ogg
WysiwygComposer:
url: https://github.com/element-hq/matrix-rich-text-editor-swift
exactVersion: 2.42.0
# path: ../matrix-rich-text-editor/platforms/ios/lib/WysiwygComposer
# External dependencies
Algorithms:
url: https://github.com/apple/swift-algorithms
minorVersion: 1.2.1
AsyncAlgorithms:
url: https://github.com/apple/swift-async-algorithms
minorVersion: 1.1.5
Clocks:
url: https://github.com/pointfreeco/swift-clocks
from: 1.1.0
Collections:
url: https://github.com/apple/swift-collections
minorVersion: 1.6.0
DeviceKit:
url: https://github.com/devicekit/DeviceKit
minorVersion: 5.8.0
DSWaveformImage:
url: https://github.com/dmrschmidt/DSWaveformImage
exactVersion: 14.5.0
Dynamic:
url: https://github.com/mhdhejazi/Dynamic
exactVersion: 1.2
GZIP:
url: https://github.com/nicklockwood/GZIP
minorVersion: 1.3.2
KeychainAccess:
url: https://github.com/kishikawakatsumi/KeychainAccess
minorVersion: 4.2.2
Kingfisher:
url: https://github.com/onevcat/Kingfisher
minorVersion: 8.11.0
KZFileWatchers:
url: https://github.com/krzysztofzablocki/KZFileWatchers
minorVersion: 1.2.0
LoremSwiftum:
url: https://github.com/lukaskubanek/LoremSwiftum
minorVersion: 2.2.3
LRUCache:
url: https://github.com/nicklockwood/LRUCache
minorVersion: 1.2.1
Mantis:
url: https://github.com/guoyingtao/Mantis
minorVersion: 3.1.0
MapLibre:
url: https://github.com/maplibre/maplibre-gl-native-distribution
minorVersion: 6.27.0
PostHog:
url: https://github.com/PostHog/posthog-ios
minorVersion: 3.67.0
Sentry:
url: https://github.com/getsentry/sentry-cocoa
minorVersion: 9.22.0
SnapshotTesting:
url: https://github.com/pointfreeco/swift-snapshot-testing
minorVersion: 1.19.3
SwiftFlow:
url: https://github.com/tevelee/SwiftUI-Flow.git
minorVersion: 3.4.0
SwiftSoup:
url: https://github.com/scinfu/SwiftSoup.git
minorVersion: 2.13.6
SwiftState:
url: https://github.com/ReactKit/SwiftState
minorVersion: 6.0.1
Version:
url: https://github.com/mxcl/Version
minorVersion: 2.2.1
aggregateTargets:
Periphery:
buildScripts:
- name: Scan
script: |
export PATH="$PATH:/opt/homebrew/bin"
periphery scan --format xcode
basedOnDependencyAnalysis: false