Как импортировать сгенерированный источник в dart2, используя build_runner? - PullRequest
1 голос
/ 13 июня 2019

Я хочу создать Builder, который бы создал Env класс на лету. Этот класс должен быть доступен для импорта в любом месте моего проекта. Это контейнер для констант среды, определенных в build.yml

Сам строитель работает нормально, выдает желаемый результат, однако при запуске

pub run build_runner build

сборка завершается со следующим сообщением

[SEVERE] build_web_compilers: точка входа в web / main.dart: невозможно найти модули для некоторых источников, это обычно является результатом плохой импорт, отсутствующая зависимость в пакете (или, возможно, dev_dependency необходимо перейти к реальной зависимости) или ошибка сборки (при импорте сгенерированного файла).

Пожалуйста, проверьте следующий импорт:

import '../.dart_tool/build/generated/buildertest/lib/environment.g.dart'; от buildertest | web / main.dart в 2: 1

[INFO] Выполнение сборки завершено, требуется 4,1 с [INFO] Кэширование завершено График зависимости завершен, потребовалось 450 мс [SEVERE] Не удалось через 4.6 с

импорт сам по себе в порядке, так как он работает нормально, когда я запускаю следующий фрагмент

import '../.dart_tool/build/generated/buildertest/lib/environment.g.dart';


void main() {

  print("Name:${Environment.name}");
  print("Endpoint:${Environment.endpoint}");
}

с

dart web/main.dar т

Что нужно сделать, чтобы этот импорт был действительным ??

Вот build.yaml

targets:
  $default:
    builders:
      angular_components|scss_builder:
        enabled: True
      env|builder:
        options:
          name: "default"
          endpoint: "http://example.org"
        enabled: true

builders:
  env|builder:
    import: "env/EnvBuilder.dart"
    builder_factories: ["builderFactory"]
    is_optional: false
    build_extensions:
      "$lib$": ["environment.g.dart"]
    auto_apply: root_package
    runs_before: ["build_test:test_bootstrap","build_modules:module_library","build_modules:dartdevc","build_web_compilers:ddc","build_modules:vm","build_modules:dart2js","build_web_compilers:entrypoint"]
...