Skip to content
This repository has been archived by the owner on Jun 21, 2023. It is now read-only.

Distinguish between internal and external Carthage usage #548

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

1ec5
Copy link
Contributor

@1ec5 1ec5 commented Nov 12, 2020

A new Cartfile.private lists the dependencies necessary to build the map SDK from source, while the main Cartfile now obtains the prebuilt map SDK itself along with MapboxMobileEvents. A contributor will get both sets of dependencies when bootstrapping, but they can ignore the prebuilt SDK binary. Meanwhile, a developer can now point their Cartfile to this repository to install the map SDK (after setting up the .netrc file):

github "mapbox/mapbox-gl-native-ios" ~> 6.3

When releasing the map SDK, the version specification in Cartfile needs to be updated to exactly match the version being tagged – prereleases and final releases alike.

With this change, developers no longer need to keep track of compatible MapboxMobileEvents versions themselves, giving us some room to increase the minimum supported MME version when necessary. Unfortunately, developers will end up with a full clone of this repository. Deleting old tags carried over from the mapbox-gl-native repository would help a bit: #109. If cloning this repository makes the github specification impractical, or if the intention all along was to allow external developers to build gl-native-ios from source using Carthage, then we should close this PR and copy the Cartfile to a separate repository that hosts only the Cartfile.

Wherever we put the Cartfile, we can expect the Package.swift for Swift Package Manager (mapbox/mapbox-gl-native#15241 #546) to sit alongside it.

Fixes #143.

/ref #326
/cc @mapbox/maps-ios @mapbox/navigation-ios @frederoni

A new Cartfile.private lists the dependencies necessary to build the map SDK from source, while the main Cartfile now obtains the prebuilt map SDK itself. A developer can now point their Cartfile to this repository to install the map SDK. A contributor would get both sets of dependencies when bootstrapping but can ignore the prebuilt SDK binary.
@1ec5 1ec5 added enhancement New feature or request build labels Nov 12, 2020
@1ec5 1ec5 self-assigned this Nov 12, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Allow installing prebuilt binary from this repository using Carthage
1 participant