Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control 如何从Metacello配置查询所有Monticello包?_Version Control_Smalltalk_Pharo_Monticello - Fatal编程技术网

Version control 如何从Metacello配置查询所有Monticello包?

Version control 如何从Metacello配置查询所有Monticello包?,version-control,smalltalk,pharo,monticello,Version Control,Smalltalk,Pharo,Monticello,我有一个Metacello配置,比如ConfigurationOfAthens,我想知道哪些软件包提供,结果是: 雅典开罗 雅典CairoPools 雅典核心 等等 我试过了 (GoferConfigurationReference name: 'ConfigurationOfAthens') packages. 但系统并不理解这一点 Pharo 4?中支持这一点,如果您只需要包名,可以使用助手类从配置中查询。所以你的问题是 (MTProject newFromVersion:

我有一个Metacello配置,比如ConfigurationOfAthens,我想知道哪些软件包提供,结果是:

  • 雅典开罗
  • 雅典CairoPools
  • 雅典核心
  • 等等
我试过了

(GoferConfigurationReference name: 'ConfigurationOfAthens') packages.
但系统并不理解这一点


Pharo 4?

中支持这一点,如果您只需要包名,可以使用助手类从配置中查询。所以你的问题是

(MTProject 
    newFromVersion: (ConfigurationOfAthens project version: #development)
    inConfiguration: ConfigurationOfAthens) dependenciesFilteredBy: MTPackage.
这些MT类——听起来应该属于Metacello——不在Metacello包中,但当前在Versionner中(默认情况下包含在Pharo映像中)

深入研究结果发现,一些“mtpackage”没有相应的“RPackage”(这可能是一个bug,或者包表示模型中的一些奇怪特性)。因此,您需要进一步筛选:

((MTProject 
    newFromVersion: (ConfigurationOfAthens project version: #development)
    inConfiguration: ConfigurationOfAthens) dependenciesFilteredBy: MTPackage)
        select: [ :pkgName | 
            (RPackageOrganizer default 
                packageNamed: pkgName name asSymbol
                ifAbsent: []) notNil  ]

并非所有MTPackage都有相应的rppackage的原因是,并非配置中的所有包都需要在映像内结束(例如,不同的平台包等)。如果您想知道将加载哪些包(不加载),则需要使用#record。