load directive

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

load directive

Usman Bhatti
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".
Reply | Threaded
Open this post in threaded view
|

Re: load directive

stepharo
(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

Reply | Threaded
Open this post in threaded view
|

Re: load directive

Usman Bhatti
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

linear load :
    linear load : 0.10 [ConfigurationOfStore]
        linear load : 0.2 [ConfigurationOfGarage]
            load : ConfigurationOfTalkFFI
        linear load : 0.2 [ConfigurationOfGarage]
        load : Store-StephaneDucasse.13


Reply | Threaded
Open this post in threaded view
|

Re: load directive

Dale Henrichs-3
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:
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

linear load :
    linear load : 0.10 [ConfigurationOfStore]
        linear load : 0.2 [ConfigurationOfGarage]
            load : ConfigurationOfTalkFFI
        linear load : 0.2 [ConfigurationOfGarage]
        load : Store-StephaneDucasse.13



Reply | Threaded
Open this post in threaded view
|

Re: load directive

Usman Bhatti
On Fri, Sep 11, 2015 at 11:06 PM, Dale Henrichs <[hidden email]> wrote:
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:) ...

Ok :)
 

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 ...

In the versions prior to Pharo4, the directive showed me all the packages regardless.
 

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

Ok. Thank you for this information.

regards.
 


Dale


On 09/11/2015 01:44 AM, Usman Bhatti wrote:
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

linear load :
    linear load : 0.10 [ConfigurationOfStore]
        linear load : 0.2 [ConfigurationOfGarage]
            load : ConfigurationOfTalkFFI
        linear load : 0.2 [ConfigurationOfGarage]
        load : Store-StephaneDucasse.13




Reply | Threaded
Open this post in threaded view
|

Re: load directive

Tudor Girba-2
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):

Inline image 2

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:
On Fri, Sep 11, 2015 at 11:06 PM, Dale Henrichs <[hidden email]> wrote:
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:) ...

Ok :)
 

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 ...

In the versions prior to Pharo4, the directive showed me all the packages regardless.
 

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

Ok. Thank you for this information.

regards.
 


Dale


On 09/11/2015 01:44 AM, Usman Bhatti wrote:
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

linear load :
    linear load : 0.10 [ConfigurationOfStore]
        linear load : 0.2 [ConfigurationOfGarage]
            load : ConfigurationOfTalkFFI
        linear load : 0.2 [ConfigurationOfGarage]
        load : Store-StephaneDucasse.13







--

"Every thing has its own flow"
Reply | Threaded
Open this post in threaded view
|

Re: load directive

Dale Henrichs-3
In reply to this post by Usman Bhatti


On 9/15/15 12:32 AM, Usman Bhatti wrote:
On Fri, Sep 11, 2015 at 11:06 PM, Dale Henrichs <[hidden email]> wrote:
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:) ...

Ok :)
 

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 ...

In the versions prior to Pharo4, the directive showed me all the packages regardless.
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