From b500577bfa9759241b374c161a06c1bef79cf4cd Mon Sep 17 00:00:00 2001 From: John Firebaugh Date: Thu, 9 Aug 2018 12:15:09 -0700 Subject: [android, linux] Upgrade to SQLite 3.24.0, compiled to minimize binary size --- circle.yml | 6 +++--- cmake/mason-dependencies.cmake | 4 ++-- cmake/mason.cmake | 4 ++-- test/storage/offline_database.test.cpp | 16 ++++++++++------ 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(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(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(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> 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); -- cgit v1.2.1