From 2ef3492b77a150f6af9ad7d0a5895798706df8bc Mon Sep 17 00:00:00 2001 From: Mikhail Novoseltsev <51940183+Sameri11@users.noreply.github.com> Date: Fri, 11 Sep 2026 16:44:01 +0500 Subject: [PATCH 1/2] promotion: contract the legacy tools/flutter package --- .bazelrc | 2 +- BUILD.bazel | 6 +++- MODULE.bazel | 8 ++--- MODULE.bazel.lock | 26 +++++++------- examples/demo_app/MODULE.bazel.lock | 30 ++++++++-------- examples/local_plugin/MODULE.bazel.lock | 30 ++++++++-------- examples/no_plugins/MODULE.bazel.lock | 26 +++++++------- examples/pub_plugins/MODULE.bazel.lock | 30 ++++++++-------- flutter/BUILD.bazel | 2 +- flutter/defs.bzl | 36 ++++++++++--------- flutter/extensions.bzl | 9 ++--- .../flutter => flutter/private}/BUILD.bazel | 9 ++++- {tools/flutter => flutter/private}/abis.bzl | 0 .../flutter => flutter/private}/android.bzl | 8 ++--- .../flutter => flutter/private}/archive.bzl | 0 {tools/flutter => flutter/private}/bundle.bzl | 0 .../private}/check_native_assets.py | 0 .../private}/check_path_deps.py | 0 .../flutter => flutter/private}/embedding.bzl | 2 +- .../private}/inject_version.py | 0 {tools/flutter => flutter/private}/maven.bzl | 0 .../private}/merge_native_assets.py | 0 {tools/flutter => flutter/private}/ndk.bzl | 0 .../flutter => flutter/private}/plugins.bzl | 2 +- .../flutter => flutter/private}/pubspec.bzl | 4 +-- .../private}/read_pubspec.py | 0 {tools/flutter => flutter/private}/recipe.bzl | 2 +- {tools/flutter => flutter/private}/repo.bzl | 0 .../defs.bzl => flutter/private/rules.bzl | 6 ++-- tests/consumer/MODULE.bazel.lock | 30 ++++++++-------- tests/consumer/android/config.MODULE.bazel | 7 ++-- tools/ci/BUILD.bazel | 12 +++---- tools/ci/example_hashes.py | 2 +- tools/ci/key_portability_test.py | 16 ++++----- 34 files changed, 160 insertions(+), 145 deletions(-) rename {tools/flutter => flutter/private}/BUILD.bazel (67%) rename {tools/flutter => flutter/private}/abis.bzl (100%) rename {tools/flutter => flutter/private}/android.bzl (99%) rename {tools/flutter => flutter/private}/archive.bzl (100%) rename {tools/flutter => flutter/private}/bundle.bzl (100%) rename {tools/flutter => flutter/private}/check_native_assets.py (100%) rename {tools/flutter => flutter/private}/check_path_deps.py (100%) rename {tools/flutter => flutter/private}/embedding.bzl (98%) rename {tools/flutter => flutter/private}/inject_version.py (100%) rename {tools/flutter => flutter/private}/maven.bzl (100%) rename {tools/flutter => flutter/private}/merge_native_assets.py (100%) rename {tools/flutter => flutter/private}/ndk.bzl (100%) rename {tools/flutter => flutter/private}/plugins.bzl (99%) rename {tools/flutter => flutter/private}/pubspec.bzl (96%) rename {tools/flutter => flutter/private}/read_pubspec.py (100%) rename {tools/flutter => flutter/private}/recipe.bzl (99%) rename {tools/flutter => flutter/private}/repo.bzl (100%) rename tools/flutter/defs.bzl => flutter/private/rules.bzl (99%) diff --git a/.bazelrc b/.bazelrc index 2ac46d0..f551817 100644 --- a/.bazelrc +++ b/.bazelrc @@ -1,4 +1,4 @@ -# Action execution policy lives in tools/flutter/defs.bzl; do not set a global +# Action execution policy lives in flutter/private/rules.bzl; do not set a global # spawn strategy here. common --enable_bzlmod diff --git a/BUILD.bazel b/BUILD.bazel index 243ec10..cca1212 100644 --- a/BUILD.bazel +++ b/BUILD.bazel @@ -1,5 +1,9 @@ +# The root package is inside the Ruleset Module, not a consumer: it asserts an +# implementation helper below, which is the only reason it reaches into +# //flutter/private. +# buildifier: disable=bzl-visibility +load("//flutter/private:android.bzl", "flutter_assets_dir") load("//tools/ci:assertions.bzl", "expect_equal") -load("//tools/flutter:android.bzl", "flutter_assets_dir") # The root package exists so //tools/format:buildifier_test has a label in it to # locate the tree it should check. Nothing reads MODULE.bazel's contents through diff --git a/MODULE.bazel b/MODULE.bazel index 8f6e44b..5237008 100644 --- a/MODULE.bazel +++ b/MODULE.bazel @@ -2,7 +2,7 @@ module( name = "sameri11_rules_flutter", ) -flutter = use_extension("//tools/flutter:repo.bzl", "flutter") +flutter = use_extension("//flutter/private:repo.bzl", "flutter") use_repo( flutter, "flutter_embedding_debug", @@ -21,7 +21,7 @@ bazel_dep(name = "buildifier_prebuilt", version = "8.5.1.3", dev_dependency = Tr # For build_test, which is what makes the guard rules runnable under # `bazel test`. The guards fail as *actions*, which is stronger than a test -- # anything depending on them fails too -- so they are wrapped rather than -# converted. Not a dev_dependency: //tools/flutter:defs.bzl loads it, so it has +# converted. Not a dev_dependency: //flutter/private:rules.bzl loads it, so it has # to be visible to every consumer of the rules, which also means no consumer # declares it for this purpose themselves. bazel_dep(name = "bazel_skylib", version = "1.8.2") @@ -50,7 +50,7 @@ bazel_dep(name = "rules_kotlin", version = "2.4.0") bazel_dep(name = "rules_foreign_cc", version = "0.15.1") # Explicit rather than inherited: the native cc rules were removed from Bazel, -# so `rules_cc` has to be visible to this module for //tools/flutter:android.bzl +# so `rules_cc` has to be visible to this module for //flutter/private:android.bzl # to load find_cc_toolchain.bzl -- which is how the strip rules reach the NDK's # llvm-strip instead of hardcoding a path. Only the Android half needs it. bazel_dep(name = "rules_cc", version = "0.2.17") @@ -63,7 +63,7 @@ bazel_dep(name = "rules_cc", version = "0.2.17") bazel_dep(name = "rules_android_ndk", version = "0.1.5") # Wrapped rather than used directly, so an absent NDK yields a toolchain-less -# stub instead of a failed fetch. See //tools/flutter:ndk.bzl. +# stub instead of a failed fetch. See //flutter/private:ndk.bzl. # `platforms` is declared for the Android NDK toolchain's platform constraints. bazel_dep(name = "platforms", version = "1.0.0") diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index d175851..9c7b41f 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -260,7 +260,7 @@ "moduleExtensions": { "//flutter:extensions.bzl%android_ndk": { "general": { - "bzlTransitiveDigest": "W+b9mUmjJokRiRa9wTCAJ9dZ3uQ9K+TAfIefMFVXYGc=", + "bzlTransitiveDigest": "PbHufQ8Ef0dxRku/+V8j/hIWIdUoSzsJVSDuoykOXkQ=", "usagesDigest": "u+HEkcGg21uv1v1Y5n7OFzVXl5/8Fi8W5y561YLsmWA=", "recordedInputs": [ "REPO_MAPPING:,platforms platforms", @@ -291,16 +291,16 @@ "attributes": {} }, "androidndk_cmake": { - "repoRuleId": "@@//tools/flutter:ndk.bzl%_androidndk_cmake_repository", + "repoRuleId": "@@//flutter/private:ndk.bzl%_androidndk_cmake_repository", "attributes": {} } } } }, - "//tools/flutter:repo.bzl%flutter": { + "//flutter/private:repo.bzl%flutter": { "general": { "bzlTransitiveDigest": "d0akA1llff6BLmlVnXIvFQO70c00GoPx6Qps3UswgoY=", - "usagesDigest": "XPc34iYcVtVwau1/PJTQZHYQ8UUdz8xOBCqsX8yLGUw=", + "usagesDigest": "jrBaZOcWDOcKabJnjwy68BVDrd46XjcPFZOpHFqt7ZE=", "recordedInputs": [ "REPO_MAPPING:,bazel_tools bazel_tools", "REPO_MAPPING:,platforms platforms", @@ -308,55 +308,55 @@ ], "generatedRepoSpecs": { "flutter_sdk": { - "repoRuleId": "@@//tools/flutter:repo.bzl%flutter_sdk", + "repoRuleId": "@@//flutter/private:repo.bzl%flutter_sdk", "attributes": {} }, "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } } } diff --git a/examples/demo_app/MODULE.bazel.lock b/examples/demo_app/MODULE.bazel.lock index e33df65..ebb763e 100644 --- a/examples/demo_app/MODULE.bazel.lock +++ b/examples/demo_app/MODULE.bazel.lock @@ -557,7 +557,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%android_ndk": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "zX96yfJW4/h1cfrBMvBaUg9hTRGQp0ZuwjmqXN/HquQ=", "recordedInputs": [ "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals", @@ -588,7 +588,7 @@ "attributes": {} }, "androidndk_cmake": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:ndk.bzl%_androidndk_cmake_repository", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:ndk.bzl%_androidndk_cmake_repository", "attributes": {} } } @@ -596,7 +596,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%flutter_plugins_ext": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "frgjMNjXCjd7j75y9p+LFe3RH+RtcxxOnaCzq3dakik=", "recordedInputs": [ "REPO_MAPPING:,flutter_maven rules_jvm_external++maven+flutter_maven", @@ -625,7 +625,7 @@ ], "generatedRepoSpecs": { "flutter_plugins": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:plugins.bzl%flutter_plugins", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:plugins.bzl%flutter_plugins", "attributes": { "abis": [ "arm64-v8a", @@ -653,10 +653,10 @@ } } }, - "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter": { + "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter": { "general": { "bzlTransitiveDigest": "d0akA1llff6BLmlVnXIvFQO70c00GoPx6Qps3UswgoY=", - "usagesDigest": "R5N9St8lZgehSPaOYkim03MK+V5jF4ZlA8/A8xndCVA=", + "usagesDigest": "9JJGb3s90dw7aP1J/ALzWN+mv7TCBGSvZtZjU0/9yS8=", "recordedInputs": [ "REPO_MAPPING:sameri11_rules_flutter+,bazel_tools bazel_tools", "REPO_MAPPING:sameri11_rules_flutter+,platforms platforms", @@ -664,55 +664,55 @@ ], "generatedRepoSpecs": { "flutter_sdk": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter_sdk", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter_sdk", "attributes": {} }, "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } } } diff --git a/examples/local_plugin/MODULE.bazel.lock b/examples/local_plugin/MODULE.bazel.lock index c20a800..205ed71 100644 --- a/examples/local_plugin/MODULE.bazel.lock +++ b/examples/local_plugin/MODULE.bazel.lock @@ -557,7 +557,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%android_ndk": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "c6Q7xXhVgobmcU8bDM+vxe4f5nLrPx8SVE7jZZJGerQ=", "recordedInputs": [ "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals", @@ -588,7 +588,7 @@ "attributes": {} }, "androidndk_cmake": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:ndk.bzl%_androidndk_cmake_repository", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:ndk.bzl%_androidndk_cmake_repository", "attributes": {} } } @@ -596,7 +596,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%flutter_plugins_ext": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "ZniNXWl6OiVCASrWeGxNNsIQlgh4uDdHgYxug69NNWw=", "recordedInputs": [ "REPO_MAPPING:,flutter_maven rules_jvm_external++maven+flutter_maven", @@ -625,7 +625,7 @@ ], "generatedRepoSpecs": { "flutter_plugins": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:plugins.bzl%flutter_plugins", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:plugins.bzl%flutter_plugins", "attributes": { "abis": [ "arm64-v8a" @@ -648,10 +648,10 @@ } } }, - "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter": { + "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter": { "general": { "bzlTransitiveDigest": "d0akA1llff6BLmlVnXIvFQO70c00GoPx6Qps3UswgoY=", - "usagesDigest": "R5N9St8lZgehSPaOYkim03MK+V5jF4ZlA8/A8xndCVA=", + "usagesDigest": "9JJGb3s90dw7aP1J/ALzWN+mv7TCBGSvZtZjU0/9yS8=", "recordedInputs": [ "REPO_MAPPING:sameri11_rules_flutter+,bazel_tools bazel_tools", "REPO_MAPPING:sameri11_rules_flutter+,platforms platforms", @@ -659,55 +659,55 @@ ], "generatedRepoSpecs": { "flutter_sdk": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter_sdk", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter_sdk", "attributes": {} }, "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } } } diff --git a/examples/no_plugins/MODULE.bazel.lock b/examples/no_plugins/MODULE.bazel.lock index 488960d..8fce04b 100644 --- a/examples/no_plugins/MODULE.bazel.lock +++ b/examples/no_plugins/MODULE.bazel.lock @@ -557,7 +557,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%android_ndk": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "kiRgwS+Co+SVG39rQ6d/0TSTi0aPlNWC8w8fxg1J0UE=", "recordedInputs": [ "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals", @@ -588,16 +588,16 @@ "attributes": {} }, "androidndk_cmake": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:ndk.bzl%_androidndk_cmake_repository", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:ndk.bzl%_androidndk_cmake_repository", "attributes": {} } } } }, - "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter": { + "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter": { "general": { "bzlTransitiveDigest": "d0akA1llff6BLmlVnXIvFQO70c00GoPx6Qps3UswgoY=", - "usagesDigest": "R5N9St8lZgehSPaOYkim03MK+V5jF4ZlA8/A8xndCVA=", + "usagesDigest": "9JJGb3s90dw7aP1J/ALzWN+mv7TCBGSvZtZjU0/9yS8=", "recordedInputs": [ "REPO_MAPPING:sameri11_rules_flutter+,bazel_tools bazel_tools", "REPO_MAPPING:sameri11_rules_flutter+,platforms platforms", @@ -605,55 +605,55 @@ ], "generatedRepoSpecs": { "flutter_sdk": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter_sdk", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter_sdk", "attributes": {} }, "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } } } diff --git a/examples/pub_plugins/MODULE.bazel.lock b/examples/pub_plugins/MODULE.bazel.lock index 4561f96..050e2db 100644 --- a/examples/pub_plugins/MODULE.bazel.lock +++ b/examples/pub_plugins/MODULE.bazel.lock @@ -557,7 +557,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%android_ndk": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "BVQSiaq0xrv//PzqHk1mfLYCXhD/oOSxnp1+ldQM4N8=", "recordedInputs": [ "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals", @@ -588,7 +588,7 @@ "attributes": {} }, "androidndk_cmake": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:ndk.bzl%_androidndk_cmake_repository", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:ndk.bzl%_androidndk_cmake_repository", "attributes": {} } } @@ -596,7 +596,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%flutter_plugins_ext": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "YHpUoRs5EUMqVpMzUL4GczEbTmnqwnkljjI69j4wkZo=", "recordedInputs": [ "REPO_MAPPING:,flutter_maven rules_jvm_external++maven+flutter_maven", @@ -625,7 +625,7 @@ ], "generatedRepoSpecs": { "flutter_plugins": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:plugins.bzl%flutter_plugins", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:plugins.bzl%flutter_plugins", "attributes": { "abis": [ "arm64-v8a" @@ -648,10 +648,10 @@ } } }, - "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter": { + "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter": { "general": { "bzlTransitiveDigest": "d0akA1llff6BLmlVnXIvFQO70c00GoPx6Qps3UswgoY=", - "usagesDigest": "R5N9St8lZgehSPaOYkim03MK+V5jF4ZlA8/A8xndCVA=", + "usagesDigest": "9JJGb3s90dw7aP1J/ALzWN+mv7TCBGSvZtZjU0/9yS8=", "recordedInputs": [ "REPO_MAPPING:sameri11_rules_flutter+,bazel_tools bazel_tools", "REPO_MAPPING:sameri11_rules_flutter+,platforms platforms", @@ -659,55 +659,55 @@ ], "generatedRepoSpecs": { "flutter_sdk": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter_sdk", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter_sdk", "attributes": {} }, "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } } } diff --git a/flutter/BUILD.bazel b/flutter/BUILD.bazel index 1bff3c0..d0809b7 100644 --- a/flutter/BUILD.bazel +++ b/flutter/BUILD.bazel @@ -1,5 +1,5 @@ load("@bazel_skylib//rules:common_settings.bzl", "string_flag") -load("//tools/flutter:abis.bzl", "MODES") +load("//flutter/private:abis.bzl", "MODES") package(default_visibility = ["//visibility:public"]) diff --git a/flutter/defs.bzl b/flutter/defs.bzl index 39e73b2..59c7e0e 100644 --- a/flutter/defs.bzl +++ b/flutter/defs.bzl @@ -1,13 +1,14 @@ """Supported BUILD-file API for Flutter Consumer Modules. -Consumer BUILD files load this entrypoint, not ``//tools/flutter``. These -exports are the complete consumer contract; implementation may move without a -consumer migration. +Consumer BUILD files load this one entrypoint rather than the implementation +under ``//flutter/private``. The public names below are the complete contract +exercised by the consumer API fixture; implementation files can move without +another consumer migration. """ -load("//tools/flutter:abis.bzl", _ABIS = "ABIS") +load("//flutter/private:abis.bzl", _ABIS = "ABIS") load( - "//tools/flutter:android.bzl", + "//flutter/private:android.bzl", _android_native_lib_jar = "android_native_lib_jar", _flutter_android_binary = "flutter_android_binary", _flutter_android_libs = "flutter_android_libs", @@ -15,7 +16,17 @@ load( _strip_native_libs = "strip_native_libs", ) load( - "//tools/flutter:defs.bzl", + "//flutter/private:embedding.bzl", + _flutter_embedding_library = "flutter_embedding_library", +) +load("//flutter/private:pubspec.bzl", _flutter_pubspec = "flutter_pubspec") +load( + "//flutter/private:recipe.bzl", + _flutter_native_contribution = "flutter_native_contribution", + _flutter_native_libs = "flutter_native_libs", +) +load( + "//flutter/private:rules.bzl", _dart_kernel = "dart_kernel", _flutter_aot_library = "flutter_aot_library", _flutter_app = "flutter_app", @@ -23,18 +34,9 @@ load( _pub_path_deps_check = "pub_path_deps_check", _pub_plugins_check = "pub_plugins_check", ) -load( - "//tools/flutter:embedding.bzl", - _flutter_embedding_library = "flutter_embedding_library", -) -load("//tools/flutter:pubspec.bzl", _flutter_pubspec = "flutter_pubspec") -load( - "//tools/flutter:recipe.bzl", - _flutter_native_contribution = "flutter_native_contribution", - _flutter_native_libs = "flutter_native_libs", -) -# Assigning these names re-exports them to downstream BUILD files. +# Explicit assignments make the curated names exports of this module. Merely +# importing names with load() does not re-export them to downstream BUILD files. ABIS = _ABIS android_native_lib_jar = _android_native_lib_jar dart_kernel = _dart_kernel diff --git a/flutter/extensions.bzl b/flutter/extensions.bzl index 0b4888e..fe9a364 100644 --- a/flutter/extensions.bzl +++ b/flutter/extensions.bzl @@ -1,11 +1,12 @@ """Supported module-extension API for Flutter Consumer Modules. -Consumer Modules load this entrypoint, not ``//tools/flutter``. SDK/engine -provisioning stays private because it supplies the Ruleset Module's tool inputs. +Consumer Modules load this entrypoint rather than the implementation under +``//flutter/private``. The Flutter SDK/engine provisioning extension stays +private to the Ruleset Module because it supplies the rules' own tool inputs. """ -load("//tools/flutter:ndk.bzl", _android_ndk = "android_ndk") -load("//tools/flutter:plugins.bzl", _flutter_plugins_ext = "flutter_plugins_ext") +load("//flutter/private:ndk.bzl", _android_ndk = "android_ndk") +load("//flutter/private:plugins.bzl", _flutter_plugins_ext = "flutter_plugins_ext") # Assigning these names re-exports them to downstream MODULE files. android_ndk = _android_ndk diff --git a/tools/flutter/BUILD.bazel b/flutter/private/BUILD.bazel similarity index 67% rename from tools/flutter/BUILD.bazel rename to flutter/private/BUILD.bazel index 50dac4b..8ea6d44 100644 --- a/tools/flutter/BUILD.bazel +++ b/flutter/private/BUILD.bazel @@ -1,3 +1,10 @@ +"""Implementation of the Flutter rules. + +Nothing here is supported API. Consumer Modules load //flutter:defs.bzl and +//flutter:extensions.bzl; these files are exported only because generated +repositories and the ruleset's own CI guards name them by label. +""" + package(default_visibility = ["//visibility:public"]) exports_files([ @@ -7,7 +14,7 @@ exports_files([ "merge_native_assets.py", "read_pubspec.py", "repo.bzl", - "defs.bzl", + "rules.bzl", "android.bzl", "plugins.bzl", "ndk.bzl", diff --git a/tools/flutter/abis.bzl b/flutter/private/abis.bzl similarity index 100% rename from tools/flutter/abis.bzl rename to flutter/private/abis.bzl diff --git a/tools/flutter/android.bzl b/flutter/private/android.bzl similarity index 99% rename from tools/flutter/android.bzl rename to flutter/private/android.bzl index 8faf66a..b288958 100644 --- a/tools/flutter/android.bzl +++ b/flutter/private/android.bzl @@ -386,7 +386,7 @@ stays readable against the template `flutter create` generated.""", doc = "A flutter_pubspec target; supplies both version facts.", ), "_injector": attr.label( - default = "//tools/flutter:inject_version.py", + default = "//flutter/private:inject_version.py", allow_single_file = True, ), }, @@ -623,7 +623,7 @@ Deliberately unsplit: `android_binary.assets` is `cfg = "target"` APK does not package.""", ), "_checker": attr.label( - default = "//tools/flutter:check_native_assets.py", + default = "//flutter/private:check_native_assets.py", allow_single_file = True, ), "_mode": attr.label( @@ -659,7 +659,7 @@ def flutter_assets_dir(assets): """ # package_relative_label, not Label: Label() resolves against *this file's* - # package, so a caller writing ":assets" would get tools/flutter/assets. + # package, so a caller writing ":assets" would get flutter/private/assets. # Absolute labels hid that -- both real consumers happen to write one. label = native.package_relative_label(assets) @@ -1277,7 +1277,7 @@ def flutter_android_binary( "predeclare `_proguard.jar`/`_proguard.config`/`_proguard.map` " + "on the private android_binary without republishing those " + "labels on the public target. Extend `_flutter_apk` in " + - "tools/flutter/android.bzl (see docs_internal/" + + "flutter/private/android.bzl (see docs_internal/" + "compilation-mode-pinning.md) if this is genuinely needed.").format(name), ) diff --git a/tools/flutter/archive.bzl b/flutter/private/archive.bzl similarity index 100% rename from tools/flutter/archive.bzl rename to flutter/private/archive.bzl diff --git a/tools/flutter/bundle.bzl b/flutter/private/bundle.bzl similarity index 100% rename from tools/flutter/bundle.bzl rename to flutter/private/bundle.bzl diff --git a/tools/flutter/check_native_assets.py b/flutter/private/check_native_assets.py similarity index 100% rename from tools/flutter/check_native_assets.py rename to flutter/private/check_native_assets.py diff --git a/tools/flutter/check_path_deps.py b/flutter/private/check_path_deps.py similarity index 100% rename from tools/flutter/check_path_deps.py rename to flutter/private/check_path_deps.py diff --git a/tools/flutter/embedding.bzl b/flutter/private/embedding.bzl similarity index 98% rename from tools/flutter/embedding.bzl rename to flutter/private/embedding.bzl index 3db2d1e..943f4a2 100644 --- a/tools/flutter/embedding.bzl +++ b/flutter/private/embedding.bzl @@ -11,7 +11,7 @@ against the embedding too, and the plugin repository rule must not depend on the layout of whichever app is being built. **Coordinates, not labels, are the source of truth.** They are read by -//tools/flutter:plugins.bzl, merged with every plugin's Maven dependencies, and +//flutter/private:plugins.bzl, merged with every plugin's Maven dependencies, and emitted as a single maven.install in the generated plugin_deps.MODULE.bazel. MODULE.bazel declares no artifacts of its own: two install tags sharing a repository name merge into one resolution, and whichever came last won diff --git a/tools/flutter/inject_version.py b/flutter/private/inject_version.py similarity index 100% rename from tools/flutter/inject_version.py rename to flutter/private/inject_version.py diff --git a/tools/flutter/maven.bzl b/flutter/private/maven.bzl similarity index 100% rename from tools/flutter/maven.bzl rename to flutter/private/maven.bzl diff --git a/tools/flutter/merge_native_assets.py b/flutter/private/merge_native_assets.py similarity index 100% rename from tools/flutter/merge_native_assets.py rename to flutter/private/merge_native_assets.py diff --git a/tools/flutter/ndk.bzl b/flutter/private/ndk.bzl similarity index 100% rename from tools/flutter/ndk.bzl rename to flutter/private/ndk.bzl diff --git a/tools/flutter/plugins.bzl b/flutter/private/plugins.bzl similarity index 99% rename from tools/flutter/plugins.bzl rename to flutter/private/plugins.bzl index 1add648..7bf13e5 100644 --- a/tools/flutter/plugins.bzl +++ b/flutter/private/plugins.bzl @@ -204,7 +204,7 @@ genrule( outs = ["{name}_unsupported.java"], cmd = "echo 'Flutter plugin {name} is not supported: {reasons}.' >&2; " + "echo 'To fix, {hint}, or drop a reason code from ' >&2; " + - "echo '_GATED_REASONS in tools/flutter/plugins.bzl.' >&2; " + + "echo '_GATED_REASONS in flutter/private/plugins.bzl.' >&2; " + "exit 1", ) diff --git a/tools/flutter/pubspec.bzl b/flutter/private/pubspec.bzl similarity index 96% rename from tools/flutter/pubspec.bzl rename to flutter/private/pubspec.bzl index 57d7818..69a5490 100644 --- a/tools/flutter/pubspec.bzl +++ b/flutter/private/pubspec.bzl @@ -70,7 +70,7 @@ _flutter_pubspec = rule( doc = "The app's pubspec.yaml.", ), "_reader": attr.label( - default = "//tools/flutter:read_pubspec.py", + default = "//flutter/private:read_pubspec.py", allow_single_file = True, ), }, @@ -92,7 +92,7 @@ def flutter_pubspec(name = "pubspec", src = "pubspec.yaml", **kwargs): The defaults live here rather than on the rule's attribute deliberately. A label default on a rule resolves in the package that *defines* the rule, so - `src = "pubspec.yaml"` there means `//tools/flutter:pubspec.yaml` for every + `src = "pubspec.yaml"` there means `//flutter/private:pubspec.yaml` for every consumer. A macro expands in the caller's package, where the same string means what a reader expects. diff --git a/tools/flutter/read_pubspec.py b/flutter/private/read_pubspec.py similarity index 100% rename from tools/flutter/read_pubspec.py rename to flutter/private/read_pubspec.py diff --git a/tools/flutter/recipe.bzl b/flutter/private/recipe.bzl similarity index 99% rename from tools/flutter/recipe.bzl rename to flutter/private/recipe.bzl index d893070..60eb52f 100644 --- a/tools/flutter/recipe.bzl +++ b/flutter/private/recipe.bzl @@ -3,7 +3,7 @@ A *recipe* is a Starlark macro, written in the consuming project, that builds one pub package the generated rules cannot describe -- a package whose native half is downloaded rather than compiled, or that ships a Dart build hook instead of an -Android module. `//tools/flutter:plugins.bzl` generates a BUILD file that loads +Android module. `//flutter/private:plugins.bzl` generates a BUILD file that loads the macro by canonical label and calls it; everything the macro then does happens in the *user's* repo mapping, so a recipe can use rulesets this module has never heard of. See docs_internal/package-recipes.md. diff --git a/tools/flutter/repo.bzl b/flutter/private/repo.bzl similarity index 100% rename from tools/flutter/repo.bzl rename to flutter/private/repo.bzl diff --git a/tools/flutter/defs.bzl b/flutter/private/rules.bzl similarity index 99% rename from tools/flutter/defs.bzl rename to flutter/private/rules.bzl index 8f66b62..8bf123a 100644 --- a/tools/flutter/defs.bzl +++ b/flutter/private/rules.bzl @@ -964,7 +964,7 @@ architecture. The manifests are merged and everything else is compared, so a bundle that started varying by architecture fails here rather than shipping.""", ), "_android_sdk": attr.label( - default = "//tools/flutter:_android_sdk_marker", + default = "//flutter/private:_android_sdk_marker", allow_single_file = True, cfg = "exec", ), @@ -973,7 +973,7 @@ bundle that started varying by architecture fails here rather than shipping.""", allow_single_file = True, ), "_merger": attr.label( - default = "//tools/flutter:merge_native_assets.py", + default = "//flutter/private:merge_native_assets.py", allow_single_file = True, ), "_mode": attr.label( @@ -1026,7 +1026,7 @@ target from CI, or wire it into a test suite, before enabling a shared cache.""" "pubspec_lock": attr.label(allow_single_file = True, mandatory = True), "path_deps": attr.label_list(allow_files = True), "_checker": attr.label( - default = "//tools/flutter:check_path_deps.py", + default = "//flutter/private:check_path_deps.py", allow_single_file = True, ), }, diff --git a/tests/consumer/MODULE.bazel.lock b/tests/consumer/MODULE.bazel.lock index fabfbc6..f024fba 100644 --- a/tests/consumer/MODULE.bazel.lock +++ b/tests/consumer/MODULE.bazel.lock @@ -557,7 +557,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%android_ndk": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "CE2Z/tOTJqwioicux0yXg4nzWLIvZDfcM/KtRNy1Og4=", "recordedInputs": [ "REPO_MAPPING:bazel_features+,bazel_features_globals bazel_features++version_extension+bazel_features_globals", @@ -588,7 +588,7 @@ "attributes": {} }, "androidndk_cmake": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:ndk.bzl%_androidndk_cmake_repository", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:ndk.bzl%_androidndk_cmake_repository", "attributes": {} } } @@ -596,7 +596,7 @@ }, "@@sameri11_rules_flutter+//flutter:extensions.bzl%flutter_plugins_ext": { "general": { - "bzlTransitiveDigest": "hdvS83CtH504cF/AHNScFkfQnnPeFFdgwAl9Vz64I2s=", + "bzlTransitiveDigest": "ZJKKDZwqEchXeR0Vc2+H8meCWFRAv/62JcM4MQ6CVKQ=", "usagesDigest": "Ledc+BavJyeReHRqHvz5/Wcm+5OIAQF8UJuGmSbzKpI=", "recordedInputs": [ "REPO_MAPPING:,fake_plugin_metadata +fake_plugin_metadata+fake_plugin_metadata", @@ -626,7 +626,7 @@ ], "generatedRepoSpecs": { "flutter_plugins": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:plugins.bzl%flutter_plugins", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:plugins.bzl%flutter_plugins", "attributes": { "abis": [ "arm64-v8a" @@ -651,10 +651,10 @@ } } }, - "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter": { + "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter": { "general": { "bzlTransitiveDigest": "d0akA1llff6BLmlVnXIvFQO70c00GoPx6Qps3UswgoY=", - "usagesDigest": "eda2QKoZ+OsZtf4G6TFDQlPX9B2jypD8+TJmVZiVbyA=", + "usagesDigest": "Sk6Cc5WB7WvuCu4kD4WBlrApj6MiqRVWqpOdLMQHtd0=", "recordedInputs": [ "REPO_MAPPING:sameri11_rules_flutter+,bazel_tools bazel_tools", "REPO_MAPPING:sameri11_rules_flutter+,platforms platforms", @@ -662,55 +662,55 @@ ], "generatedRepoSpecs": { "flutter_sdk": { - "repoRuleId": "@@sameri11_rules_flutter+//tools/flutter:repo.bzl%flutter_sdk", + "repoRuleId": "@@sameri11_rules_flutter+//flutter/private:repo.bzl%flutter_sdk", "attributes": {} }, "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" } } } diff --git a/tests/consumer/android/config.MODULE.bazel b/tests/consumer/android/config.MODULE.bazel index 13db4bd..06953c0 100644 --- a/tests/consumer/android/config.MODULE.bazel +++ b/tests/consumer/android/config.MODULE.bazel @@ -84,7 +84,8 @@ plugins.project( ) use_repo(plugins, "flutter_plugins") -# Fixture-only coverage of the private SDK/engine extension's embedding labels. -# Ticket 06 moves it with its implementation; it is not public. -flutter = use_extension("@rules_flutter//tools/flutter:repo.bzl", "flutter") +# The private SDK/engine extension is direct fixture-only internal coverage for +# explicit embedding debug/release labels. It lives with the implementation +# under //flutter/private and is intentionally absent from extensions.bzl. +flutter = use_extension("@rules_flutter//flutter/private:repo.bzl", "flutter") use_repo(flutter, "flutter_embedding_debug", "flutter_embedding_release") diff --git a/tools/ci/BUILD.bazel b/tools/ci/BUILD.bazel index c18c0a9..8c3b69f 100644 --- a/tools/ci/BUILD.bazel +++ b/tools/ci/BUILD.bazel @@ -6,7 +6,7 @@ load("@bazel_skylib//rules:build_test.bzl", "build_test") # comparison that stops a Flutter macro's new shape escaping the hash gate. # # A genrule rather than a py_test because this repository does not depend on -# rules_python and Bazel 9 has no native py_binary (tools/flutter/defs.bzl). +# rules_python and Bazel 9 has no native py_binary (flutter/private/rules.bzl). # `python3` is taken from the environment, which is the same assumption the # packaging genrules in tests/consumer make of `unzip` and `cmp`. genrule( @@ -43,11 +43,11 @@ genrule( name = "key_portability_check", srcs = [ "key_portability_test.py", - "//tools/flutter:repo.bzl", - "//tools/flutter:defs.bzl", - "//tools/flutter:android.bzl", - "//tools/flutter:plugins.bzl", - "//tools/flutter:ndk.bzl", + "//flutter/private:repo.bzl", + "//flutter/private:rules.bzl", + "//flutter/private:android.bzl", + "//flutter/private:plugins.bzl", + "//flutter/private:ndk.bzl", ], outs = ["key_portability_check.checked"], cmd = """set -euo pipefail diff --git a/tools/ci/example_hashes.py b/tools/ci/example_hashes.py index b3f26f6..0cdbde7 100755 --- a/tools/ci/example_hashes.py +++ b/tools/ci/example_hashes.py @@ -291,7 +291,7 @@ def selftest() -> int: from `EXAMPLES`. A self-check rather than a py_test: this repository does not depend on - rules_python and Bazel 9 has no native py_binary (tools/flutter/defs.bzl). + rules_python and Bazel 9 has no native py_binary (flutter/private/rules.bzl). """ first = EXAMPLES[0][0] a0, a1 = EXAMPLES[0][2][0], EXAMPLES[0][2][1] diff --git a/tools/ci/key_portability_test.py b/tools/ci/key_portability_test.py index 76445fb..701c102 100755 --- a/tools/ci/key_portability_test.py +++ b/tools/ci/key_portability_test.py @@ -9,11 +9,11 @@ FILES = { - "repo": "tools/flutter/repo.bzl", - "defs": "tools/flutter/defs.bzl", - "android": "tools/flutter/android.bzl", - "plugins": "tools/flutter/plugins.bzl", - "ndk": "tools/flutter/ndk.bzl", + "repo": "flutter/private/repo.bzl", + "defs": "flutter/private/rules.bzl", + "android": "flutter/private/android.bzl", + "plugins": "flutter/private/plugins.bzl", + "ndk": "flutter/private/ndk.bzl", } @@ -302,8 +302,8 @@ def check_d(self): for target, expected in ( ("_flutter", "@flutter_sdk//:flutter"), - ("_android_sdk", "//tools/flutter:_android_sdk_marker"), - ("_merger", "//tools/flutter:merge_native_assets.py"), + ("_android_sdk", "//flutter/private:_android_sdk_marker"), + ("_merger", "//flutter/private:merge_native_assets.py"), ("_sdk_version", "@flutter_sdk//:flutter.version.json"), ): if not _rule_attr_default(tree, "flutter_assets", target, expected): @@ -790,7 +790,7 @@ def _action_regions(name, tree): def main(argv=None): parser = argparse.ArgumentParser(description=__doc__) - parser.add_argument("--root", type=Path, default=Path("."), help="workspace root containing tools/flutter") + parser.add_argument("--root", type=Path, default=Path("."), help="workspace root containing flutter/private") args = parser.parse_args(argv) failures = Checker(args.root).run() if failures: From 7c0a36b694321e42d4ecbe8b3252e0d77d949751 Mon Sep 17 00:00:00 2001 From: Mikhail Novoseltsev <51940183+Sameri11@users.noreply.github.com> Date: Fri, 11 Sep 2026 16:55:12 +0500 Subject: [PATCH 2/2] promotion: correct layout cutover review findings --- MODULE.bazel.lock | 16 ++++++++-------- examples/demo_app/MODULE.bazel.lock | 16 ++++++++-------- examples/local_plugin/MODULE.bazel.lock | 16 ++++++++-------- examples/no_plugins/MODULE.bazel.lock | 16 ++++++++-------- examples/pub_plugins/MODULE.bazel.lock | 16 ++++++++-------- flutter/private/android.bzl | 4 ++-- tests/consumer/MODULE.bazel.lock | 16 ++++++++-------- tools/ci/key_portability_test.py | 4 ++-- 8 files changed, 52 insertions(+), 52 deletions(-) diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index 9c7b41f..dbb0a01 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -314,49 +314,49 @@ "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } } } diff --git a/examples/demo_app/MODULE.bazel.lock b/examples/demo_app/MODULE.bazel.lock index ebb763e..c4eaa23 100644 --- a/examples/demo_app/MODULE.bazel.lock +++ b/examples/demo_app/MODULE.bazel.lock @@ -670,49 +670,49 @@ "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } } } diff --git a/examples/local_plugin/MODULE.bazel.lock b/examples/local_plugin/MODULE.bazel.lock index 205ed71..176d16f 100644 --- a/examples/local_plugin/MODULE.bazel.lock +++ b/examples/local_plugin/MODULE.bazel.lock @@ -665,49 +665,49 @@ "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } } } diff --git a/examples/no_plugins/MODULE.bazel.lock b/examples/no_plugins/MODULE.bazel.lock index 8fce04b..3fc3891 100644 --- a/examples/no_plugins/MODULE.bazel.lock +++ b/examples/no_plugins/MODULE.bazel.lock @@ -611,49 +611,49 @@ "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } } } diff --git a/examples/pub_plugins/MODULE.bazel.lock b/examples/pub_plugins/MODULE.bazel.lock index 050e2db..c037323 100644 --- a/examples/pub_plugins/MODULE.bazel.lock +++ b/examples/pub_plugins/MODULE.bazel.lock @@ -665,49 +665,49 @@ "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } } } diff --git a/flutter/private/android.bzl b/flutter/private/android.bzl index b288958..f3eee79 100644 --- a/flutter/private/android.bzl +++ b/flutter/private/android.bzl @@ -1,12 +1,12 @@ """Rules for the Android half of a Flutter build. -Half 2 of the decomposition in defs.bzl: taking `libapp.so`, the engine, the +Half 2 of the decomposition in rules.bzl: taking `libapp.so`, the engine, the plugin libraries and the asset bundle and getting them into an APK. Everything here is Android-specific -- the jar-on-the-classpath mechanism `android_binary` uses to pick up native libraries, the NDK strip, and the guard that ties the asset bundle's code assets to the libraries a recipe supplied. -Kept apart from defs.bzl so a consumer building for another platform does not +Kept apart from rules.bzl so a consumer building for another platform does not load Android rules to get `dart_kernel`. The cc toolchain dependency lives entirely on this side. """ diff --git a/tests/consumer/MODULE.bazel.lock b/tests/consumer/MODULE.bazel.lock index f024fba..89adb6e 100644 --- a/tests/consumer/MODULE.bazel.lock +++ b/tests/consumer/MODULE.bazel.lock @@ -668,49 +668,49 @@ "flutter_embedding_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_embedding_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/flutter_embedding_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/flutter_embedding_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/flutter_embedding_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_arm64_v8a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/arm64_v8a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/arm64_v8a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/arm64_v8a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_x86_64_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/x86_64_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/x86_64_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/x86_64_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_release": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_release-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_release/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_release-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } }, "flutter_engine_armeabi_v7a_debug": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_jar", "attributes": { - "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-06a2e2a110089dff50fe635cffd2a61e1b24fbcd/armeabi_v7a_debug-1.0.0-0e228ec8c8d2abc9fcf1d053e8a40665bb859ec7.jar" + "url": "https://storage.googleapis.com/download.flutter.io/io/flutter/armeabi_v7a_debug/1.0.0-77e2e94772b6eb43759e34ed1ad7da4674e19cab/armeabi_v7a_debug-1.0.0-04efd7c093d4e9281d5526ebcad6ecc60ba8badf.jar" } } } diff --git a/tools/ci/key_portability_test.py b/tools/ci/key_portability_test.py index 701c102..3831570 100755 --- a/tools/ci/key_portability_test.py +++ b/tools/ci/key_portability_test.py @@ -181,7 +181,7 @@ def check_c(self): return function = _function(tree, "_dart_kernel_impl") if function is None: - self.fail("C", "defs.bzl must define _dart_kernel_impl") + self.fail("C", "{} must define _dart_kernel_impl".format(FILES["defs"])) return package_add = False @@ -256,7 +256,7 @@ def check_d(self): return function = _function(tree, "_flutter_assets_impl") if function is None: - self.fail("D", "defs.bzl must define _flutter_assets_impl") + self.fail("D", "{} must define _flutter_assets_impl".format(FILES["defs"])) return stage = _named_value(function, "stage_manifest_files")