hostRegisterBuilder function

Builder hostRegisterBuilder(
  1. BuilderOptions options
)

宿主注入注册 builder 工厂:ui_host_register。

扫描全包 @HostInjected static 方法,把注册调用集中生成到 lib/generated/host_methods.dart。注册目标默认指向配套运行时 (defaultRegisterImport / defaultRegisterCall),开箱即用; 换用别的运行时实现时用 build.yaml 覆盖:

targets:
  $default:
    builders:
      hot_patch_generator:ui_host_register:
        options:
          register_import: "package:<runtime>/<runtime>.dart"
          register_call: "<Runtime>.registerHostMethod"

Implementation

Builder hostRegisterBuilder(BuilderOptions options) {
  final import = options.config['register_import'];
  final call = options.config['register_call'];
  return HostRegisterBuilder(
    registerImport:
        import is String && import.isNotEmpty ? import : defaultRegisterImport,
    registerCall:
        call is String && call.isNotEmpty ? call : defaultRegisterCall,
  );
}