Skip to content

Commit dce5752

Browse files
authored
Merge branch 'main' into pre-commit-ci-update-config
2 parents 77fecb2 + e37a39e commit dce5752

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+1733
-367
lines changed

.bazelversion

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
8.4.1
1+
8.4.2

.github/workflows/android-release.yml

Lines changed: 10 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -127,28 +127,20 @@ jobs:
127127
platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-${{ matrix.RENDERER }}-${{ env.buildtype }}-${{ needs.android-create-release.outputs.version_tag }}.aar
128128
platform/android/build/debug-symbols-maplibre-android-${{ matrix.RENDERER }}-${{ env.buildtype }}-${{ needs.android-create-release.outputs.version_tag }}.tar.gz
129129
130-
- name: Prepare MavenCentral release
131-
env:
132-
GPG_KEY_CONTENTS: ${{ secrets.GPG_KEY_CONTENTS }}
133-
run: |
134-
echo "${GPG_KEY_CONTENTS}" | base64 -d > signing-key.gpg
135-
shell: bash
136-
137130
- name: Publish to MavenCentral
138131
run: |
139132
renderer=${{ matrix.RENDERER }}
140133
if [ "$renderer" = "opengl" ]; then
141-
./gradlew :MapLibreAndroid:publishOpengl${{ env.buildtype }}PublicationToSonatypeRepository
142-
./gradlew :MapLibreAndroid:publishDefault${{ env.buildtype }}PublicationToSonatypeRepository
134+
./gradlew :MapLibreAndroid:publishOpengl${{ env.buildtype }}PublicationToMavenCentralRepository
135+
./gradlew :MapLibreAndroid:publishDefault${{ env.buildtype }}PublicationToMavenCentralRepository
143136
else
144-
./gradlew :MapLibreAndroid:publishVulkan${{ env.buildtype }}PublicationToSonatypeRepository
137+
./gradlew :MapLibreAndroid:publishVulkan${{ env.buildtype }}PublicationToMavenCentralRepository
145138
fi
146139
env:
147-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
148-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
149-
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
150-
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
151-
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
140+
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
141+
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
142+
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.SIGNING_PRIVATE_KEY }}
143+
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.SIGNING_PASSWORD }}
152144

153145
finilize-release:
154146
runs-on: ubuntu-latest
@@ -170,13 +162,9 @@ jobs:
170162
distribution: "temurin"
171163
java-version: "17"
172164

173-
- name: Close Sonatype staging repository
174-
run: ./gradlew closeSonatypeStagingRepository
175-
working-directory: platform/android
176-
env:
177-
MAVEN_CENTRAL_USERNAME: ${{ secrets.MAVEN_CENTRAL_USERNAME }}
178-
MAVEN_CENTRAL_PASSWORD: ${{ secrets.MAVEN_CENTRAL_PASSWORD }}
179-
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
165+
- uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v4
166+
with:
167+
node-version-file: ".nvmrc"
180168

181169
- run: npm install
182170
working-directory: .

.github/workflows/ios-ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,7 @@ jobs:
340340
with:
341341
app-id: ${{ secrets.MAPLIBRE_NATIVE_BOT_APP_ID }}
342342
private-key: ${{ secrets.MAPLIBRE_NATIVE_BOT_PRIVATE_KEY }}
343+
owner: ${{ github.repository_owner }}
343344

344345
- name: Release (Swift Package Index)
345346
if: env.make_release
@@ -355,7 +356,7 @@ jobs:
355356
-d '{"ref":"main","inputs":{
356357
"changelog_url": "https://maplibre-native.s3.eu-central-1.amazonaws.com/changelogs/ios-${{ env.version }}.md",
357358
"version":"${{ env.version }}",
358-
"download_url":"${{ fromJSON(steps.github_release.outputs.assets)[0].browser_download_url }}"}}'
359+
"download_url": "https://github.com/maplibre/maplibre-native/releases/download/ios-v${{ env.version }}/MapLibre.dynamic.xcframework.zip"'
359360
360361
- run: npm install
361362
working-directory: .

MODULE.bazel

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ module(name = "maplibre")
33
bazel_dep(name = "bazel_skylib", version = "1.8.2")
44
bazel_dep(name = "platforms", version = "1.0.0")
55
bazel_dep(name = "rules_apple", version = "4.2.0")
6-
bazel_dep(name = "rules_swift", version = "3.1.2")
7-
bazel_dep(name = "rules_xcodeproj", version = "3.2.0")
8-
bazel_dep(name = "aspect_rules_js", version = "2.6.2")
9-
bazel_dep(name = "rules_nodejs", version = "6.5.2")
6+
bazel_dep(name = "rules_swift", version = "3.3.0")
7+
bazel_dep(name = "rules_xcodeproj", version = "3.3.0")
8+
bazel_dep(name = "aspect_rules_js", version = "2.8.1")
9+
bazel_dep(name = "rules_nodejs", version = "6.6.2")
1010
bazel_dep(name = "libuv", version = "1.48.0")
11-
bazel_dep(name = "apple_support", version = "1.23.1", repo_name = "build_bazel_apple_support")
12-
bazel_dep(name = "rules_cc", version = "0.2.9")
11+
bazel_dep(name = "apple_support", version = "1.24.5", repo_name = "build_bazel_apple_support")
12+
bazel_dep(name = "rules_cc", version = "0.2.14")
1313
bazel_dep(name = "rules_shell", version = "0.6.1")
14-
bazel_dep(name = "googletest", version = "1.17.0.bcr.1")
14+
bazel_dep(name = "googletest", version = "1.17.0.bcr.2")
1515

1616
node = use_extension("@rules_nodejs//nodejs:extensions.bzl", "node", dev_dependency = True)
1717
node.toolchain(node_version = "20.14.0")
@@ -72,7 +72,7 @@ darwin_config(
7272
name = "darwin_config",
7373
)
7474

75-
bazel_dep(name = "rules_rust", version = "0.66.0")
75+
bazel_dep(name = "rules_rust", version = "0.67.0")
7676
bazel_dep(name = "cxx.rs", version = "1.0.157")
7777

7878
# The registry is not always up to date

platform/android/CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,32 @@
11
# Changelog MapLibre Native for Android
22

3+
## 12.1.3
4+
5+
- Disable `UnsatisfiedLinkError` during local tests ([#3942](https://github.com/maplibre/maplibre-native/pull/3942)
6+
7+
## 12.1.2
8+
9+
- Update to latest MLT submodule ([#3945](https://github.com/maplibre/maplibre-native/pull/3945)).
10+
11+
## 12.1.0
12+
13+
### ✨ Features and improvements
14+
15+
- Add support for parsing MLT-format vector tile sources ([#3246](https://github.com/maplibre/maplibre-native/pull/3246)).
16+
- Throw exception on `System.loadLibrary` fail ([#3916](https://github.com/maplibre/maplibre-native/pull/3916)).
17+
- Release allocated compass Bitmap as soon as possible ([#3889](https://github.com/maplibre/maplibre-native/pull/3889)).
18+
- Apply symbol shader changes from JS for Metal, Vulkan, and OpenGL ([#3873](https://github.com/maplibre/maplibre-native/pull/3873)).
19+
- Improve CMake build setup Harfbuzz and Freetype deps ([#3879](https://github.com/maplibre/maplibre-native/pull/3879)).
20+
21+
### 🐞 Bug fixes
22+
23+
- [vulkan] Prevent member variable shadowing in `mbgl::vulkan::ShaderProgram` ([#3886](https://github.com/maplibre/maplibre-native/pull/3886)).
24+
- Add padding support to MapSnapshotter Android ([#3882](https://github.com/maplibre/maplibre-native/pull/3882)).
25+
- Fix `requestRenderAndNotify` continuous callback ([#3913](https://github.com/maplibre/maplibre-native/pull/3913)).
26+
- Add null check to Projection.getContentPadding() ([#3937](https://github.com/maplibre/maplibre-native/pull/3937)).
27+
- Assume CustomGeometrySource is cancelled when peer is null ([#3933](https://github.com/maplibre/maplibre-native/pull/3933)).
28+
- Use weak pointer for core layer ([#3931](https://github.com/maplibre/maplibre-native/pull/3931)).
29+
330
## 12.0.1
431

532
### ✨ Features and improvements

platform/android/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ MLN_ANDROID_GRADLE_SINGLE_JOB = ./gradlew --parallel --max-workers=1 -Pmapbox.bu
5959
# Generate code based on the style specification
6060
.PHONY: android-style-code
6161
android-style-code:
62-
node scripts/generate-style-code.js
62+
node scripts/generate-style-code.mjs
6363
style-code: android-style-code
6464

6565
define ANDROID_RULES

platform/android/MapLibreAndroid/src/cpp/style/layers/background_layer.cpp

Lines changed: 47 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -40,56 +40,94 @@ BackgroundLayer::~BackgroundLayer() = default;
4040

4141
jni::Local<jni::Object<>> BackgroundLayer::getBackgroundColor(jni::JNIEnv& env) {
4242
using namespace mbgl::android::conversion;
43-
return std::move(*convert<jni::Local<jni::Object<>>>(env, toBackgroundLayer(layer).getBackgroundColor()));
43+
auto layer = layerPtr.get();
44+
if (!layer) {
45+
return std::move(*convert<jni::Local<jni::Object<>>>(env, style::BackgroundLayer::getDefaultBackgroundColor()));
46+
}
47+
return std::move(*convert<jni::Local<jni::Object<>>>(env, toBackgroundLayer(*layer).getBackgroundColor()));
4448
}
4549

4650
jni::Local<jni::Object<TransitionOptions>> BackgroundLayer::getBackgroundColorTransition(jni::JNIEnv& env) {
4751
using namespace mbgl::android::conversion;
48-
mbgl::style::TransitionOptions options = toBackgroundLayer(layer).getBackgroundColorTransition();
52+
auto layer = layerPtr.get();
53+
if (!layer) {
54+
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, mbgl::style::TransitionOptions()));
55+
}
56+
mbgl::style::TransitionOptions options = toBackgroundLayer(*layer).getBackgroundColorTransition();
4957
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options));
5058
}
5159

5260
void BackgroundLayer::setBackgroundColorTransition(jni::JNIEnv&, jlong duration, jlong delay) {
61+
auto layer = layerPtr.get();
62+
if (!layer) {
63+
return;
64+
}
5365
mbgl::style::TransitionOptions options;
5466
options.duration.emplace(mbgl::Milliseconds(duration));
5567
options.delay.emplace(mbgl::Milliseconds(delay));
56-
toBackgroundLayer(layer).setBackgroundColorTransition(options);
68+
toBackgroundLayer(*layer).setBackgroundColorTransition(options);
5769
}
5870

5971
jni::Local<jni::Object<>> BackgroundLayer::getBackgroundPattern(jni::JNIEnv& env) {
6072
using namespace mbgl::android::conversion;
61-
return std::move(*convert<jni::Local<jni::Object<>>>(env, toBackgroundLayer(layer).getBackgroundPattern()));
73+
auto layer = layerPtr.get();
74+
if (!layer) {
75+
return std::move(
76+
*convert<jni::Local<jni::Object<>>>(env, style::BackgroundLayer::getDefaultBackgroundPattern()));
77+
}
78+
return std::move(*convert<jni::Local<jni::Object<>>>(env, toBackgroundLayer(*layer).getBackgroundPattern()));
6279
}
6380

6481
jni::Local<jni::Object<TransitionOptions>> BackgroundLayer::getBackgroundPatternTransition(jni::JNIEnv& env) {
6582
using namespace mbgl::android::conversion;
66-
mbgl::style::TransitionOptions options = toBackgroundLayer(layer).getBackgroundPatternTransition();
83+
auto layer = layerPtr.get();
84+
if (!layer) {
85+
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, mbgl::style::TransitionOptions()));
86+
}
87+
mbgl::style::TransitionOptions options = toBackgroundLayer(*layer).getBackgroundPatternTransition();
6788
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options));
6889
}
6990

7091
void BackgroundLayer::setBackgroundPatternTransition(jni::JNIEnv&, jlong duration, jlong delay) {
92+
auto layer = layerPtr.get();
93+
if (!layer) {
94+
return;
95+
}
7196
mbgl::style::TransitionOptions options;
7297
options.duration.emplace(mbgl::Milliseconds(duration));
7398
options.delay.emplace(mbgl::Milliseconds(delay));
74-
toBackgroundLayer(layer).setBackgroundPatternTransition(options);
99+
toBackgroundLayer(*layer).setBackgroundPatternTransition(options);
75100
}
76101

77102
jni::Local<jni::Object<>> BackgroundLayer::getBackgroundOpacity(jni::JNIEnv& env) {
78103
using namespace mbgl::android::conversion;
79-
return std::move(*convert<jni::Local<jni::Object<>>>(env, toBackgroundLayer(layer).getBackgroundOpacity()));
104+
auto layer = layerPtr.get();
105+
if (!layer) {
106+
return std::move(
107+
*convert<jni::Local<jni::Object<>>>(env, style::BackgroundLayer::getDefaultBackgroundOpacity()));
108+
}
109+
return std::move(*convert<jni::Local<jni::Object<>>>(env, toBackgroundLayer(*layer).getBackgroundOpacity()));
80110
}
81111

82112
jni::Local<jni::Object<TransitionOptions>> BackgroundLayer::getBackgroundOpacityTransition(jni::JNIEnv& env) {
83113
using namespace mbgl::android::conversion;
84-
mbgl::style::TransitionOptions options = toBackgroundLayer(layer).getBackgroundOpacityTransition();
114+
auto layer = layerPtr.get();
115+
if (!layer) {
116+
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, mbgl::style::TransitionOptions()));
117+
}
118+
mbgl::style::TransitionOptions options = toBackgroundLayer(*layer).getBackgroundOpacityTransition();
85119
return std::move(*convert<jni::Local<jni::Object<TransitionOptions>>>(env, options));
86120
}
87121

88122
void BackgroundLayer::setBackgroundOpacityTransition(jni::JNIEnv&, jlong duration, jlong delay) {
123+
auto layer = layerPtr.get();
124+
if (!layer) {
125+
return;
126+
}
89127
mbgl::style::TransitionOptions options;
90128
options.duration.emplace(mbgl::Milliseconds(duration));
91129
options.delay.emplace(mbgl::Milliseconds(delay));
92-
toBackgroundLayer(layer).setBackgroundOpacityTransition(options);
130+
toBackgroundLayer(*layer).setBackgroundOpacityTransition(options);
93131
}
94132

95133
// BackgroundJavaLayerPeerFactory

0 commit comments

Comments
 (0)