Commit Graph

1781 Commits

Author SHA1 Message Date
Minh Nguyễn
b3be8ee8f7 [ios] Removed armv7s slice from iOS gyp targets
All gyp-generated iOS targets build for the standard architectures, which do not include armv7s.

Fixes #4704.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
7a38e56819 [ios] Removed alternative to -ObjC
Xcode’s static library template comes with the -ObjC linker flag by default. Instead of removing that flag, this change removes the various imperfect workarounds we’ve been using to ensure that private SDK categories link. Given the size decrease in this static library since #2966 was fixed, we should have room to spare for the more straightforward approach. Moreover, an application that uses MGLMapView in a storyboard no longer needs to add -ObjC to the application target, which bloated the entire application, including other frameworks that had no need for -ObjC.

-ObjC isn’t even needed for dynamic frameworks, and the OS X SDK is only built as a dynamic framework.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
4175a09b4b [ios] Build CI-specific scheme in CI
The new scheme builds both the All aggregate target generated by gyp and the iosapp target.
2016-04-16 22:46:23 -07:00
Minh Nguyễn
cc4da960c0 [ios] Moved KIF project out of ios-tests project 2016-04-16 22:46:23 -07:00
Minh Nguyễn
7ae6b13003 [ios] Only assert protocol conformance in Debug
Fixed some warnings when building Release.
2016-04-16 22:46:22 -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
1549b2b249 [ios] Shared Objective-C exception breakpoint
It’s common enough to need a general Objective-C exception breakpoint that it should be made available to all developers by default. It’s disabled by default, since it may obscure the exception message.
2016-04-16 13:20:22 -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
Bruno de Oliveira Abinader
a2a6e22bdd [glfw] Workaround for OS X (#4666) 2016-04-15 12:18:16 -07:00
John Firebaugh
6e78eabfff [core] Clean up ThreadContext vestiges 2016-04-15 09:56:18 -07:00
Jason Wray
253a007d99 [ios][bench] Add total and avg FPS to final summary 2016-04-14 22:33:33 -04:00
John Firebaugh
3af3e72bb3 [all] Replace HTTPContextBase/HTTPRequestBase with FileSource 2016-04-14 14:18:19 -07:00
John Firebaugh
6d88a23a60 [core] Remove internal threading from OnlineFileRequest
There's no need to do the work that OnlineFileRequest does on a separate thread from the DefaultFileSource thread, and having AsyncTasks proxy to other tasks across a thread boundary adds needless complexity.
2016-04-14 14:18:19 -07:00
Thiago Marcos P. Santos
7bb74ac8db [android] Do not annotate methods with @UIThread
Not needed, same thread already.
2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
ba3125142e [android] Make the correct GL context current 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
7b3c61f619 [android] Do not attach/detach to threads
Not needed as everything is now running on the same thread.
2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
a65c19c569 [android] Only render after the surface is created 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
02db7fa852 [android] Create a RunLoop for the main thread 2016-04-14 13:51:27 -07:00
Thiago Marcos P. Santos
40e590b681 [android] Use ALooper_addFd() and callbacks to wake up
This is needed for plugging into an existing Looper because
we won't call ::run() on the main thread (this is called
on the Java side of the application automatically by Android).

But we still need to wake up and process the events. For that
we create a pipe and write to the pipe to wake up the main
loop and we process events on the callback of the fd handler.

Fixes #4682
2016-04-14 13:44:08 -07:00
John Firebaugh
204c7fee03 [core] Render from the main thread
Do not create a thread for the MapContext anymore.
2016-04-14 13:44:08 -07:00
John Firebaugh
18d8e80f52 [core] Demote "Unable to make space for entry" message from Warning to Debug (#4708) 2016-04-14 13:43:24 -07:00
John Firebaugh
db9fb97ea8 [test] Fix use of uninitialized dimensions value (#4697)
Instead of calling resize, which would compare against the uninitialized dimensions values, initialize dimensions and needsResize directly.
2016-04-13 18:00:46 -07:00
Jason Wray
7e0a2e36e6 [ios] Convert telemetry test server setting to user default
- Previously looked in app's Info.plist, now looks at NSUserDefaults
2016-04-13 18:04:06 -04:00
Tobrun
ef65d2015c [android] #4335 - add clear method for removing annotations to MapboxMap 2016-04-13 18:15:51 +02:00
Brad Leege
7fa32a0d08 [android] #4689 - Adding Debug Mode Example 2016-04-12 18:13:45 -05:00
Konstantin Käfer
618b9f1dbf [darwin] use CFRunLoopSourceInvalidate() to also cancel any pending AsyncTask invocations 2016-04-12 12:46:59 -07:00
Minh Nguyễn
24b4b1b514 [osx] Scroll to zoom
Added a hidden preference to MGLMapView that enables “unnatural zooming”, in which the scroll wheel zooms in and out, as in a Web browser, instead of scrolling the map, as is the platform convention on iOS and OS X.

Added a checkbox to osxapp’ preferences window that toggles this hidden preference via a binding. You can either use this checkbox or set the MGLScrollWheelZoomsMapView user default to YES.

Fixes #4670.
2016-04-12 09:27:28 -07:00
Jason Wray
eda132d922 [ios] Restart user location heading updates on validation
Fixes #4668. Thanks to @JThramer for reporting.
2016-04-11 23:21:05 -04:00
John Firebaugh
c3bed1dab8 [core] Fix race condition that could lead to a UNIQUE constraint failure (#4677) 2016-04-11 19:46:45 -07:00
John Firebaugh
be47e35a97 [ios, osx] The return of xcpretty, part II (#4676) 2016-04-11 16:45:14 -07:00
Mike Morris
c1a38b66e5 node-v3.1.1 2016-04-11 16:43:12 -07:00
Minh Nguyễn
bbde70e3f0 [ios] Fixed style count assertion 2016-04-11 13:28:04 -07:00
John Firebaugh
1c7c5af69d [ios] Run core unit tests in CI 2016-04-11 11:00:34 -07:00
Mike Morris
c507b8a693 node-v3.1.0
update deps in package.json
2016-04-11 10:25:55 -07:00
Mike Morris
911ff71b6c [node] clean up README.md [skip ci] 2016-04-08 18:53:05 -04:00
Tobrun
35b579fde1 [android] #4635 - fix rotate disabled with location tracking 2016-04-08 11:25:50 +02:00
Tobrun
18495fc19d [android] - fallback using to meta-data tag in Manifest or mapbox_access_token when using a MapFragment or SupportMapFragment 2016-04-08 10:08:47 +02:00
Vacxe
aaafebddd8 [android] - supportMapFragment: Check KEY_META_DATA 2016-04-08 10:08:47 +02:00
Tobrun
f3c64a4c95 [android] - Marker test coverage 2016-04-08 10:06:58 +02: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
Mike Morris
f5d66f3622 [node] clarify API documentation [skip ci]
map.render returns raw pixel buffer and map.release can safely be called earlier
2016-04-07 18:00:21 -04:00
Mike Morris
c59b5fb5e6 [node] don't dispose parent module in NodeLog destructor 2016-04-07 17:35:58 -04: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
Brad Leege
219fa2f10c [android] #4636 - Updating Gradle Wrapper to 2.12 2016-04-07 15:09:06 -05:00
Brad Leege
92c946d404 [android] #4636 - Updating to Android Gradle Build tools to 2.0.0 2016-04-07 15:09:06 -05:00
Tobrun
c8ee5dadaa [android] #3643 - improved android touch target when calling getAnnotationsInBounds 2016-04-07 21:52:34 +02:00
Brad Leege
891685188b Merge branch 'syntaxSugar' of git://github.com/vacxe/mapbox-gl-native into vacxe-syntaxSugar 2016-04-07 12:27:12 -05:00
Brad Leege
62d25b47ae [android] #4629 - Moving event queue clearing to finally block to better protect against HTTP errors 2016-04-07 12:23:51 -05:00
Brad Leege
1f35112a2e [android] #4629 - Increasing event flush to 3 minutes to mirror iOS and clearing events when connectivity check fails 2016-04-07 12:23:51 -05:00
Vacxe
c57edfc6f5 MapboxEventManager: operator size optimized 2016-04-07 12:53:11 +03:00