diff --git a/.gitignore b/.gitignore index 81a45ee..2b378a9 100644 --- a/.gitignore +++ b/.gitignore @@ -6,7 +6,15 @@ harness/test-results/ harness/playwright-report/ harness/ui-recolored.png -# Native build products, produced by scripts/build-android.sh and build-ios.sh +# Native build products, produced by scripts/build-*.sh. The SDKs take them from +# a release (.github/workflows/release.yml), so a copy here would only be a stale +# second answer to "which build is this". +bindings/android/core/jniLibs/ +bindings/android/style/jniLibs/ +bindings/ios-core/lib/ +bindings/ios-core/TilePng.xcframework/ +bindings/ios-style/lib/ +bindings/ios-style/MvtStyle.xcframework/ bindings/android/build/ bindings/android/vectortile/build/ bindings/android/.gradle/ diff --git a/Cargo.lock b/Cargo.lock index 81de2e7..2592b91 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -242,7 +242,7 @@ dependencies = [ [[package]] name = "mvt-render" -version = "0.1.0" +version = "0.1.1" dependencies = [ "earcutr", "mvt-style", @@ -253,14 +253,14 @@ dependencies = [ [[package]] name = "mvt-render-ffi" -version = "0.1.0" +version = "0.1.1" dependencies = [ "mvt-render", ] [[package]] name = "mvt-render-jni" -version = "0.1.0" +version = "0.1.1" dependencies = [ "jni", "mvt-render", @@ -268,7 +268,7 @@ dependencies = [ [[package]] name = "mvt-render-wasm" -version = "0.1.0" +version = "0.1.1" dependencies = [ "console_error_panic_hook", "mvt-render", @@ -278,21 +278,21 @@ dependencies = [ [[package]] name = "mvt-style" -version = "0.1.0" +version = "0.1.1" dependencies = [ "serde_json", ] [[package]] name = "mvt-style-ffi" -version = "0.1.0" +version = "0.1.1" dependencies = [ "mvt-style", ] [[package]] name = "mvt-style-jni" -version = "0.1.0" +version = "0.1.1" dependencies = [ "jni", "mvt-style", @@ -300,7 +300,7 @@ dependencies = [ [[package]] name = "mvt-style-wasm" -version = "0.1.0" +version = "0.1.1" dependencies = [ "mvt-style", "wasm-bindgen", diff --git a/Cargo.toml b/Cargo.toml index b5c6f96..81c7b3f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,7 +15,7 @@ members = [ ] [workspace.package] -version = "0.1.0" +version = "0.1.1" edition = "2021" license = "Apache-2.0" diff --git a/bindings/android/core/jniLibs/arm64-v8a/libtile_png_jni.so b/bindings/android/core/jniLibs/arm64-v8a/libtile_png_jni.so deleted file mode 100755 index 82864d5..0000000 Binary files a/bindings/android/core/jniLibs/arm64-v8a/libtile_png_jni.so and /dev/null differ diff --git a/bindings/android/core/jniLibs/armeabi-v7a/libtile_png_jni.so b/bindings/android/core/jniLibs/armeabi-v7a/libtile_png_jni.so deleted file mode 100755 index 76bd3cd..0000000 Binary files a/bindings/android/core/jniLibs/armeabi-v7a/libtile_png_jni.so and /dev/null differ diff --git a/bindings/android/core/jniLibs/x86_64/libtile_png_jni.so b/bindings/android/core/jniLibs/x86_64/libtile_png_jni.so deleted file mode 100755 index f77b5ac..0000000 Binary files a/bindings/android/core/jniLibs/x86_64/libtile_png_jni.so and /dev/null differ diff --git a/bindings/android/style/jniLibs/arm64-v8a/libmvt_style_jni.so b/bindings/android/style/jniLibs/arm64-v8a/libmvt_style_jni.so deleted file mode 100755 index 9517c7b..0000000 Binary files a/bindings/android/style/jniLibs/arm64-v8a/libmvt_style_jni.so and /dev/null differ diff --git a/bindings/android/style/jniLibs/armeabi-v7a/libmvt_style_jni.so b/bindings/android/style/jniLibs/armeabi-v7a/libmvt_style_jni.so deleted file mode 100755 index 33082c8..0000000 Binary files a/bindings/android/style/jniLibs/armeabi-v7a/libmvt_style_jni.so and /dev/null differ diff --git a/bindings/android/style/jniLibs/x86_64/libmvt_style_jni.so b/bindings/android/style/jniLibs/x86_64/libmvt_style_jni.so deleted file mode 100755 index b6597e2..0000000 Binary files a/bindings/android/style/jniLibs/x86_64/libmvt_style_jni.so and /dev/null differ diff --git a/bindings/ios-core/TilePng.xcframework/Info.plist b/bindings/ios-core/TilePng.xcframework/Info.plist deleted file mode 100644 index 4bf8942..0000000 --- a/bindings/ios-core/TilePng.xcframework/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - AvailableLibraries - - - BinaryPath - libtile_png_ffi.a - LibraryIdentifier - ios-arm64-simulator - LibraryPath - libtile_png_ffi.a - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - SupportedPlatformVariant - simulator - - - BinaryPath - libtile_png_ffi.a - LibraryIdentifier - ios-arm64 - LibraryPath - libtile_png_ffi.a - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - - - CFBundlePackageType - XFWK - XCFrameworkFormatVersion - 1.0 - - diff --git a/bindings/ios-core/TilePng.xcframework/ios-arm64-simulator/libtile_png_ffi.a b/bindings/ios-core/TilePng.xcframework/ios-arm64-simulator/libtile_png_ffi.a deleted file mode 100644 index 93eeea7..0000000 Binary files a/bindings/ios-core/TilePng.xcframework/ios-arm64-simulator/libtile_png_ffi.a and /dev/null differ diff --git a/bindings/ios-core/TilePng.xcframework/ios-arm64/libtile_png_ffi.a b/bindings/ios-core/TilePng.xcframework/ios-arm64/libtile_png_ffi.a deleted file mode 100644 index a479fc8..0000000 Binary files a/bindings/ios-core/TilePng.xcframework/ios-arm64/libtile_png_ffi.a and /dev/null differ diff --git a/bindings/ios-core/lib/device/libtile_png_ffi.a b/bindings/ios-core/lib/device/libtile_png_ffi.a deleted file mode 100644 index a479fc8..0000000 Binary files a/bindings/ios-core/lib/device/libtile_png_ffi.a and /dev/null differ diff --git a/bindings/ios-core/lib/sim/libtile_png_ffi.a b/bindings/ios-core/lib/sim/libtile_png_ffi.a deleted file mode 100644 index 93eeea7..0000000 Binary files a/bindings/ios-core/lib/sim/libtile_png_ffi.a and /dev/null differ diff --git a/bindings/ios-style/MvtStyle.xcframework/Info.plist b/bindings/ios-style/MvtStyle.xcframework/Info.plist deleted file mode 100644 index bddbbfb..0000000 --- a/bindings/ios-style/MvtStyle.xcframework/Info.plist +++ /dev/null @@ -1,43 +0,0 @@ - - - - - AvailableLibraries - - - BinaryPath - libmvt_style_ffi.a - LibraryIdentifier - ios-arm64-simulator - LibraryPath - libmvt_style_ffi.a - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - SupportedPlatformVariant - simulator - - - BinaryPath - libmvt_style_ffi.a - LibraryIdentifier - ios-arm64 - LibraryPath - libmvt_style_ffi.a - SupportedArchitectures - - arm64 - - SupportedPlatform - ios - - - CFBundlePackageType - XFWK - XCFrameworkFormatVersion - 1.0 - - diff --git a/bindings/ios-style/MvtStyle.xcframework/ios-arm64-simulator/libmvt_style_ffi.a b/bindings/ios-style/MvtStyle.xcframework/ios-arm64-simulator/libmvt_style_ffi.a deleted file mode 100644 index 65c7845..0000000 Binary files a/bindings/ios-style/MvtStyle.xcframework/ios-arm64-simulator/libmvt_style_ffi.a and /dev/null differ diff --git a/bindings/ios-style/MvtStyle.xcframework/ios-arm64/libmvt_style_ffi.a b/bindings/ios-style/MvtStyle.xcframework/ios-arm64/libmvt_style_ffi.a deleted file mode 100644 index 206e308..0000000 Binary files a/bindings/ios-style/MvtStyle.xcframework/ios-arm64/libmvt_style_ffi.a and /dev/null differ diff --git a/bindings/ios-style/lib/device/libmvt_style_ffi.a b/bindings/ios-style/lib/device/libmvt_style_ffi.a deleted file mode 100644 index 206e308..0000000 Binary files a/bindings/ios-style/lib/device/libmvt_style_ffi.a and /dev/null differ diff --git a/bindings/ios-style/lib/sim/libmvt_style_ffi.a b/bindings/ios-style/lib/sim/libmvt_style_ffi.a deleted file mode 100644 index 65c7845..0000000 Binary files a/bindings/ios-style/lib/sim/libmvt_style_ffi.a and /dev/null differ diff --git a/bindings/js-style/package-lock.json b/bindings/js-style/package-lock.json index a4ee7e8..9180b61 100644 --- a/bindings/js-style/package-lock.json +++ b/bindings/js-style/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mapconductor/vectorstyle", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mapconductor/vectorstyle", - "version": "0.1.0", + "version": "0.1.1", "license": "Apache-2.0", "devDependencies": { "tsup": "^8.5.1", diff --git a/bindings/js-style/package.json b/bindings/js-style/package.json index cc16ff2..eb2bf9d 100644 --- a/bindings/js-style/package.json +++ b/bindings/js-style/package.json @@ -1,6 +1,6 @@ { "name": "@mapconductor/vectorstyle", - "version": "0.1.0", + "version": "0.1.1", "description": "Declarative adjustments to a MapLibre style, applied the same way on every renderer", "type": "module", "main": "./dist/index.js", diff --git a/bindings/js/package-lock.json b/bindings/js/package-lock.json index c833c5d..ec3c477 100644 --- a/bindings/js/package-lock.json +++ b/bindings/js/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mapconductor/vectortile", - "version": "0.1.0", + "version": "0.1.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mapconductor/vectortile", - "version": "0.1.0", + "version": "0.1.1", "license": "Apache-2.0", "devDependencies": { "tsup": "^8.5.1", diff --git a/bindings/js/package.json b/bindings/js/package.json index b4b7d47..2af0140 100644 --- a/bindings/js/package.json +++ b/bindings/js/package.json @@ -1,6 +1,6 @@ { "name": "@mapconductor/vectortile", - "version": "0.1.0", + "version": "0.1.1", "description": "MapLibre-style vector tiles rendered to raster tiles in the browser, via a Rust/wasm core", "type": "module", "main": "./dist/index.js", diff --git a/crates/mvt-style-ffi/Cargo.toml b/crates/mvt-style-ffi/Cargo.toml index d79e08a..2670a9b 100644 --- a/crates/mvt-style-ffi/Cargo.toml +++ b/crates/mvt-style-ffi/Cargo.toml @@ -7,7 +7,7 @@ description = "C ABI bindings for mvt-style, for MapConductorVectorStyle" [lib] name = "mvt_style_ffi" -crate-type = ["staticlib", "rlib"] +crate-type = ["staticlib"] [dependencies] mvt-style = { path = "../mvt-style" } diff --git a/scripts/sync-sdk.sh b/scripts/sync-sdk.sh index ecce514..30752d6 100755 --- a/scripts/sync-sdk.sh +++ b/scripts/sync-sdk.sh @@ -60,37 +60,24 @@ sync_ios() { } sync_web() { - # The framework-neutral package. React is one 120-line component on top of - # this, and nothing here knows about it — the provider talks to a host tile - # server through the structural TileServerLike interface, so the same build - # serves React, Vue, or plain script tags. - local dest="$sdks/react-sdk/vectortile" - [[ -d "$dest" ]] || { echo "skip web: $dest not found"; return; } - rm -rf "$dest/pkg" "$dest/dist" - cp -R "$root/bindings/js/pkg" "$dest/pkg" - cp -R "$root/bindings/js/dist" "$dest/dist" - cp "$root/bindings/js/README.md" "$dest/README.md" 2>/dev/null || true + # Into react-vectortile's vendor/, where scripts/fetch-vector-assets.mjs + # otherwise unpacks the pinned release. The stamp says this is a local + # build, so the next plain fetch puts the release back. + web_vendor bindings/js "$sdks/react-sdk/react-vectortile/vendor/vectortile" README.md +} + +web_vendor() { + local src="$root/$1" dest="$2" + shift 2 + local package="${dest%/vendor/*}" + [[ -d "$package" ]] || { echo "skip web: $package not found"; return; } + rm -rf "$dest" + mkdir -p "$dest" + cp -R "$src/pkg" "$src/dist" "$src/package.json" "$dest/" + for extra in "$@"; do cp "$src/$extra" "$dest/" 2>/dev/null || true; done # wasm-pack writes a `.gitignore` containing `*` into its output directory. - # Copied verbatim it makes the vendored wasm untrackable, which is how the - # package ends up unbuildable from a clean checkout. rm -f "$dest/pkg/.gitignore" - - # The version, and only the version. The copy's `package.json` is not this - # one: its scripts say the build lives here rather than there, which is the - # whole point of it being a copy. But the version has been hand-maintained - # on both sides, so the vendored renderer could silently stop being the one - # its version claims — and the React binding pins a range against it. - node -e ' - const fs = require("fs"); - const [from, to] = process.argv.slice(1); - const version = JSON.parse(fs.readFileSync(from, "utf8")).version; - const target = JSON.parse(fs.readFileSync(to, "utf8")); - if (target.version === version) process.exit(0); - target.version = version; - fs.writeFileSync(to, JSON.stringify(target, null, 2) + "\n"); - console.error(` version -> ${version}`); - ' "$root/bindings/js/package.json" "$dest/package.json" - + echo "local $src" > "$dest/.release" echo "web -> $dest" } @@ -118,16 +105,7 @@ sync_ios_style() { } sync_web_style() { - local dest="$sdks/react-sdk/vectorstyle" - [[ -d "$dest" ]] || { echo "skip web style: $dest not found"; return; } - rm -rf "$dest/pkg" "$dest/dist" - cp -R "$root/bindings/js-style/pkg" "$dest/pkg" - cp -R "$root/bindings/js-style/dist" "$dest/dist" - # wasm-pack writes a `.gitignore` containing `*` into its output - # directory. Copied verbatim it makes the vendored wasm untrackable, - # which is how the package ends up unbuildable from a clean checkout. - rm -f "$dest/pkg/.gitignore" - echo "web style -> $dest" + web_vendor bindings/js-style "$sdks/react-sdk/react-vectorstyle/vendor/vectorstyle" }