Commit Graph

88 Commits

Author SHA1 Message Date
Konstantin Käfer
df8c467056 [build] add binary size logging to iOS nightlies 2016-11-15 10:07:47 -08:00
Justin R. Miller
8ffd1f6925 [ios, macos] document custom API URL & add Info.plist guide (#6833)
Also support base URL nullability in order to use default value.
2016-11-01 10:29:33 -07:00
Jason Wray
f2ca03005b [ios] Fix deploy script temp directory creation (#6740)
Also:
 - Ignore stdout from github-release uploads.
 - Add execution time to finished message.
2016-10-18 16:43:37 -04:00
Jason Wray
8d221cafe0 [ios] Deploy script enhancements (#6581)
* Add `make ideploy` command for publishing iOS releases.
* Get release version from latest ios git tag.
* Use caffeinate to prevent the system from sleeping during the deploy process.
* Checkout tag to ensure correct commit is used
* Fail if release has already been published (not a draft) on GitHub
* Add publish step logging and colorize it.
* Allow s3 upload to show progress.
* Use build/ios/deploy directory for downloaded release zips; always overwrite via -O flag.
* Add zip filename to s3 step.
* Auto-install github-release command
2016-10-05 20:29:17 -04:00
Jason Wray
9a92a3a5dd [ios][build] Validate dSYM and framework UUIDs 2016-09-30 18:49:05 -04:00
Jason Wray
c72deacdcf [ios][build] Generate debug symbols for all builds
Fixes the issue where our stripped dynamic build did not have a valid dSYM.

Disabling GCC_GENERATE_DEBUGGING_SYMBOLS for SYMBOLS=NO builds meant
that those builds had no debug symbols to strip or add to a dSYM.
2016-09-30 18:49:05 -04:00
Jason Wray
23eaf6fb86 [ios] Don't specify Swift version for jazzy doc generation (#6377) 2016-09-19 15:43:45 -04:00
Jesse Bounds
9450323f9e [ios] Automate upload of build output to Fabric
This adds a script that automates the process of uploading the
required build output to Fabric. It requires the `FABRIC_KIT_API_KEY`
env variable and another new script called `validate-fabric-zip.sh`.
2016-08-19 16:22:42 -07:00
Konstantin Käfer
94ceeb739d [build] fix iOS packaging 2016-08-05 11:42:22 +02:00
Konstantin Käfer
692fe1f3ff [build] switch to CMake
This is very much a work in progress.
2016-08-05 11:42:22 +02:00
Vladimir Agafonkin
9ecc0d9597 GeoJSON point clustering (#5724)
* add supercluster dependency
* prepare GeoJSONTile for Supercluster
* prepare GeoJSONSource for accepting options
* try removing mbgl::GeoJSON
* fix setGeoJSON types
* add GeoJSONSource getURL
* add geojson to include path
* add Supercluster index in GeoJSONSource
* fix GeoJSONSource getZoomRange
* bring back mbgl::GeoJSON header
* fix tidy warnings hopefully
* try test-suite with enabled cluster test
* fix formatting in clustering-related files
2016-07-27 20:18:41 +03:00
Bruno de Oliveira Abinader
26a9213f6e [build] Upgrade geojson-vt-cpp@6.1.2 2016-07-26 16:35:29 +03:00
Romain Quidet
e1351751c2 5782: build static framework correctly (#5783)
* 5782: build static framework correctly

* 5782: updated changelog
2016-07-25 11:26:43 -07:00
Jesse Bounds
e686d32922 [ios] Add simulator dSYM slices to build output. (#5740)
Our release builds for device (with lipoed simulator binary) create
a dSYM files for both the device and simulator. However the script
only copied the device dSYM file to the output location.

This adds a step to lipo together both the device and simulator dSYM files.
Mapbox.framework.dSYM now holds armv7 and arm64 slices.
2016-07-21 11:51:42 -07:00
Vladimir Agafonkin
a9e4e98e8e Revert "add supercluster dependency"
This reverts commit f84e9fdb2b.
2016-07-18 16:58:32 +03:00
Vladimir Agafonkin
f84e9fdb2b add supercluster dependency
[skip ci]
2016-07-18 16:21:28 +03:00
Minh Nguyễn
244700e560 Merge branch 'release-ios-v3.3.0' 2016-07-14 16:31:08 -07:00
Fredrik Karlsson
c531686ecc [ios] fixes #4536 include podspec for static framework (#5653)
* [ios] fixes #4536 include podspec for static framework

* [ios] removed excessive frameworks, libraries and flags from the static podspec

* [ios] cleaned up the podspec
2016-07-14 11:30:20 +02:00
Jesse Bounds
23caa9f7aa Merge branch 'release-ios-v3.3.0' into master 2016-07-07 15:40:07 -07:00
Young Hahn
71a3b1d0db [core] geometry@0.8.0 / geojsonvt@6.0.0 (#5514)
* [core] geometry.hpp 0.8.0

* geojsonvt @ 6.0.0

* Update platform deps, build scripts

* Perf optimizations/cleanup

* Rebase in geometry@080

* D.R.Y. etc

* Ensure fill annotation geometries have closed rings.

* Optimizations

* Update to geojsonvt @ 6.1.0 for clean handoff between geojson parsing and geojsonvt

* Apply close multi/poly geoms for line annotations as well
2016-07-06 17:29:34 -04:00
Fredrik Karlsson
d4f5a37c43 [ios] omit podspec for static lib (#5595) 2016-07-06 22:13:02 +02:00
Fredrik Karlsson
9993017cc9 [ios] fixes #4536 include podspec in iOS releases (#5569) 2016-07-06 11:09:50 +02:00
Minh Nguyễn
2bcc8749e3 [ios] Split release notes into sections by topic 2016-07-03 16:20:39 -07:00
Jason Wray
c75caa650b [ios] Update and bundle docs screenshot
- Don't use an absolute URL for the screenshot image, include the file instead.
- Add Sketch document for screenshot.
2016-07-01 14:45:45 -04:00
Jason Wray
bacf8eee70 [ios, macos] Add Mapbox Jazzy theme
- Based on Jazzy's "full width" theme.
- Add ellipsis to overlong items in navigation menu.
- Set minimum width for navigation menu.
- Use Open Sans font face.
- Inline GitHub header icon as SVG.
- Center images by default.
- Add GitHub SVG icon to 'show on github' link.
- Wrap overlong method names on class pages.
2016-07-01 14:44:51 -04:00
Jason Wray
f41546e614 [ios] Default to Debug BUILDTYPE, but explicitly set Release for deploys 2016-06-01 15:54:46 -04:00
Jason Wray
c08a54dd82 [ios] Fix static framework conglomeration
- Include libMapbox.a, which contains our Obj-C classes, in the fat archive.
- Simulator libraries now always include x86_64 slices.
2016-06-01 15:54:46 -04:00
Bruno de Oliveira Abinader
a3e0c60a7c [build] Added unique_resource as dependency 2016-06-01 13:53:39 +03:00
John Firebaugh
faaafb8387 [core] Replace clipper and libtess with earcut.hpp 2016-05-31 10:15:18 -07:00
John Firebaugh
9a7b7f6af3 [core] Update to geometry.hpp 0.5.0 2016-05-13 09:01:32 -07:00
John Firebaugh
771e79a769 [core] Update geometry to 0.3.0 2016-05-06 11:59:29 -07:00
John Firebaugh
9330d674a9 [core] Use geometry.hpp's point 2016-05-05 11:30:53 -07:00
John Firebaugh
c8391729c7 [core] Use geometry.hpp feature type 2016-05-03 17:25:49 -07:00
Dane Springmeyer
c82b02c508 [core] port to protozero (#4906) 2016-05-03 13:57:17 -07:00
John Firebaugh
10528091db [core] Upgrade to boost 1.60.0 (#4899) 2016-04-28 15:21:50 -07:00
Minh Nguyễn
c376380112 [ios] Added separate target for Settings.bundle
Added a separate target to produce the example Settings.bundle. Use the build product in iosapp instead of a folder reference.

Added the bundle and settings targets as dependencies on the dynamic and static targets instead of listing them explicitly in various schemes.
2016-04-24 17:58:05 -07:00
Minh Nguyễn
f85f4f4105 [ios] Streamlined resource bundling
Added a target that produces Mapbox.bundle.

Replaced $BUNDLE_RESOURCES and $PLACE_RESOURCE_BUNDLES_OUTSIDE_FRAMEWORK with a single variable, $SELF_CONTAINED, that determines whether the output static framework is self-contained – that is, whether it contains Mapbox.bundle, Settings.bundle, and LICENSE.md. Eliminated the ability to produce a static framework that has the same layout as a dynamic framework. Now, resources are always in Mapbox.bundle; self-containment only determines where that bundle resides.

Added a separate source Info.plist to be placed in both the static framework and its resource bundle, but only after we give the build system a chance to expand variables within it. Now nearly all the Info.plist keys are filled in by the build system rather than using plutil in package.sh.
2016-04-24 16:18:23 -07:00
Minh Nguyễn
fd93cf969d [ios] Fixed jazzy build step
Fixed some regressions introduced in 9c9ff2d2d4 for #4802. A backslash was missing from a shell script, causing arguments to get dropped and output to go in the repo root. Paths in the jazzy configuration file needed to be updated so jazzy could find the headers.
2016-04-24 11:37:01 -07:00
Minh Nguyễn
9c9ff2d2d4 [ios, osx] Updated build system for jazzy
Consolidated NSValue categories to work around realm/jazzy#539. Documented MGLErrorCode. Moved jazzy configuration file into platform/ios/. Removed redundant include/Mapbox.h that was only being used by jazzy, now that the static frameworks’s umbrella header is based on that of the dynamic framework. Moved framework/Mapbox.h to include/Mapbox.h for consistency.
2016-04-22 12:31:42 -07:00
John Firebaugh
4bc4d35c60 [ios] Build output goes to build/ios 2016-04-19 16:28:30 -07:00
Bruno de Oliveira Abinader
6857002cb9 [build] Bump geojson-vt-cpp to v4.1.2
Minor version bump to resolve cross-compilation issues while using
geojson-vt-cpp v4.1.0.
2016-04-18 14:17:45 +03:00
Minh Nguyễn
f83c7a8b81 [ios] Force workspace-relative DerivedData
A workspace places derived data under ~/Library/ by default. We need it to live under build/ for all users. Instead of a legacy-style build products directory, force a workspace-relative DerivedData directory that matches the standard Xcode 4+ layout. Share the workspace settings file that forces the setting. Note that Xcode places its build and index output one level deeper than xcodebuild does.

Also fixed make ipackage-sim by conditionalizing anything related to the .dSYM file, which isn’t generated in the Debug configuration.
2016-04-16 22:46:26 -07:00
Minh Nguyễn
f791eb32b9 [ios] Streamlined package.sh
Halved the number of xcodebuild invocations, using a new scheme to string the dynamic and static builds together in each invocation. Removed unnecessary build flag overrides like ARCHS.

Removed support for building the SDK without Bitcode support via an environment variable. If you need to build without Bitcode support, set the ENABLE_BITCODE build setting in the project editor for the relevant Xcode target.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
b8c39667ff [ios] Moved SDK from gyp into Xcode project
Added a new Cocoa Touch dynamic framework target and Cocoa Touch static library target to the main iOS Xcode project. The targets are based on the templates provided by Xcode. They contain headers and source files in the darwin/ and ios/ subdirectories. Headers are explicitly marked public or project-internal instead of implicitly by subdirectory.

The SDK targets have a few dependencies that are managed by mason. Transform the config.gypi generated by configure into an .xcconfig file that Xcode uses to fill in compiler and linker flags.

Removed the iossdk target from platform.gypi and pared down the platform-lib target. make iproj opens the overall Xcode workspace instead of just the core project.

Resolved some warnings that are only now appearing because we’re using the standard warning and error flags instead of the pedantic and somewhat inappropriate flags that were forced by the gyp configuration files. Removed a console message informing developers of a long-ago deleted delegate method; the message was triggering a “selector not found” warning. Conditionalized some deprecated symbol usage that’s still needed for the static framework but not the dynamic framework, due to differing minimum deployment targets.

Added a build phase to the static library target that copies headers for use with the static library itself. This would allow us to potentially include a header in the dynamic framework but not the static library and vice-versa.

Updated the changelog to note that unused SVG files have been removed from the distribution.
2016-04-16 22:45:59 -07:00
Minh Nguyễn
96d3ccb022 [ios] Added Xcode project for iosapp, ios-bench; workspace for ios-tests
ios.xcodeproj is an ordinary Xcode project with ordinary Xcode targets for iosapp and ios-bench, all contained in an ordinary Xcode workspace that happens to also reference the gyp-generated platform.xcodeproj. The iosapp target links to and embeds Mapbox.framework, which is a product of the gyp-generated platform.xcodeproj. ios-tests.xcodeproj is also in the workspace, enabling simultaneous debugging of KIF tests, the SDK, and core code.

Moved storyboards into Base.lproj and image assets into an asset catalog. Removed iOS 6 assets from the iosapp asset catalog. Moved the original ios-bench application icon SVG into a non-project location.

Removed app/Settings.bundle, which is identical to framework/Settings.bundle.

Removed a broken reference to an unused header from the ios-tests project.
2016-04-16 13:20:12 -07:00
John Firebaugh
be47e35a97 [ios, osx] The return of xcpretty, part II (#4676) 2016-04-11 16:45:14 -07:00
John Firebaugh
f964e40e7e [build] Refactor and simplify build system
* Main gyp files are now standardized as platform/<platform>/platform.gyp.
* Each platform gyp file defines appropriate loop_lib and headless_lib variables.
* Each platform gyp file includes mbgl.gypi, which defines base targets which may be useful to all platforms.
* CI targets are consistent across platforms: `make $(PLATFORM) && make test-$(PLATFORM)`.
* Renamed the "linux" test app to "glfw". It's now built in OS X CI.
* Android build flakiness is fixed.
* iOS CI builds the bench and iosapp targets.
* Mesa version is now in one place.
* CI scripts use bash "strict mode" and correct error handling.
* All build output goes to the build directory.
* Removed vestigial iOS/OS X/Android Travis scripts.
2016-04-07 18:01:02 -07:00
Jesse Bounds
89db01fef0 [ios] Add script to automate s3 build and publish process
A large part of the iOS SDK deploy process is creating the various
binary flavors, uploading them to s3, and then testing that those
uploads worked by downloading them from s3 before uploading and
attaching them to the github release.

This script automates that build, upload, download, upload and
attach process and can be run after `mbx auth`.
2016-04-07 16:44:43 -04:00
John Firebaugh
08d12f860e [ios] Fix make ipackage 2016-04-05 15:03:05 -07:00
John Firebaugh
11f7db293e [ios] Remove KIF-based tests from CI. They just don't work reliably. 2016-04-04 12:14:17 -07:00