Skip to content

Add opt-in traits for optional vector tile formats - #57

Merged
trasch merged 1 commit into
mainfrom
feature/optional-format-traits
Sep 2, 2026
Merged

trasch merged 1 commit into
mainfrom
feature/optional-format-traits

Conversation

@trasch

@trasch trasch commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

Adds fine-grained SwiftPM traits to mvt-tools so consumers only build the formats they need. MVT and GeoJSON stay always-on (core); MLT, CSV, GeoPackage, GPX, FIT, and Shapefile become opt-in via Enable traits.

Highlights:

  • MVTTools target now gates optional GISTools dependencies behind trait conditions
  • C++ interop (.interoperabilityMode(.Cxx)) is only enabled when EnableMLT is on, so a default build requires no C++ interoperability
  • Coder files and their tests are wrapped in #if EnableX
  • CI (swift test) and the mvt CLI release build/install script now use --enable-all-traits

Breaking (major release): previously all formats were compiled unconditionally.

@trasch trasch self-assigned this Sep 2, 2026
@trasch trasch added the enhancement New feature or request label Sep 2, 2026
@trasch
trasch merged commit 26a7e9c into main Sep 2, 2026
1 check passed
@trasch
trasch deleted the feature/optional-format-traits branch September 2, 2026 17:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant