1

I have a Metacello configuration like ConfigurationOfAthens and I want to know which packages provides, the result would be :

  • Athens-Cairo
  • Athens-CairoPools
  • Athens-Core
  • etc.

I tried

(GoferConfigurationReference name: 'ConfigurationOfAthens') packages.

but it is not understood by the system.

It this supported in Pharo 4?

4

1 回答 1

1

如果您只想要包名称,您可以使用帮助类从配置中查询。所以你的查询是

(MTProject 
    newFromVersion: (ConfigurationOfAthens project version: #development)
    inConfiguration: ConfigurationOfAthens) dependenciesFilteredBy: MTPackage.

这些 MT 类——听起来它们应该属于 Metacello——不在 Metacello 包中,但目前在 Versionner 中(默认包含在 Pharo 图像中)。

深入研究结果表明,一些“MTPackages”没有相应的“RPackage”(这可能是一个错误,或者包表示模型中的一些奇怪的特性)。所以你需要进一步过滤:

((MTProject 
    newFromVersion: (ConfigurationOfAthens project version: #development)
    inConfiguration: ConfigurationOfAthens) dependenciesFilteredBy: MTPackage)
        select: [ :pkgName | 
            (RPackageOrganizer default 
                packageNamed: pkgName name asSymbol
                ifAbsent: []) notNil  ]
于 2016-03-01T03:34:18.333 回答