Зависимость Metacello от пакета из проекта github

Как можно напрямую зависеть от пакета из репозитория github? (Предполагая, что проект не имеет базовой линии, или есть причина не использовать базовую линию.)

Я пробовал следующую спецификацию

spec
    package: 'Magritte-XMLBinding'
    with: [ spec
        repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ].

Однако это не удалось (не удалось разрешить: Magritte-XMLBinding [Magritte-XMLBinding.package]), и в браузере Monticello в репозитории я вижу только Magritte-Tests-XMLBinding,

Более того, когда я смотрю на распакованный репо (в github-cache/), только Magritte-Tests-XMLBinding был распакован

Распакованный Tests Пакет является первым в алфавитном порядке, что заставляет меня чувствовать, что Metacello spec просто забирает первый пакет, не задумываясь.

1 ответ

Решение

При использовании git (и github) вы не можете зависеть от пакетов, но в законченных проектах. Однако вы можете зависеть от проекта, но загружать только один пакет этого проекта. обычно это определение должно работать:

spec
    baseline: 'XMLBindings'
    with: [ 
       spec
          repository: 'github://magritte-metamodel/XML-Bindings:master/repository';
          loads: #('Magritte-XMLBinding') ].

Однако, хотя этот ответ в целом является правильным, в этом случае он не будет работать, поскольку автор проекта не включил baseline определение, которое позволило бы этому виду определения зависимостей работать, что предполагает, что он просто использует этот проект как зеркало реального... так что здесь у вас есть три возможных решения:

  1. отправить запрос на включение автору с базовой линией
  2. связаться с автором проекта и попросить добавить базовый уровень
  3. используйте оригинальный источник вместо зеркала github
Другие вопросы по тегам