mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 22:35:42 +00:00
* Add native Sparkle plugin to enable Mac auto-updates The Sparkle framework was being injected into the app bundle, but nothing was initializing it. This adds: - Native Objective-C plugin (SparklePlugin.m) that initializes SPUStandardUpdaterController at runtime - C# wrapper (SparkleUpdater.cs) for Unity to call the native plugin - SparkleInitializer.cs uses RuntimeInitializeOnLoadMethod to automatically initialize Sparkle at app startup - Build script to compile the plugin as a universal binary The plugin is weak-linked against Sparkle.framework, which is injected separately by inject_sparkle.sh during the build process. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Convert Sparkle plugin build from clang to Bazel - Add Sparkle framework as http_archive dependency in MODULE.bazel - Add BUILD.sparkle to import the framework - Add BUILD.bazel for SparklePlugin using macos_bundle rule - Update build_sparkle_plugin.sh to use Bazel instead of direct clang - Register Apple CC toolchain extension 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix symbol exports for SparklePlugin native library The C functions need to be exported with visibility("default") and explicit linker flags for Unity P/Invoke to find them. Without this, the bundle binary had no exported symbols. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Re-enable Sparkle auto-update integration for Mac builds Restores Sparkle integration that was temporarily removed in #5317: - Restore inject_sparkle.sh script - Add Sparkle injection step to mac_build.yml - Re-enable Sparkle signing and appcast updates in deploy step Combined with native SparklePlugin that initializes Sparkle at runtime. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Build SparklePlugin.bundle before Unity build The SparklePlugin.bundle.meta file tells Unity to include the plugin, but the actual bundle needs to be built by Bazel first. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Convert SparklePlugin Info.plist to XML format Unity's build system requires Info.plist files in XML format, but Bazel outputs them in binary plist format. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
14 lines
606 B
Bash
Executable File
14 lines
606 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -euxo pipefail
|
|
|
|
/bin/echo "building darwin bundle"
|
|
bazel build --config=mactools @net_eagle0_unity_godice//darwin/framework:DarwinGodiceBundle
|
|
ZIP_LOCATION=$(bazel cquery --config=mactools --output=files @net_eagle0_unity_godice//darwin/framework:DarwinGodiceBundle 2>/dev/null)
|
|
/usr/bin/unzip -o $ZIP_LOCATION -d src/main/csharp/net/eagle0/clients/unity/eagle0/Assets/Plugins/
|
|
|
|
/usr/bin/plutil -convert xml1 src/main/csharp/net/eagle0/clients/unity/eagle0/Assets/Plugins/DarwinGodiceBundle.bundle/Contents/Info.plist
|
|
|
|
/bin/echo "building sparkle plugin"
|
|
./scripts/build_sparkle_plugin.sh
|