Skip to content

Commit 99aafb6

Browse files
authored
Upgrade to gl-native 10.19.2, common 23.11.2 and NDK 27 artifacts (#2886)
1 parent c419546 commit 99aafb6

11 files changed

+59
-21
lines changed

CHANGELOG.md

+6-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,16 @@
33
Mapbox welcomes participation and contributions from everyone.
44

55
# 10.19.0
6+
## Features ✨ and improvements 🏁
7+
* Publish Mapbox Maps Android artifacts using NDK 27 and [support for 16 KB page sizes](https://developer.android.com/guide/practices/page-sizes).
8+
* The new artifacts are available by appending `-ndk27` to the artifact ID (for example, `com.mapbox.maps:android-ndk27:10.19.0`).
9+
610
## Bug fixes 🐞
711
* Fix rare `android.content.res.Resources$NotFoundException` happening when creating a `MapView`.
12+
* Fix tile prefetch for GeoJSON sources
813

914
## Dependencies
10-
* Update gl-native to v10.19.1 and common to v23.11.0.
15+
* Update gl-native to v10.19.2 and common to v23.11.2.
1116

1217
# 10.18.4 September 06, 2024
1318
## Features ✨ and improvements 🏁

LICENSE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -358,7 +358,7 @@ License: [The Apache Software License, Version 2.0](http://www.apache.org/licens
358358

359359
===========================================================================
360360

361-
### MapboxCoreMaps,10.19.0,Mapbox ToS,Mapbox,https://www.mapbox.com/
361+
### MapboxCoreMaps,10.19.2,Mapbox ToS,Mapbox,https://www.mapbox.com/
362362

363363
```
364364
Mapbox Core Maps version 10.0

Makefile

+13-8
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,11 @@ sdk-build:
1313
./gradlew assembleRelease -x app:assembleRelease -x android-auto-app:assembleRelease\
1414
-x compose-app:assembleRelease -x extension-style-app:assembleRelease
1515

16+
.PHONY: sdk-build-ndk27
17+
sdk-build-ndk27:
18+
./gradlew -PndkMajor=27 assembleRelease -x app:assembleRelease -x android-auto-app:assembleRelease\
19+
-x compose-app:assembleRelease -x extension-style-app:assembleRelease
20+
1621
# Use `make checkApi TAG=ReleaseTag` to check the release tag or `make checkApi` to check current branch while running locally.
1722
# Note: if run locally, execute `mbx env` and `./gradlew assembleRelease` first.
1823
.PHONY: checkApi
@@ -41,35 +46,35 @@ fix:
4146

4247
.PHONY: sdkRegistryUpload
4348
sdkRegistryUpload:
44-
./gradlew mapboxSDKRegistryUpload -x extension-androidauto:mapboxSDKRegistryUpload --no-parallel --no-daemon;
49+
./gradlew mapboxSDKRegistryUpload -x extension-androidauto:mapboxSDKRegistryUpload --no-parallel --no-daemon $(NDK_MAJOR_PARAM);
4550

4651
.PHONY: sdkRegistryPublicReleaseUpload
4752
sdkRegistryPublicReleaseUpload:
48-
./gradlew mapboxSDKRegistryPublicReleaseUpload -x extension-androidauto:mapboxSDKRegistryPublicReleaseUpload --no-parallel --no-daemon;
53+
./gradlew mapboxSDKRegistryPublicReleaseUpload -x extension-androidauto:mapboxSDKRegistryPublicReleaseUpload --no-parallel --no-daemon $(NDK_MAJOR_PARAM);
4954

5055
.PHONY: sdkRegistryPrivateReleaseUpload
5156
sdkRegistryPrivateReleaseUpload:
52-
./gradlew mapboxSDKRegistryPrivateReleaseUpload -x extension-androidauto:mapboxSDKRegistryPrivateReleaseUpload --no-parallel --no-daemon;
57+
./gradlew mapboxSDKRegistryPrivateReleaseUpload -x extension-androidauto:mapboxSDKRegistryPrivateReleaseUpload --no-parallel --no-daemon $(NDK_MAJOR_PARAM);
5358

5459
.PHONY: sdkRegistryPublish
5560
sdkRegistryPublish:
56-
./gradlew mapboxSDKRegistryPublishAll;
61+
./gradlew mapboxSDKRegistryPublishAll $(NDK_MAJOR_PARAM);
5762

5863
.PHONY: sdkRegistryPublicReleasePublish
5964
sdkRegistryPublicReleasePublish:
60-
./gradlew mapboxSDKRegistryPublicReleasePublishAll;
65+
./gradlew mapboxSDKRegistryPublicReleasePublishAll $(NDK_MAJOR_PARAM);
6166

6267
.PHONY: sdkRegistryPrivateReleasePublish
6368
sdkRegistryPrivateReleasePublish:
64-
./gradlew mapboxSDKRegistryPrivateReleasePublishAll;
69+
./gradlew mapboxSDKRegistryPrivateReleasePublishAll $(NDK_MAJOR_PARAM);
6570

6671
.PHONY: sdkRegistryUploadPublicReleaseAndroidAutoExtension
6772
sdkRegistryUploadPublicReleaseAndroidAutoExtension:
68-
./gradlew extension-androidauto:mapboxSDKRegistryPublicReleaseUpload;
73+
./gradlew extension-androidauto:mapboxSDKRegistryPublicReleaseUpload $(NDK_MAJOR_PARAM);
6974

7075
.PHONY: sdkRegistryPublishPublicReleaseAndroidAutoExtension
7176
sdkRegistryPublishPublicReleaseAndroidAutoExtension:
72-
./gradlew extension-androidauto:mapboxSDKRegistryPublicReleasePublish;
77+
./gradlew extension-androidauto:mapboxSDKRegistryPublicReleasePublish $(NDK_MAJOR_PARAM);
7378

7479
.PHONY: clean
7580
clean:

app/build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ plugins {
33
kotlin("android")
44
id("com.mapbox.maps.token")
55
id("io.gitlab.arturbosch.detekt").version(Versions.detekt)
6+
id("com.mapbox.gradle.plugins.ndk")
67
}
78

89
apply {

build.gradle.kts

+1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ buildscript {
2525
classpath(Plugins.mapboxAccessToken)
2626
classpath(Plugins.mapboxSdkRegistry)
2727
classpath(Plugins.mapboxSdkVersionsPlugin)
28+
classpath(Plugins.mapboxNdkPlugin)
2829
classpath(Plugins.pitestPlugin)
2930
classpath(Plugins.playPublisher)
3031
classpath(Plugins.gradleVersions)

buildSrc/src/main/kotlin/Project.kt

+10-5
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ object Plugins {
2828
const val mapboxAccessToken = "com.mapbox.gradle.plugins:access-token:${Versions.mapboxAccessToken}"
2929
const val mapboxSdkRegistry = "com.mapbox.gradle.plugins:sdk-registry:${Versions.mapboxSdkRegistry}"
3030
const val mapboxSdkVersionsPlugin = "com.mapbox.mapboxsdk:mapbox-android-sdk-versions:${Versions.mapboxSdkVersionsPlugin}"
31+
const val mapboxNdkPlugin = "com.mapbox.gradle.plugins:ndk:${Versions.mapboxNdkPlugin}"
3132
const val dokkaId = "org.jetbrains.dokka"
3233
const val binaryCompatibilityValidatorId = "org.jetbrains.kotlinx.binary-compatibility-validator"
3334
const val taskTreeId = "com.dorongold.task-tree"
@@ -37,15 +38,18 @@ object Plugins {
3738
const val gradleVersions = "com.github.ben-manes:gradle-versions-plugin:${Versions.gradleVersionsPlugin}"
3839
}
3940

41+
object Modules {
42+
const val mapboxGlNative = "com.mapbox.maps:android-core"
43+
const val mapboxCoreCommon = "com.mapbox.common:common"
44+
const val mapboxOkHttp = "com.mapbox.common:okhttp"
45+
}
46+
4047
object Dependencies {
4148
const val mapboxBase = "com.mapbox.base:common:${Versions.mapboxBase}"
4249
const val mapboxAnnotations = "com.mapbox.base:annotations:${Versions.mapboxBase}"
4350
const val mapboxAnnotationsProcessor = "com.mapbox.base:annotations-processor:${Versions.mapboxBase}"
4451
const val mapboxJavaGeoJSON = "com.mapbox.mapboxsdk:mapbox-sdk-geojson:${Versions.mapboxJavaServices}"
4552
const val mapboxServices = "com.mapbox.mapboxsdk:mapbox-sdk-services:${Versions.mapboxJavaServices}"
46-
const val mapboxGlNative = "com.mapbox.maps:android-core:${Versions.mapboxGlNative}"
47-
const val mapboxCoreCommon = "com.mapbox.common:common:${Versions.mapboxCommon}"
48-
const val mapboxOkHttp = "com.mapbox.common:okhttp:${Versions.mapboxCommon}"
4953
const val mapboxJavaTurf = "com.mapbox.mapboxsdk:mapbox-sdk-turf:${Versions.mapboxJavaServices}"
5054
const val mapboxGestures = "com.mapbox.mapboxsdk:mapbox-android-gestures:${Versions.mapboxGestures}"
5155
const val androidxAppCompat = "androidx.appcompat:appcompat:${Versions.androidxAppcompat}"
@@ -114,8 +118,8 @@ object Versions {
114118
const val mapboxGestures = "0.9.1" // Required to support compile SDK 30
115119
const val mapboxJavaServices = "5.4.1"
116120
const val mapboxBase = "0.8.0"
117-
const val mapboxGlNative = "10.19.1"
118-
const val mapboxCommon = "23.11.0"
121+
const val mapboxGlNative = "10.19.2"
122+
const val mapboxCommon = "23.11.2"
119123
const val androidxCore = "1.6.0" // Latest version that supports compile SDK 30
120124
const val androidxFragmentTesting = "1.3.6" // Latest version that supports compile SDK 30
121125
const val androidxAnnotation = "1.1.0"
@@ -147,6 +151,7 @@ object Versions {
147151
const val equalsVerifier = "3.10.1"
148152
const val asyncInflater = "1.0.0"
149153
const val mapboxSdkVersionsPlugin = "1.1.3"
154+
const val mapboxNdkPlugin = "0.1.1"
150155
const val pitest = "0.2.8"
151156
const val detekt = "1.20.0"
152157
const val compose = "1.1.0-beta03"

gradle/commonlibs.versions.toml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[versions]
2+
3+
# Mapbox NDK Gradle Plugin will read these versions to figure out what NDK versions are supported in
4+
# this codebase.
5+
defaultNdkMajor = "21"
6+
ndkMajor21 = "21.4.7075529"
7+
ndkMajor27 = "27.0.12077973"

gradle/sdk-registry.gradle

+7-2
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,15 @@ version = project.ext.versionName
66
group = project.ext.mapboxArtifactGroupId
77
afterEvaluate {
88
def isSnapshot = project.ext.versionName.contains("-SNAPSHOT")
9+
def ndkMajor = project.findProperty("ndkMajor")?.toString()
10+
def mapboxArtifactId = project.ext.mapboxArtifactId + ((ndkMajor != null) ? "-ndk$ndkMajor" : "")
11+
def mapboxRegistrySdkName = project.ext.mapboxRegistrySdkName + ((ndkMajor != null) ? "-ndk$ndkMajor" : "")
12+
logger.lifecycle("Artifact ID: $mapboxArtifactId")
913
components.findAll { it.name.endsWith("Release") }.forEach { currentComponent ->
1014
def flavor = currentComponent.name.substring(0, currentComponent.name.length() - "Release".length())
1115
// Append `-private` if we're publishing a privateRelease variant
12-
def componentRegistrySdkName = project.ext.mapboxRegistrySdkName + (flavor == "private" ? "-private" : "")
16+
def componentRegistrySdkName = mapboxRegistrySdkName + (flavor == "private" ? "-private" : "")
17+
logger.lifecycle("componentRegistrySdkName: $componentRegistrySdkName")
1318
registry {
1419
registryPublications {
1520
"${currentComponent.name}" {
@@ -53,7 +58,7 @@ afterEvaluate {
5358
"$currentComponent.name"(MavenPublication) {
5459
from currentComponent
5560
groupId this.group
56-
artifactId project.ext.mapboxArtifactId
61+
artifactId mapboxArtifactId
5762
version this.version
5863

5964
artifact(tasks.findByName("androidSources${currentComponent.name}Jar"))

sdk-base/build.gradle.kts

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import com.android.build.gradle.internal.cxx.configure.gradleLocalProperties
21
import org.jetbrains.dokka.gradle.DokkaTask
32

43
plugins {
@@ -47,8 +46,9 @@ dependencies {
4746
api(project(":maps-core"))
4847
api(project(":common"))
4948
} else {
50-
api(Dependencies.mapboxGlNative)
51-
api(Dependencies.mapboxCoreCommon)
49+
val ndkMajorSuffix = project.findProperty("ndkMajor")?.toString()?.run { "-ndk$this" } ?: ""
50+
api("${Modules.mapboxGlNative}${ndkMajorSuffix}:${Versions.mapboxGlNative}")
51+
api("${Modules.mapboxCoreCommon}${ndkMajorSuffix}:${Versions.mapboxCommon}")
5252
}
5353

5454
testImplementation(Dependencies.junit)

sdk/build.gradle.kts

+2-1
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,8 @@ dependencies {
6565
if (buildFromSource.toBoolean()) {
6666
api(project(":okhttp"))
6767
} else {
68-
api(Dependencies.mapboxOkHttp)
68+
val ndkMajorSuffix = project.findProperty("ndkMajor")?.toString()?.run { "-ndk$this" } ?: ""
69+
api("${Modules.mapboxOkHttp}${ndkMajorSuffix}:${Versions.mapboxCommon}")
6970
}
7071

7172
implementation(Dependencies.mapboxAnnotations)

settings.gradle.kts

+8
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,14 @@ pluginManagement {
66
}
77
}
88

9+
dependencyResolutionManagement {
10+
versionCatalogs {
11+
create("commonLibs") {
12+
from(files("gradle/commonlibs.versions.toml"))
13+
}
14+
}
15+
}
16+
917
include(
1018
":android-auto-app",
1119
":compose-app",

0 commit comments

Comments
 (0)