2016-02-29 37 views
1

我有這樣一個ConfigurationOfAthens配置Metacello,我想知道哪些軟件包提供,其結果必然是:如何從Metacello配置中查詢所有Monticello包?

  • 雅典,開羅
  • 雅典CairoPools
  • 雅典核

我試圖

(GoferConfigurationReference name: 'ConfigurationOfAthens') packages. 

但它不被系統理解。

它支持Pharo 4嗎?

回答

1

如果您只想使用包名稱,可以使用幫助程序類從配置中進行查詢。所以您的查詢將

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

這些MT類 - 這聽起來像他們應該屬於Metacello - 不在Metacello包,但目前在Versionner(默認包含在菲羅圖像)。

潛入結果顯示某些「MTPackages」沒有相應的「RPackage」(這可能是一個錯誤,或者包表示模型中的一些奇怪特徵)。所以,你會需要進一步的篩選:

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

之所以不是所有MTPackage有相應的RPackage是不是在配置所有包需要對圖像內端(例如,不同的平臺包等)。如果你想知道哪些包將被加載(不加載),你需要使用#record。 – EstebanLM

+0

謝謝埃斯特萬,很高興知道 –

相關問題