Commit Graph

358 Commits

Author SHA1 Message Date
Konstantin Käfer
5b24b14741 [build] use node-cmake 2.x
- Removes need to run `npm install` before invoking cmake
2017-02-22 18:22:18 +01:00
Konstantin Käfer
341e65f7d5 [build] use system-provided Android NDK when available
and fall back to Mason if it isn't
2017-02-22 18:06:20 +01:00
Tobrun
586ae94ec4 [android] - uninstall current apk on test device before running a make run- command. (#8160) 2017-02-22 17:55:12 +01:00
Bruno de Oliveira Abinader
10b8ef6441 [Qt] Document QMapbox + qdoc fixes 2017-02-22 13:52:33 +02:00
Justin R. Miller
3cca3b10b1 [android] add make android-help target (#8087) 2017-02-20 16:08:24 -05:00
John Firebaugh
eb8a1ef7aa [tests] Disable timing-based Timer tests in CI 2017-02-15 15:09:30 -06:00
Konstantin Käfer
bb931505c5 [build] Remove Mason submodule in favor of CMake mason 2017-02-08 19:07:16 +01:00
John Firebaugh
150b938b49 [build, ios, macos] Simplify version portion of user agent string
The X.Y.Z version portion was unreliable, as it pulled from the latest tag regardless of platform. Set version to 0.0.0 and retrieve only the hash, which allows us to drop the node/npm dependency.
2017-02-08 10:59:59 -06:00
John Firebaugh
9f2f7ddd12 [core] Check in generated shader code
One step toward eliminating the node/npm dependency for platforms other than node.
2017-02-07 11:27:36 -06:00
Konstantin Käfer
62ea1f2185 [core] remove trailing whitespace, add trailing newlines, add space after // 2017-01-27 11:44:16 +01:00
Tobrun
fb759e949f [android] - add make target for javadoc (#7868) 2017-01-26 12:57:47 +01:00
Minh Nguyễn
7ef2843e6a Merge branch 'release-ios-v3.4.0' into 1ec5-release-ios-v3.4.0-beta.7 2017-01-16 11:38:35 -08:00
Minh Nguyễn
4adcdac7b5 [macos] Upgrade macOS deployment and distribution (#7649)
* [macos] Updated deployment scripts

Ported fixes from #6581 and #6740.

* [macos] Acknowledge AppleScript support

* [macos] Prepared for published documentation

Also added link to Dash docset.

* [macos] Added CocoaPods podspecs

Ported from #5653.

* [macos] Rewrote readme; updated screenshot

* [macos] Include setup instructions in standalone docs
2017-01-15 13:18:21 -08:00
John Firebaugh
a3e9c74dc6 [build] Upgrade clang-tidy and clang-format
Version 3.8.0 was removed from mason.
2017-01-13 14:53:39 +02:00
Tobrun
a3b72f3cdb [android] - add filter to make command to execute one single android instrumentation/unit test (#7657) 2017-01-10 20:15:12 +01:00
Konstantin Käfer
20615a2c15 [android] improve test runner by allowing selective execution of tests 2017-01-05 15:22:48 +01:00
Konstantin Käfer
b981c52682 [macOS] use SourceKit to ensure that all public symbols are exported 2017-01-04 23:06:22 +01:00
Minh Nguyễn
50ae3eb3c0 [ios, macos] Insert example code in original headers (#7569)
* [ios, macos] Removed extraneous code fences

* [ios] Streamlined example delimiters

Use test method names as names of example blocks and test method documentation comments as front matter for examples. Set off example blocks using a syntax similar to playground markup syntax. Avoid hard-coding indentation levels. Trigger Xcode build error when an error occurs in the script.

* [ios] Removed platform-specific code from examples

* [ios] Fixed logic error

The comment said 200 while the code said 1,500.

* [ios] Formalize build phase input

* [ios] Insert examples into original source documentation

Rewrote the example code insertion script to work on the original source files and overwrite any existing code examples on the same symbols. The script uses SourceKitten to find the documentation comment for the symbol named by the test method.

Replaced the Run Script build phase that runs the example code insertion script with a make rule that runs the same script. Inlined skeleton examples minus the contents of the code blocks.

* [ios] Fixed syntax error

* [ios] Ran ios-add-examples-to-docs

* [ios] Avoid touching unchanged headers

* [ios] Refactored example insertion script

* [ios] Point jazzy at original sources

* [ios] Invoke SourceKitten only once

* [ios] Look for methods as well as properties

* [ios] Thoroughly search for code blocks in doc comments

Refactored the example code insertion script to index test methods by their names, then recursively search the SourceKitten output for documentation comments that contain Swift code blocks, replacing each code block with the associated test method body.

* [ios, macos] Enabled example insertion for macOS

The example code insertion script is now platform-agnostic.

* [ios, macos] Fixed documentation example tests

Set the map view’s style to a minimal local JSON file. Wait for the style to finish loading before running each test. Corrected CGVector type.

* [ios, macos] Dry run mode

The output of this mode isn’t a good indicator of whether any files would’ve needed to be changed, because the presence of a conditional compilation block in one of the test methods means this script would always change and revert the corresponding comment.

* [ios] Fixed test failure

The iOS implementation of MGLMapView tries to show the Streets style by default even if no access token has been set. Avoid a race condition and frequent test failure by specifying the minimal style on initialization.

* [ios, macos] Ensure SourceKitten is installed before inserting example code

* [ios, macos] Tear down map view after each test

Keep map views from previous tests from hanging around, potentially obscuring the result of a subsequent test. Set the access token to a bogus token upfront for all style layer tests. Unified MGLStyle usage within MGLStyleTests.

* [ios, macos] Reinsert examples after generating runtime styling headers
2017-01-04 12:19:31 -08:00
Tobrun
eefbb754d0 [android] - build and test wear module on CI, cleanup gradle file, added make target, added unit test (#7534) 2016-12-28 15:16:18 +01:00
Tobrun
999747ee0f [android] - only build phone module (#7498) 2016-12-20 16:41:32 +01:00
Tobrun
161035e6bb [android] - make targets for checkstyle, spoon and AWS device farm (#7469) 2016-12-19 14:37:45 +01:00
Konstantin Käfer
13e7672f85 [build] use 64 bit libdir + dalvikvm when running android tests on 64 bit platforms 2016-12-15 16:11:20 +01:00
Tobrun
070a9b43e1 [android] - update gradle command line args for CI (#7426) 2016-12-14 12:48:59 +01:00
Bruno de Oliveira Abinader
b65b2f1c29 [qt] Skip ICU if WITH_QT_I18N is set 2016-12-12 22:34:52 +02:00
Konstantin Käfer
5c88309264 [build] speedup Android packaging by not building unit tests 2016-12-02 12:18:08 +01:00
Ivo van Dongen
c810d16f0d [android][build] core tests - initial setup for rendering tests 2016-11-27 18:50:24 +02:00
Tiago Vignatti
32b6f2fa03 [linux] Implement EGL headless backend
Original author: Tiago Vignatti <tvignatti@gmail.com>

Calling X11 window system is superfluous for headless rendering. This patch
implements EGL platform using GBM, which is slightly more simple than the GLX
path when using X11.

In principle there are no big advantages in terms of performance etc. My
motivation behind this was to get in touch with the code and the project. For
testing I'm using:

  $ unset DISPLAY && ./build/linux-x86_64/Debug/mbgl-test

v2: rebased patch against the new cmake changes; walk through render node to
find a valid one; remove EGLSurface completely cause windows are not needed
here.
2016-11-17 01:01:15 +01:00
John Firebaugh
5479b75c9f [build] Use npm install --ignore-scripts
Should be faster than npm update.
2016-11-15 14:01:30 -08:00
Bruno de Oliveira Abinader
5dcf7ca18e [linux] Added OSMesa headless backend 2016-11-13 16:10:36 -08:00
Tobrun
914c7a7575 [android] - update make clean for Android Wear module (#7018) 2016-11-11 18:45:43 +01:00
Konstantin Käfer
2411ec83b1 [build] don't rewrite style code for every build
revert of 93166aef48

On Android, we always rewrote the style code files, which lead to gratuitous recompiles
2016-11-09 11:10:22 +01:00
Tobrun
2b81dee8d3 [android] - update make targets (#6958) 2016-11-08 18:38:29 +01:00
Bruno de Oliveira Abinader
8e99ae44dd [build] Use mesa-13.0.0-glx in CI builds 2016-11-08 18:02:38 +02:00
Bruno de Oliveira Abinader
e66cc2e583 [linux] Added OSMesa headless backend 2016-11-04 18:43:08 +02: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
Bruno de Oliveira Abinader
214ec4e96a [build] Add support for 'benchmark' target on macOS 2016-10-05 15:34:30 +03:00
Ivo van Dongen
93166aef48 [android][build] always generate style sources on build 2016-10-05 12:15:15 +02:00
Thiago Marcos P. Santos
0ae25aa2ad [tests] Do not run benchmarks with GDB 2016-10-05 11:32:11 +03:00
Thiago Marcos P. Santos
5829c0dbc6 [build] Re-add benchmark tests to the buildsystem
Probably lost on the cmake migration
2016-10-05 11:12:16 +03:00
Minh Nguyễn
255325b44b [macos] Restored unit tests on CI
Restored the make rule for running macOS SDK unit tests. Invoke that rule on Bitrise.

Fixes #5991.
2016-09-28 09:44:19 -07:00
Thiago Marcos P. Santos
8efe31b7e3 [Qt] Added missing qt-lib target (#6427)
Build the shared library.

Fixes #6415
2016-09-22 14:50:01 +03:00
Tobrun
fd71c36025 [android] - optimise execution time of Android CI integration (#6283) 2016-09-20 15:53:20 +02:00
Thiago Marcos P. Santos
8d258e3542 [Qt] Initial documentation stub 2016-08-26 16:39:34 +03:00
Tobrun
d1c8dd5038 [android] #5211 - update yaml to run on device lab, update test with NoSuchSource exception (#6073) 2016-08-18 16:23:34 +02:00
Tobrun
fff0ebaa17 5859 generate sanity tests (#5870)
* [android] #5859 - generate espresso tests

[android] #5859 - cleanup xml files, use all the same resource id for map view

[android] #5859 - update scripts

[android] #5859 - update Activity to match mapboxMap naming

[android] #5859 - make SurfaceViewMediaControlActivity compatible

[android] #5859 - make MarkerViewScaleActivity test generation compatible

[android] #5859 - make PolygonActivity test generation compatible

[android] #5859 - integration within make file

[android] #5859 - made CameraPostion generation safe

[android] #5859 - generate sanity test

[android] #5859 - add generated test cases

[android] #5859 - add documentation

* [android] #5859 - remove generated files, introduce gen package, added gitignore to package

* [android] #5859 - regenerated test code

* [android] #5859 - added AWS gradle plugin + bitrise configuration

* [android] #5859 - fixes running locally without having the properties configured

* [android] #6010 - remove python from android sdk

* [android] #5859 - update docs about aws gradle plugin
2016-08-17 08:53:33 +02:00
Konstantin Käfer
51391740bf [build] convert build-shaders script from Python to Node.js 2016-08-16 15:29:34 +02:00
Fredrik Karlsson
2354c87411 Runtime styling API for iOS/macOS (#5727)
* [ios] wip runtime styling

* [ios, macos] Outlined header templates

* [ios, macos] cleanup and use appropiate data types

* [ios, macos] removed refs to mbgl and added convenient color methods on UIColor and NSColor

* [ios, macos] updated header template, included doc string

* [ios, macos] outlined template for layer implementation files

* [ios, macos] moved script to platform/darwin and updated comments

* [ios, macos] Cleaned up the implementation template

* [ios, macos] removed unused function and added support for more datatypes

* [ios, macos] overhauling the type protocols

* [ios, macos] removed unnecessary style classes

* [ios, macos] added support for more types

* [ios, macos] fixed string and number prop values

* [ios, macos] enum getters

* [ios, macos] added removeLayer() and removed unused layer ref

* [ios, macos] fixed remaining layer types and converted style layer into a protocol

* [ios, macos] fixed addLayer() and added example for line layer

* [ios] GeoJSON source now works

* [ios] fixed raster layer and raster source

* [ios] fixed attr prop number and outlined prop function

* [ios] wip functions

* [ios] bool and float function fix

* [ios] cleanup

* [macos] fixed support for macos

* [ios] fixed string functions

* [ios] extended array functions

* [ios] added tests and fixed a few bugs

* [ios] less verbose functions and improved tests

* [ios, macos] Removed unnecessary use of default arguments

Default arguments aren’t supported in Node v4, and they aren’t needed here anyways, because we’re only testing for truthiness.

* [ios, macos] Enum setters

Rely on a macro instead of category methods to specialize the setter implementation for enum attributes, since generic types are disallowed in Objective-C method signatures and mbgl::style::PropertyType must be type-qualified.

* [ios, macos] Got macOS closer to parity w/ iOS

Added various classes and test classes to the macOS workspace. Also fixed lots of compiler errors and updated macosapp runtime styling example to use the new dictionary syntax for function stops.

Updated all conversions from Objective-C stops to C++ stops to enumerate over the dictionary. Fixed compiler errors in enum setter implementations.

Also corrected path to script in generated file comments.

* [ios, macos] Added EJS templates to project

* [ios, macos] Code formatting

Made code format more consistent.

* [ios, macos] Spelled out ID

Cocoa convention is to always spell out “ID” as “identifier”, in part to avoid confusion with the id keyword. Also, URL is capitalized in most contexts, including property names.

* [ios, macos] Grouped related headers together

* [ios, macos] Cleaned up layer transformation

Also added support for converting background layers into Objective-C.

* [ios, macos] Cleaned up tests

Also made the tests work on macOS by introducing a new window to host the map.

* [ios, macos] Replaced TODOs with #warnings

* [ios] convert array based property values

* [ios, macos] color function/undefined getter

* [ios, macos] fixed function/undefined getters for bool and float properties

* [ios, macos] more function/undefined property getters

* [ios, macos] more type conversion and cleanup

* [ios, macos] disable macos runtime styling tests for now

* [ios, macos] cleaned up style code script

* [ios, macos] more type conversion

* [ios] added a base layer to handle visibility min/max zoom

* [macos] fixed base layer

* [ios, macos] use accessor methods

* [ios, macos] cleanup

* [ios, macos] add geojson to ios and macos

* [macos] rebase fix

* [ios, macos] fixed enum getters and added tests for enums

* [ios, macos] added an update method to base layer

* [ios, macos] added some documentation

* [ios, macos] docs

* [ios, macos] removed refs to filters for now

* [ios, macos] various tail work

* [ios, macos] missing import and incorrect type
2016-08-11 13:14:45 -04:00
Ivo van Dongen
66d8c00376 [android] #5886 - added style code generation for android back in 2016-08-08 09:05:30 -04:00
Konstantin Käfer
cf047b4f95 [build] forward V=1 to ninja builds 2016-08-05 11:42:22 +02:00
Konstantin Käfer
da37ba1822 [build] add missing files to Android build 2016-08-05 11:42:22 +02:00