Metacello对github项目包的依赖性

Metacello对github项目包的依赖性,github,pharo,metacello,Github,Pharo,Metacello,如何直接依赖github回购协议的包?(假设项目没有基线,或者有理由不使用基线。) 我试过以下规格 spec package: 'Magritte-XMLBinding' with: [ spec repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ]. 但是它失败了(无法解析:Magritte XMLBinding[Magritte XMLBinding.packag

如何直接依赖github回购协议的包?(假设项目没有基线,或者有理由不使用基线。)

我试过以下规格

spec
    package: 'Magritte-XMLBinding'
    with: [ spec
        repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ].
但是它失败了(无法解析:Magritte XMLBinding[Magritte XMLBinding.package]),在repo下的Monticello浏览器中,我只看到
Magritte测试XMLBinding

更重要的是,当我查看未打包的repo(在
github cache/
中)时,只有
magrite测试XMLBinding
被解压缩

未打包的
测试
包是按字母顺序排列的第一个包,这让我感觉Metacello spec只是不假思索地抓住了第一个包。

当使用git(和github)时,你不能依赖包,而是在完整的项目中。但是,您可以依赖于某个项目,但只加载该项目的一个包。 通常,该定义应适用于:

spec
    baseline: 'XMLBindings'
    with: [ 
       spec
          repository: 'github://magritte-metamodel/XML-Bindings:master/repository';
          loads: #('Magritte-XMLBinding') ].
然而,虽然这个答案总体上是正确的,但在这种情况下,它将不起作用,,因为该项目的作者没有包含任何允许这种依赖性定义起作用的
基线定义,这表明他只是将该项目用作真实项目的镜像。。。因此,这里有三种可能的解决方案:

  • 向具有基线的作者发送请求
  • 联系项目作者并要求添加基线
  • 使用原始源,而不是github镜像

  • 从行为上看,它更像是一个不完整的实现,因为它下载了正确的repo,解压了它,然后它才崩溃(基本上是在本地文件树repo上)