Hi,
I'm trying to see packages loaded by Metacello. So, in the past, I used to do: (ConfigurationOfXXX project version: #stable) record loadDirective to see the list of packages resolved and loaded. But in Pharo 4.0, the list of packages is empty. How can I obtain the list of packages with the loadDirective? tx in advance. usman P.S: I know GT-Inspector provides a map and a list of packages resolved "statically". I'm looking to see how the loaded packages are resolved by Metacello at "runtime". |
(ConfigurationOfStore project version: #stable) record loadDirective
linear load : linear load : 0.10 [ConfigurationOfStore] linear load : 0.2 [ConfigurationOfGarage] load : ConfigurationOfTalkFFI linear load : 0.2 [ConfigurationOfGarage] load : Store-StephaneDucasse.13 |
Tx for looking.
I did: (ConfigurationOfGlamour project version: #stable) record loadDirective in Moose 5.0 (pharo3) and Moose5.1(pharo4). Here is the difference in the output. And the first (with Pharo3) is much more helpful because with a single command one can understand ALL the packages loaded. Whereas, in Pharo4, we don't get the complete tree and hence one has to see the list of the individual configurations to understand. Pharo3 linear load : linear load : 2.1 [ConfigurationOfGlamour] load : ConfigurationOfGrease atomic load : 2.1 [ConfigurationOfGlamour] load : Glamour-Announcements-tg.5 load : Glamour-Helpers-TudorGirba.25 --------long list continues-------------- linear load : 2.162 [ConfigurationOfMondrian] load : ConfigurationOfHealthReportProducer linear load : 2.162 [ConfigurationOfMondrian] load : ConfigurationOfShapeST80 atomic load : 2.162 [ConfigurationOfMondrian] linear load : 1.7 [ConfigurationOfHealthReportProducer] load : ConfigurationOfXMLSupport atomic load : 1.7 [ConfigurationOfHealthReportProducer] explicit load : XMLSupport load : ConfigurationOfXMLSupport-monty.75 load : HealthReportProducer-Ivan_Rojas.13 load : Nile-Base-DamienCassou.81 load : Mondrian-ComplexShape-AlexandreBergel.33 --------long list continues-------------- Pharo4 linear load : linear load : 3.3.0 [ConfigurationOfGlamour] load : ConfigurationOfMagritte3 atomic load : 3.3.0 [ConfigurationOfGlamour] linear load : 1.14 [ConfigurationOfRoassal2] linear load : 11 [ConfigurationOfNeoJSON] load : Neo-JSON-Tests-SvenVanCaekenberghe.29 linear load : 3.5.0 [ConfigurationOfMagritte3] load : Magritte-Pharo3-Model load : CollectionExtensions-TudorGirba.41 load : Glamour-Roassal2-Presentations-TudorGirba.38 regards. On Thu, Sep 10, 2015 at 8:53 PM, stepharo <[hidden email]> wrote: (ConfigurationOfStore project version: #stable) record loadDirective |
Usman,
Off topic --- I don't read all of the pharo posts on both pharo lists, but if you put Metacello in the subject, I have an email filter that alerts me and I read those (more often:) ... What you are getting with record is what would be loaded in the image, so my guess is that in Pharo4.0 there are equivalent or later versions of all the packages that would be loaded ... If you are interested in seeing all of the packages that would be loaded (without regard to packages already loaded in image) you can do the following: ((ConfigurationOfGlamour project version: #stable) ignoreImage: true) record loadDirective Dale On 09/11/2015 01:44 AM, Usman Bhatti
wrote:
|
On Fri, Sep 11, 2015 at 11:06 PM, Dale Henrichs <[hidden email]> wrote:
Ok :)
In the versions prior to Pharo4, the directive showed me all the packages regardless.
Ok. Thank you for this information. regards.
|
Also, in the latest GT-InspectorExtensions-Core, you now have the ability of inspecting the directive, and you can even filter the tree.
If you inspect a load directive you get this (in this case the result is also filtered by the GT string): It took about 7 minutes to do this. Moldable tools can turn problems on their head if we use them actively :). Cheers, Doru On Tue, Sep 15, 2015 at 9:32 AM, Usman Bhatti <[hidden email]> wrote:
|
In reply to this post by Usman Bhatti
On 9/15/15 12:32 AM, Usman Bhatti
wrote:
I would guess that happened because the packages weren't already loaded in the image prior to Pharo4.0 ... During a Metacello load there are two passes made a `fetch` and `load` pass ... the `fetch` pass produces a loadDirective and the `load` pass executes the loadDirective ... the `record` command (without `ignoreImage: true`) simply runs the `fetch` pass and returns the loadDirective (it also doesn't bother fetching the packages) I do it this way so that the same code is used whether you are doing a `fetch` or a `record` and reduces the changes for you to get different results from both commands ... Dale |
Free forum by Nabble | Edit this page |