mirror of
https://github.com/nolen777/eagle0.git
synced 2026-07-28 21:35:42 +00:00
* Move SparklePlugin to separate Bazel workspace to resolve rules_swift conflict The problem: grpc 1.76.0.bcr.1 requires rules_swift 3.x, but rules_apple 4.x requires rules_swift 2.x. These have different compatibility levels, causing bzlmod resolution to fail when both are in the same workspace. The solution: Move SparklePlugin (the only thing using rules_apple) to a separate Bazel workspace at `sparkle_workspace/`. This workspace has its own MODULE.bazel with only rules_apple and Sparkle dependencies, completely isolated from the grpc/flatbuffers dependency tree. Changes: - Create sparkle_workspace/ with isolated MODULE.bazel - Move SparklePlugin source files to sparkle_workspace/ - Update build_sparkle_plugin.sh to build from subworkspace - Remove rules_apple from main MODULE.bazel - Add single_version_override for rules_swift 3.1.2 (for grpc/flatbuffers) All 315 tests pass. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Add WORKSPACE.bazel to sparkle_workspace to prevent parent workspace detection Without this file, Bazel may walk up the directory tree and find the parent workspace's MODULE.bazel, causing dependency conflicts. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
29 lines
1.1 KiB
Python
29 lines
1.1 KiB
Python
module(name = "sparkle_workspace")
|
|
|
|
# Minimal dependencies for building SparklePlugin
|
|
# This workspace is isolated from the main workspace to avoid
|
|
# rules_swift version conflicts between grpc and rules_apple
|
|
|
|
bazel_dep(name = "apple_support", version = "1.21.1", repo_name = "build_bazel_apple_support")
|
|
bazel_dep(name = "rules_apple", version = "4.3.3", repo_name = "build_bazel_rules_apple")
|
|
|
|
# Register Apple CC toolchain for Objective-C compilation
|
|
apple_cc_configure = use_extension(
|
|
"@build_bazel_apple_support//crosstool:setup.bzl",
|
|
"apple_cc_configure_extension",
|
|
)
|
|
use_repo(apple_cc_configure, "local_config_apple_cc")
|
|
|
|
# Sparkle framework for macOS auto-updates
|
|
http_archive = use_repo_rule("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
|
|
|
SPARKLE_VERSION = "2.6.4"
|
|
|
|
http_archive(
|
|
name = "sparkle",
|
|
build_file = "//:external/BUILD.sparkle",
|
|
sha256 = "50612a06038abc931f16011d7903b8326a362c1074dabccb718404ce8e585f0b",
|
|
strip_prefix = "",
|
|
url = "https://github.com/sparkle-project/Sparkle/releases/download/%s/Sparkle-%s.tar.xz" % (SPARKLE_VERSION, SPARKLE_VERSION),
|
|
)
|