Metacello 对来自 github 项目的包的依赖
Metacello dependency on a package from github project
如何直接依赖 github 存储库中的包? (假设项目没有基线,或者有不使用基线的原因。)
我试过以下规范
spec
package: 'Magritte-XMLBinding'
with: [ spec
repository: 'github://magritte-metamodel/XML-Bindings:master/repository' ].
但是它失败了(无法解析:Magritte-XMLBinding [Magritte-XMLBinding.package]),在回购协议下的 Monticello 浏览器中我只看到 Magritte-Tests-XMLBinding
.
更重要的是,当我查看解压的 repo(在 github-cache/
中)时,只有 Magritte-Tests-XMLBinding
被解压。
解压出来的Tests
包是字母顺序排在第一位的,感觉Metacello spec不假思索就抢了第一个包
当使用 git(和 github)时,你不能依赖包,而是依赖于完整的项目。但是,您可以依赖于一个项目,但只加载该项目的一个包。
通常这个定义应该有效:
spec
baseline: 'XMLBindings'
with: [
spec
repository: 'github://magritte-metamodel/XML-Bindings:master/repository';
loads: #('Magritte-XMLBinding') ].
然而,虽然这个答案大体上是正确的,但在这种情况下它不起作用因为项目的作者没有包含任何baseline
定义将允许这种依赖性定义起作用,这表明我他只是将该项目用作真实项目的镜像......所以这里你有三种可能的解决方案:
- 向带有基线的作者发送拉取请求
- 联系项目作者并要求添加基线
- 使用原始源而不是 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
.
更重要的是,当我查看解压的 repo(在 github-cache/
中)时,只有 Magritte-Tests-XMLBinding
被解压。
解压出来的Tests
包是字母顺序排在第一位的,感觉Metacello spec不假思索就抢了第一个包
当使用 git(和 github)时,你不能依赖包,而是依赖于完整的项目。但是,您可以依赖于一个项目,但只加载该项目的一个包。 通常这个定义应该有效:
spec
baseline: 'XMLBindings'
with: [
spec
repository: 'github://magritte-metamodel/XML-Bindings:master/repository';
loads: #('Magritte-XMLBinding') ].
然而,虽然这个答案大体上是正确的,但在这种情况下它不起作用因为项目的作者没有包含任何baseline
定义将允许这种依赖性定义起作用,这表明我他只是将该项目用作真实项目的镜像......所以这里你有三种可能的解决方案:
- 向带有基线的作者发送拉取请求
- 联系项目作者并要求添加基线
- 使用原始源而不是 github 镜像