Как организовать мультипакетный проект и использовать его в качестве зависимости - PullRequest
0 голосов
/ 06 февраля 2019

Я хотел бы организовать проект флаттера в несколько пакетов со следующими требованиями:

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

Настройка файла для хранилища, которое у меня сейчас есть:

.
├── app_base
│   ├── ...
│   └── pubspec.yaml
├── feature
│   ├── ...
│   └── pubspec.yaml
└── README.md

Я попытался использовать зависимости пути, как это в app_base/pubspec.yaml:

name: app_base

dependencies:
  feature:
    path: ../feature

, и это работает для локальной разработки, но если я пытаюсь использовать app_base в совершенно другом проекте и не использовать пути, а gitЗависимость:

name: actual_app

dependencies:
  app_base:
    git:
      url: ssh://address.to/the_repo.git
      path: app_base
      ref: deadbaca

не может разрешить транзитивную feature зависимость:

Running "flutter packages get" in actual_app...            
Error on line 21, column 11: Invalid description: "../feature" is a relative path, but this isn't a local pubspec.
    path: ../feature
          ^^^^^^^^^^

pub get failed (65)
Process finished with exit code 65

Есть ли способ заставить его работать как для локальной разработки, так и использовать как зависимость git от другихпроект?

1 Ответ

0 голосов
/ 06 февраля 2019

Просто используйте зависимости Git для обоих сценариев (локально и для других проектов).

Если вы считаете, что это затруднительно во время локальной разработки, локально используйте зависимости пути и измените их обратно на Git перед фиксацией.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...