如何直接依赖github repo中的包? (假设项目没有基线,或者有理由不使用基线。)
我已尝试过以下规范
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规范只是在不加思索地抓住第一个包。
答案 0 :(得分:3)
使用git(和github)时,您不能依赖于包,而是依赖于完整的项目。但是,您可以依赖项目但只加载该项目的一个包。 通常这个定义应该有效:
spec
baseline: 'XMLBindings'
with: [
spec
repository: 'github://magritte-metamodel/XML-Bindings:master/repository';
loads: #('Magritte-XMLBinding') ].
然而,虽然这个答案一般是正确的,但在这种情况下它将不起作用,因为该项目的作者没有包含允许这种类型的任何baseline
定义依赖定义工作,这表明我只是使用该项目作为真实的镜像......所以这里有三种可能的解决方案: