summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Firebaugh <john.firebaugh@gmail.com>2018-08-09 12:15:09 -0700
committerJohn Firebaugh <john.firebaugh@gmail.com>2018-08-10 08:49:18 -0700
commitb500577bfa9759241b374c161a06c1bef79cf4cd (patch)
tree170d96d3a9530b16a01b0d9457870cb79787bb14
parent070f50d6b032942591fcc392fc4bdd72bddc31c4 (diff)
downloadqtlocation-mapboxgl-b500577bfa9759241b374c161a06c1bef79cf4cd.tar.gz
[android, linux] Upgrade to SQLite 3.24.0, compiled to minimize binary size
-rw-r--r--circle.yml6
-rw-r--r--cmake/mason-dependencies.cmake4
-rw-r--r--cmake/mason.cmake4
-rw-r--r--test/storage/offline_database.test.cpp16
4 files changed, 17 insertions, 13 deletions
diff --git a/circle.yml b/circle.yml
index 6c4724600e..f6b8c6f47a 100644
--- a/circle.yml
+++ b/circle.yml
@@ -110,14 +110,14 @@ step-library:
- &save-mason_packages-cache
save_cache:
name: Save mason_packages cache
- key: 'mason_packages/v1/{{ arch }}/{{ checksum "cmake/mason-dependencies.cmake" }}'
+ key: 'mason_packages/v3/{{ arch }}/{{ checksum "cmake/mason-dependencies.cmake" }}'
paths: [ "mason_packages/.binaries" ]
- &restore-mason_packages-cache
restore_cache:
name: Restore mason_packages cache
keys:
- - 'mason_packages/v1/{{ arch }}/{{ checksum "cmake/mason-dependencies.cmake" }}'
- - 'mason_packages/v1/{{ arch }}'
+ - 'mason_packages/v3/{{ arch }}/{{ checksum "cmake/mason-dependencies.cmake" }}'
+ - 'mason_packages/v3/{{ arch }}'
- &save-ccache
save_cache:
name: Save ccache
diff --git a/cmake/mason-dependencies.cmake b/cmake/mason-dependencies.cmake
index cffce0a440..826dcf2e45 100644
--- a/cmake/mason-dependencies.cmake
+++ b/cmake/mason-dependencies.cmake
@@ -20,13 +20,13 @@ mason_use(vector-tile VERSION 1.0.2 HEADER_ONLY)
if(MBGL_PLATFORM STREQUAL "android")
mason_use(jni.hpp VERSION 3.0.0 HEADER_ONLY)
- mason_use(sqlite VERSION 3.14.2)
+ mason_use(sqlite VERSION 3.24.0-min-size)
mason_use(icu VERSION 58.1-min-size)
elseif(MBGL_PLATFORM STREQUAL "ios")
mason_use(icu VERSION 58.1-min-size)
elseif(MBGL_PLATFORM STREQUAL "linux")
mason_use(glfw VERSION 2018-06-27-0be4f3f)
- mason_use(sqlite VERSION 3.14.2)
+ mason_use(sqlite VERSION 3.24.0-min-size)
mason_use(libuv VERSION 1.9.1)
mason_use(libpng VERSION 1.6.25)
mason_use(libjpeg-turbo VERSION 1.5.0)
diff --git a/cmake/mason.cmake b/cmake/mason.cmake
index 6116067080..00d268421a 100644
--- a/cmake/mason.cmake
+++ b/cmake/mason.cmake
@@ -24,11 +24,11 @@ function(mason_detect_platform)
# Android Studio only passes ANDROID_ABI, but we need to adjust that to the Mason
if(MASON_PLATFORM STREQUAL "android" AND NOT MASON_PLATFORM_VERSION)
if (ANDROID_ABI STREQUAL "armeabi-v7a")
- set(MASON_PLATFORM_VERSION "arm-v7-9" PARENT_SCOPE)
+ set(MASON_PLATFORM_VERSION "arm-v7-14" PARENT_SCOPE)
elseif (ANDROID_ABI STREQUAL "arm64-v8a")
set(MASON_PLATFORM_VERSION "arm-v8-21" PARENT_SCOPE)
elseif (ANDROID_ABI STREQUAL "x86")
- set(MASON_PLATFORM_VERSION "x86-9" PARENT_SCOPE)
+ set(MASON_PLATFORM_VERSION "x86-14" PARENT_SCOPE)
elseif (ANDROID_ABI STREQUAL "x86_64")
set(MASON_PLATFORM_VERSION "x86-64-21" PARENT_SCOPE)
else()
diff --git a/test/storage/offline_database.test.cpp b/test/storage/offline_database.test.cpp
index 10343ec305..000f24e1cd 100644
--- a/test/storage/offline_database.test.cpp
+++ b/test/storage/offline_database.test.cpp
@@ -49,8 +49,12 @@ TEST(OfflineDatabase, TEST_REQUIRES_WRITE(Invalid)) {
#ifndef __QT__
// Only non-Qt platforms are setting a logger on the SQLite object.
- EXPECT_EQ(1u, log.count({ EventSeverity::Info, Event::Database, static_cast<int64_t>(mapbox::sqlite::ResultCode::NotADB),
- "statement aborts at 1: [PRAGMA user_version] file is encrypted or is not a database" }, true));
+ // Checking two possibilities for the error string because it apparently changes between SQLite versions.
+ EXPECT_EQ(1u,
+ log.count({ EventSeverity::Info, Event::Database, static_cast<int64_t>(mapbox::sqlite::ResultCode::NotADB),
+ "statement aborts at 1: [PRAGMA user_version] file is encrypted or is not a database" }, true) +
+ log.count({ EventSeverity::Info, Event::Database, static_cast<int64_t>(mapbox::sqlite::ResultCode::NotADB),
+ "statement aborts at 1: [PRAGMA user_version] file is not a database" }, true));
#endif
EXPECT_EQ(1u, log.count({ EventSeverity::Warning, Event::Database, -1, "Removing existing incompatible offline database" }));
EXPECT_EQ(0u, log.uncheckedCount());
@@ -618,15 +622,15 @@ TEST(OfflineDatabase, BatchInsertionMapboxTileCountExceeded) {
db.setOfflineMapboxTileCountLimit(1);
OfflineRegionDefinition definition { "", LatLngBounds::world(), 0, INFINITY, 1.0 };
OfflineRegion region = db.createRegion(definition, OfflineRegionMetadata());
-
+
Response response;
response.data = randomString(1024);
std::list<std::tuple<Resource, Response>> resources;
-
+
resources.emplace_back(Resource::style("http://example.com/"), response);
resources.emplace_back(Resource::tile("mapbox://tiles/1", 1.0, 0, 0, 0, Tileset::Scheme::XYZ), response);
resources.emplace_back(Resource::tile("mapbox://tiles/2", 1.0, 0, 0, 0, Tileset::Scheme::XYZ), response);
-
+
OfflineRegionStatus status;
try {
db.putRegionResources(region.getID(), resources, status);
@@ -634,7 +638,7 @@ TEST(OfflineDatabase, BatchInsertionMapboxTileCountExceeded) {
} catch (const MapboxTileLimitExceededException&) {
// Expected
}
-
+
EXPECT_EQ(status.completedTileCount, 1u);
EXPECT_EQ(status.completedResourceCount, 2u);
EXPECT_EQ(db.getRegionCompletedStatus(region.getID()).completedTileCount, 1u);