mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
Replace the 4-OS matrix desktop build in release.yml with a single Conveyor runner on ubuntu-24.04 that cross-compiles all platform packages (macOS, Windows, Linux) from one machine. - Add Conveyor Gradle plugin (dev.hydraulic.conveyor v2.0) - Add conveyor.conf with app metadata, icons, JVM modules, entitlements - Add ci.conveyor.conf for CI overrides (production URL, Apple notarization) - Add defaults.conf.example template for local signing keys - Update release.yml: single Conveyor job replaces 4-OS matrix - Add 4 optional secrets: CONVEYOR_SIGNING_KEY, APPLE_TEAM_ID, APPLE_ID, APPLE_APP_SPECIFIC_PASSWORD - Add Conveyor Maven repo to settings.gradle.kts Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
73 lines
3.2 KiB
Text
73 lines
3.2 KiB
Text
// Meshtastic Desktop — Conveyor packaging configuration
|
|
// https://conveyor.hydraulic.dev/latest/configs/jvm/
|
|
|
|
// Import Gradle-generated config (classpath, mainClass, version, vendor, JVM args, JDK)
|
|
// Regenerate with: ./gradlew :desktop:writeConveyorConfig
|
|
include required("generated.conveyor.conf")
|
|
|
|
// Library compatibility for native extraction (JNA, SQLite, etc.)
|
|
include required("https://raw.githubusercontent.com/hydraulic-software/conveyor/master/configs/jvm/extract-native-libraries.conf")
|
|
|
|
app {
|
|
display-name = Meshtastic
|
|
fsname = meshtastic
|
|
license = GPL-3.0-or-later
|
|
vcs-url = "https://github.com/meshtastic/Meshtastic-Android"
|
|
|
|
// Conveyor renders all required formats from a single high-res PNG
|
|
icons = src/main/resources/icon.png
|
|
|
|
// Update channel — published to GitHub Releases
|
|
site.base-url = "localhost:3000"
|
|
|
|
// ── JVM ──────────────────────────────────────────────────────────────────────
|
|
jvm {
|
|
// Modules that jdeps may miss (reflection, JNI)
|
|
modules += java.net.http
|
|
modules += jdk.accessibility
|
|
modules += jdk.crypto.ec
|
|
modules += jdk.unsupported
|
|
modules += java.sql
|
|
modules += java.naming
|
|
|
|
// Extract native libs from JARs for faster startup and clean uninstalls
|
|
extract-native-libraries = true
|
|
}
|
|
|
|
// ── macOS ────────────────────────────────────────────────────────────────────
|
|
mac {
|
|
info-plist {
|
|
NSBluetoothAlwaysUsageDescription = "Meshtastic uses Bluetooth to communicate with your Meshtastic radio device."
|
|
NSLocalNetworkUsageDescription = "Meshtastic uses your local network to discover Meshtastic devices connected via WiFi."
|
|
NSUserNotificationAlertStyle = alert
|
|
LSMinimumSystemVersion = "12.0"
|
|
CFBundleURLTypes = [{
|
|
CFBundleURLName = "Meshtastic deep link"
|
|
CFBundleURLSchemes = [meshtastic]
|
|
}]
|
|
}
|
|
entitlements-plist {
|
|
com.apple.security.cs.allow-jit = true
|
|
com.apple.security.cs.allow-unsigned-executable-memory = true
|
|
com.apple.security.cs.disable-library-validation = true
|
|
com.apple.security.device.bluetooth = true
|
|
}
|
|
}
|
|
|
|
// ── Windows ──────────────────────────────────────────────────────────────────
|
|
windows {
|
|
// Stable upgrade UUID for in-place MSI upgrades
|
|
upgrade-uuid = "b8f3d4a1-7e52-4c89-9a1b-3f6e8d2c5a70"
|
|
}
|
|
|
|
// ── Linux ────────────────────────────────────────────────────────────────────
|
|
linux {
|
|
desktop-file {
|
|
"Desktop Entry" {
|
|
Categories = "Network;"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
conveyor.compatibility-level = 22
|