<br><br><div class="gmail_quote">On Thu, May 17, 2012 at 7:37 PM, Dale Henrichs <span dir="ltr">&lt;<a href="mailto:dhenrich@vmware.com" target="_blank">dhenrich@vmware.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Mariano,<br>
<br>
I guess you are trying to upgrade an existing Seaside application?<br>
<br>
Are you having trouble doing this upgrade using Metacello, or is this a problem trying to do the upgrade using the package order derived from the loadDirectives?<br>
<br></blockquote><div><br>I should explain what I am doing. I am exporting packages using Fuel. What I do is to query Metacello to know which packages I need and the order (for the future load). <br>Then, during load, after having materialized all packages, I iterate over the packages (in the order I stored during the export), and I initialize the classes for each package. <br>
<br>In this example, I am NOT upgrading nothing. I am just trying to import seaside in a clean image using Fuel. <br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

If the Metacello load works fine,</blockquote><div><br>indeed, it works fine. <br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> then I would guess that you&#39;re not running your initializers in the right order at the right time. </blockquote>
<div><br>Indeed, I also thought that I have a problem with the initialization. I sent this mail because maybe this particular problem moves some bell ;)<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Your little loop over packageNames looks close to what Monticello does when it fires the initializers,</blockquote><div><br><br>You mean MCMethodDefinition &gt;&gt; postloadOver:  right?   <br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
 but it&#39;s not quite the same ... for example Monticello only fires initializers for class initialization methods that are changed/new during the load.<br></blockquote><div><br>yes, you mean the if:    self source ~= aDefinition source   right?  <br>
In my case, I am loading methods that DO NOT have source code. So..<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Also, if I remember correctly Metacello fires the initializers for Seaside packages immediately after the package is loaded and does not wait until the end to fire initializers ...<br>
<br></blockquote><div><br>mmmm #atomic  loader type?  where can I see more info about this?<br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

I&#39;d focus on duplicating the initialization pattern of Metacello (instrumenting the Monticello loader where the initializations are fired would give you that info).<br>
<div class="im HOEnZb"><br></div></blockquote><div><br>where can I see this?<br><br>Thanks<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im HOEnZb">
Dale<br>
<br>
----- Original Message -----<br>
| From: &quot;Mariano Martinez Peck&quot; &lt;<a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a>&gt;<br>
| To: <a href="mailto:metacello@googlegroups.com">metacello@googlegroups.com</a><br>
</div><div class="HOEnZb"><div class="h5">| Cc: &quot;Seaside - general discussion&quot; &lt;<a href="mailto:seaside@lists.squeakfoundation.org">seaside@lists.squeakfoundation.org</a>&gt;<br>
| Sent: Thursday, May 17, 2012 6:13:30 AM<br>
| Subject: Re: [Metacello] collecting all packages of a configuration<br>
|<br>
| Hi Dale. Now I was a little bit more sucessful. But still, I have a<br>
| problem during the initialization of classes. More precisily in:<br>
|<br>
| WAWalkbackErrorHandler class &gt;&gt; initialize<br>
| WAAdmin applicationExceptionHandlingDefaults at: #exceptionHandler<br>
| put: self<br>
|<br>
| I get a WAAttributeNotFound with #exceptionHandler ... what I do is I<br>
| follow the order of packages as Metacello answered me, and then I do<br>
| something like:<br>
|<br>
| (packageNames collect: [:each | PackageInfo named: each])<br>
| do: [:aPackage |<br>
| &quot;We should not send #initialize to traits&quot;<br>
| ((aPackage classes select: [:each | each isBehavior])<br>
| sort: [:a :b | a allSuperclasses size &lt; b allSuperclasses size ])<br>
| do: [:aClass |<br>
| Transcript show: &#39;Initializing class named: &#39;, aClass name; cr.<br>
| aClass initializeOnLoad]<br>
| ].<br>
| ]<br>
|<br>
|<br>
| I have debugged a little bit and it looks like<br>
|<br>
| WAAdmin applicationExceptionHandlingDefaults allAttributes -&gt; an<br>
| IdentityDictionary()<br>
| WAAdmin applicationExceptionHandlingDefaults ancestors -&gt; an<br>
| IdentitySet()<br>
|<br>
| so something is not good. I saw your issue<br>
| <a href="http://code.google.com/p/seaside/issues/detail?id=643" target="_blank">http://code.google.com/p/seaside/issues/detail?id=643</a><br>
| but evaluating<br>
|<br>
| (Smalltalk at: #WASystemConfiguration) allSubclasses do: [ :each |<br>
| each instance perform: #clearSearchContexts.<br>
| each instance perform: #clearDescription ].<br>
|<br>
| did not help.<br>
|<br>
| Any ideas?<br>
|<br>
| thanks<br>
|<br>
|<br>
| On Sun, May 13, 2012 at 6:04 PM, Dale Henrichs &lt; <a href="mailto:dhenrich@vmware.com">dhenrich@vmware.com</a><br>
| &gt; wrote:<br>
|<br>
|<br>
| Mariano,<br>
|<br>
| I&#39;ve said it before and I&#39;ll say it again ... I&#39;d rather have noise<br>
| than real problems go unreported ...<br>
|<br>
| Thanks for taking the time to characterize the problem in detail...<br>
|<br>
|<br>
| Dale<br>
|<br>
| ----- Original Message -----<br>
| | From: &quot;Mariano Martinez Peck&quot; &lt; <a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a> &gt;<br>
| | To: <a href="mailto:metacello@googlegroups.com">metacello@googlegroups.com</a><br>
|<br>
|<br>
| | Sent: Sunday, May 13, 2012 8:39:52 AM<br>
| | Subject: Re: [Metacello] collecting all packages of a configuration<br>
| |<br>
| |<br>
| |<br>
| |<br>
| | On Sun, May 13, 2012 at 5:05 PM, Dale Henrichs &lt;<br>
| | <a href="mailto:dhenrich@vmware.com">dhenrich@vmware.com</a><br>
| | &gt; wrote:<br>
| |<br>
| |<br>
| | Mariano,<br>
| |<br>
| | The loadDirectives are actually used for the Metacello load, so you<br>
| | are getting the load order from the horse&#39;s mouth...<br>
| |<br>
| | Seaside-Core is one of the first packages that needs to be loaded<br>
| | so<br>
| | Seaside-Tools-Core should be loaded _after_ Seaside-Core ...<br>
| |<br>
| | WARegistry class is in Seaside-Core, but the method WARegistry<br>
| | class&gt;&gt;#clearAllHandlers is actually in the Seaside-Tools-Core<br>
| | package (*seaside-tools-core) so everything is consistent...<br>
| |<br>
| |<br>
| | hehehehehe interesting....you discovered a bad side effect of my<br>
| | experiment ;) sorry, I though I was checking in a &quot;clean&quot; image but<br>
| | a bad side effect of my experiment changed the category for<br>
| | extension methods. So...indeed, you are right and the method I have<br>
| | is that I need.<br>
| |<br>
| | Thanks Dale and sorry for the noise.<br>
| |<br>
| |<br>
| |<br>
| |<br>
| | Dale<br>
| |<br>
| | ----- Original Message -----<br>
| | | From: &quot;Mariano Martinez Peck&quot; &lt; <a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a> &gt;<br>
| | | To: <a href="mailto:metacello@googlegroups.com">metacello@googlegroups.com</a><br>
| |<br>
| |<br>
| | | Sent: Sunday, May 13, 2012 6:50:18 AM<br>
| | | Subject: Re: [Metacello] collecting all packages of a<br>
| | | configuration<br>
| | |<br>
| | | Hi Dale. For a different purpose, I need again something related<br>
| | | to<br>
| | | this.<br>
| | | What I actually need is to ask Metacello the list of packages I<br>
| | | need<br>
| | | when I do load: xxx SORTED by the load order. I mean, I want they<br>
| | | to<br>
| | | be sorted in the way that those that need to be loaded first go<br>
| | | first.<br>
| | |<br>
| | | Take this example. I have download seaside this way:<br>
| | |<br>
| | |<br>
| | | ((Smalltalk at: #ConfigurationOfSeaside30) project version:<br>
| | | #stable)<br>
| | | load: #(&#39;Base&#39; &#39;Zinc-Seaside&#39; &#39;Base Tests&#39; &#39;RSS-Core&#39;<br>
| | | &#39;Javascript-Core&#39; &#39;Prototype-Core&#39; &#39;Scriptaculous-Core&#39;<br>
| | | &#39;JQuery-Core&#39; &#39;JQuery-UI&#39; &#39;Seaside-Email&#39; &#39;Seaside-HTML5&#39;<br>
| | | &#39;Seaside-InternetExplorer&#39; &#39;Seaside-Examples&#39; &#39;RSS-Examples&#39;<br>
| | | &#39;Seaside-Tools-Web&#39; &#39;Scriptaculous-Components&#39; &#39;Seaside-Welcome&#39;<br>
| | | &#39;Seaside-FileSystem&#39; &#39;RSS-Tests-Core&#39; &#39;Javascript-Tests-Core&#39;<br>
| | | &#39;Seaside-Tests-Email&#39; &#39;Seaside-Tests-Functional&#39;<br>
| | | &#39;Prototype-Tests-Core&#39; &#39;Scriptaculous-Tests-Core&#39;<br>
| | | &#39;Scriptaculous-Tests-Components&#39; &#39;JQuery-Tests-Core&#39;<br>
| | | &#39;JQuery-Tests-UI&#39; &#39;Seaside-Tests-HTML5&#39;<br>
| | | &#39;Seaside-Tests-InternetExplorer&#39; &#39;Seaside-Tests-Examples&#39;<br>
| | | &#39;Seaside-Tests-Tools-Web&#39; &#39;Seaside-Tests-UTF8&#39;<br>
| | | &#39;Seaside-Tests-FileSystem&#39; &#39;Seaside-Tests-Welcome&#39;<br>
| | | ).<br>
| | |<br>
| | | But those pacakages/groups have another dependencies etc etc. So<br>
| | | I<br>
| | | am<br>
| | | using this to query:<br>
| | |<br>
| | | | pkgs loader |<br>
| | | loader := ((Smalltalk at: #ConfigurationOfSeaside30) project<br>
| | | version:<br>
| | | &#39; <a href="tel:3.0.6.3" value="+333063">3.0.6.3</a> &#39;)<br>
| | | ignoreImage: true;<br>
| | | record: #(&#39;Base&#39; &#39;Zinc-Seaside&#39; &#39;Base Tests&#39; &#39;RSS-Core&#39;<br>
| | | &#39;Javascript-Core&#39; &#39;Prototype-Core&#39; &#39;Scriptaculous-Core&#39;<br>
| | | &#39;JQuery-Core&#39; &#39;JQuery-UI&#39; &#39;Seaside-Email&#39; &#39;Seaside-HTML5&#39;<br>
| | | &#39;Seaside-InternetExplorer&#39; &#39;Seaside-Examples&#39; &#39;RSS-Examples&#39;<br>
| | | &#39;Seaside-Tools-Web&#39; &#39;Scriptaculous-Components&#39; &#39;Seaside-Welcome&#39;<br>
| | | &#39;Seaside-FileSystem&#39; &#39;RSS-Tests-Core&#39; &#39;Javascript-Tests-Core&#39;<br>
| | | &#39;Seaside-Tests-Email&#39; &#39;Seaside-Tests-Functional&#39;<br>
| | | &#39;Prototype-Tests-Core&#39; &#39;Scriptaculous-Tests-Core&#39;<br>
| | | &#39;Scriptaculous-Tests-Components&#39; &#39;JQuery-Tests-Core&#39;<br>
| | | &#39;JQuery-Tests-UI&#39; &#39;Seaside-Tests-HTML5&#39;<br>
| | | &#39;Seaside-Tests-InternetExplorer&#39; &#39;Seaside-Tests-Examples&#39;<br>
| | | &#39;Seaside-Tests-Tools-Web&#39; &#39;Seaside-Tests-UTF8&#39;<br>
| | | &#39;Seaside-Tests-FileSystem&#39; &#39;Seaside-Tests-Welcome&#39;<br>
| | | ).<br>
| | | pkgs := OrderedCollection new.<br>
| | | loader loadDirective packageDirectivesDo: [:directive | pkgs add:<br>
| | | directive spec name ].<br>
| | | ^ pkgs<br>
| | |<br>
| | |<br>
| | | It loooks like if that would answer the list of packages in load<br>
| | | order, but this is not true. If you inspect that, you obtain<br>
| | | this:<br>
| | |<br>
| | | an OrderedCollection(&#39;ConfigurationOfGrease&#39;<br>
| | | &#39;ConfigurationOfGrease&#39;<br>
| | | &#39;ConfigurationOfSPort2&#39; &#39;ConfigurationOfZincHTTPComponents&#39;<br>
| | | &#39;Grease-Core&#39; &#39;Grease-Pharo-Core&#39; &#39;Grease-Core&#39;<br>
| | | &#39;Grease-Pharo-Core&#39;<br>
| | | &#39;Grease-Tests-Core&#39; &#39;Grease-Tests-Pharo-Core&#39; &#39;Zinc-HTTP&#39;<br>
| | | &#39;Seaside-Core&#39; &#39;Seaside-Pharo-Core&#39; &#39;Seaside-Component&#39;<br>
| | | &#39;Seaside-Canvas&#39; &#39;Seaside-Pharo-Canvas&#39; &#39;RSS-Core&#39;<br>
| | | &#39;Javascript-Core&#39;<br>
| | | &#39;Javascript-Pharo-Core&#39; &#39;Prototype-Core&#39; &#39;Scriptaculous-Core&#39;<br>
| | | &#39;JQuery-Core&#39; &#39;JQuery-UI&#39; &#39;Seaside-Email&#39; &#39;Seaside-Pharo-Email&#39;<br>
| | | &#39;Seaside-HTML5&#39; &#39;Seaside-InternetExplorer&#39; &#39;Seaside-Session&#39;<br>
| | | &#39;Seaside-RenderLoop&#39; &#39;Seaside-Tools-Core&#39; &#39;Seaside-Flow&#39;<br>
| | | &#39;Seaside-Examples&#39; &#39;RSS-Examples&#39; &#39;Seaside-Widgets&#39;<br>
| | | &#39;Seaside-Tools-Web&#39; &#39;Seaside-Pharo-Tools-Web&#39;<br>
| | | &#39;Seaside-Environment&#39;<br>
| | | &#39;Seaside-Pharo-Environment&#39; &#39;Seaside-Development&#39;<br>
| | | &#39;Scriptaculous-Components&#39; &#39;Zinc-Seaside&#39; &#39;Seaside-Tests-Core&#39;<br>
| | | &#39;Seaside-Tests-Pharo-Core&#39; &#39;Seaside-Tests-Session&#39;<br>
| | | &#39;Seaside-Tests-RenderLoop&#39; &#39;Seaside-Tests-Component&#39;<br>
| | | &#39;Seaside-Tests-Canvas&#39; &#39;Seaside-Tests-Environment&#39;<br>
| | | &#39;RSS-Tests-Core&#39;<br>
| | | &#39;Javascript-Tests-Core&#39; &#39;Javascript-Tests-Pharo-Core&#39;<br>
| | | &#39;Seaside-Tests-Email&#39; &#39;Seaside-Tests-Functional&#39;<br>
| | | &#39;Seaside-Tests-Pharo-Functional&#39; &#39;Seaside-Tests-Flow&#39;<br>
| | | &#39;Seaside-Welcome&#39; &#39;Seaside-Pharo-Welcome&#39; &#39;Prototype-Tests-Core&#39;<br>
| | | &#39;Scriptaculous-Tests-Core&#39; &#39;Scriptaculous-Tests-Components&#39;<br>
| | | &#39;JQuery-Tests-Core&#39; &#39;JQuery-Tests-UI&#39; &#39;Seaside-Tests-HTML5&#39;<br>
| | | &#39;Seaside-Tests-InternetExplorer&#39; &#39;Seaside-Tests-Examples&#39;<br>
| | | &#39;Seaside-Tests-Tools-Web&#39; &#39;Seaside-Tests-UTF8&#39;<br>
| | | &#39;Seaside-Tests-Welcome&#39; &#39;Sport&#39; &#39;Seaside-FileSystem&#39;<br>
| | | &#39;Seaside-Tests-FileSystem&#39; &#39;Seaside-Pharo-Continuation&#39;<br>
| | | &#39;Seaside-Tests-Pharo-Continuation&#39; &#39;Seaside-Pharo-Flow&#39;<br>
| | | &#39;Seaside-Pharo-Development&#39;)<br>
| | |<br>
| | | As you can see, for example, &#39;Seaside-Tools-Core&#39; is AFTER<br>
| | | &#39;Seaside-Core&#39;. Right? However, for example, WARegistry &gt;&gt;<br>
| | | #clearAllHandlers (package &#39;Seaside-Core&#39;) has references to<br>
| | | WAAdmin<br>
| | | (present in &#39;Seaside-Tools-Core&#39;&#39;). So? is &#39;Seaside-Tools-Core&#39;<br>
| | | actually loaded before &#39;Seaside-Core&#39;? if true, how can I query<br>
| | | that<br>
| | | to Metacello. If false, why don&#39;t you get the ugly Monticello<br>
| | | popup<br>
| | | saying you that you have dependencies on ...<br>
| | |<br>
| | | Thanks!<br>
| | |<br>
| | |<br>
| | |<br>
| | |<br>
| | |<br>
| | | On Mon, Dec 5, 2011 at 6:53 PM, Dale Henrichs &lt;<br>
| | | <a href="mailto:dhenrich@vmware.com">dhenrich@vmware.com</a><br>
| | | &gt;<br>
| | | wrote:<br>
| | |<br>
| | |<br>
| | | Mariano,<br>
| | |<br>
| | | Regarding your complaint about having the OmniBrowser packages<br>
| | | show<br>
| | | up when you are using the #loadDirective based variant. The<br>
| | | &#39;Core&#39;<br>
| | | group for Seaside includes Seaside-Tools-OmniBrowser, so when you<br>
| | | load the &#39;Core&#39; group OmniBrowser is a required package. You are<br>
| | | sitting in a Pharo image that already has OmniBrowser loaded, so<br>
| | | when you load Seaside30 you don&#39;t see the OB packages getting<br>
| | | loaded. However, in the #loadDirective variant, you are using<br>
| | | #ignoreImage: and when Metacello ignores the image, it ignores<br>
| | | the<br>
| | | fact that OB is already loaded as well ... If you want to know<br>
| | | what<br>
| | | would be loaded into the current image, then don&#39;t set<br>
| | | #ignoreImage<br>
| | | to true ... the OmniBrowser packages and any other packages that<br>
| | | are<br>
| | | already loaded won&#39;t show up ...<br>
| | |<br>
| | | If there is a set of configs that you would like to<br>
| | | include/exclude,<br>
| | | then a more complex load directive algorithm can be used...<br>
| | |<br>
| | | Regarding the duplication of packages, I would say that since you<br>
| | | are<br>
| | | only interested in the list of packages that would be loaded, you<br>
| | | can safely ignore the duplicates.<br>
| | |<br>
| | | Regarding the inclusion of the ConfigurationOfXXX files,<br>
| | | technically,<br>
| | | those files are needed for a load. No version information is<br>
| | | associated with the configuration file, because config files<br>
| | | always<br>
| | | have their latest available version loaded ... If you want to<br>
| | | filter<br>
| | | those files out, then there is a more complex loadDirective<br>
| | | traversal algorithm you could use, or you can filter out the<br>
| | | configs<br>
| | | with #beginsWith:...<br>
| | |<br>
| | |<br>
| | | Dale<br>
| | |<br>
| | | ----- Original Message -----<br>
| | |<br>
| | | | From: &quot;Mariano Martinez Peck&quot; &lt; <a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a> &gt;<br>
| | | | To: <a href="mailto:metacello@googlegroups.com">metacello@googlegroups.com</a><br>
| | | | Sent: Saturday, December 3, 2011 4:27:13 PM<br>
| | |<br>
| | |<br>
| | | | Subject: Re: [Metacello] collecting all packages of a<br>
| | | | configuration<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | | On Thu, Nov 17, 2011 at 6:57 PM, Dale Henrichs &lt;<br>
| | | | <a href="mailto:dhenrich@vmware.com">dhenrich@vmware.com</a><br>
| | | | &gt; wrote:<br>
| | | |<br>
| | | |<br>
| | | | Jannik,<br>
| | | |<br>
| | | | There are two routes you can take to answer your question.<br>
| | | | Firstly,<br>
| | | | you can directly query the version itself:<br>
| | | |<br>
| | | | ((ConfigurationOfMetacello project currentVersion)<br>
| | | | allPackagesForSpecNamed: &#39;ALL&#39;)<br>
| | | | collect: [:spec | spec file ].<br>
| | | |<br>
| | | | Or you can use #record: and then collect the information you<br>
| | | | want:<br>
| | | |<br>
| | | | | pkgs loader |<br>
| | | | loader := (ConfigurationOfMetacello project currentVersion)<br>
| | | | ignoreImage: true;<br>
| | | | record: &#39;ALL&#39;.<br>
| | | | pkgs := OrderedCollection new.<br>
| | | | loader loadDirective packageDirectivesDo: [:directive |pkgs<br>
| | | | add:<br>
| | | | directive spec file ].<br>
| | | | pkgs.<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | | Hi Dale. I have notice that both ways are different. For<br>
| | | | example,<br>
| | | | the<br>
| | | | first one does not take into account those ConfigurationOfXXX<br>
| | | | packages, whereas the second one does. Moreoever, in the second<br>
| | | | one,<br>
| | | | I see that there are repetitions. For example:<br>
| | | |<br>
| | | | | pkgs loader |<br>
| | | | loader := ((Smalltalk at: #ConfigurationOfSeaside30) project<br>
| | | | version:<br>
| | | | &#39; <a href="tel:3.0.6.3" value="+333063">3.0.6.3</a> &#39;)<br>
| | | | ignoreImage: true;<br>
| | | | record: #(&#39;Core&#39; &#39;Tests&#39; &#39;Zinc-Seaside&#39; ).<br>
| | | | pkgs := OrderedCollection new.<br>
| | | | loader loadDirective packageDirectivesDo: [:directive |pkgs<br>
| | | | add:<br>
| | | | directive spec file ].<br>
| | | | pkgs.<br>
| | | |<br>
| | | | size gives me 127, but asSet size, 106. It seems some packages<br>
| | | | appear<br>
| | | | more than once like ConfigurationOfGrease.<br>
| | | |<br>
| | | | ConfigurationOfXXX do not have version number in their name,<br>
| | | | but<br>
| | | | the<br>
| | | | rest do have.<br>
| | | |<br>
| | | | Now, the main problem is that none of them is what I need: I<br>
| | | | need<br>
| | | | ALL<br>
| | | | the required packages that are needed to load such project with<br>
| | | | metacello. I want to capture the exact list of packages needed<br>
| | | | when<br>
| | | | I do, for example:<br>
| | | | ((Smalltalk at: #ConfigurationOfSeaside30) project version:<br>
| | | | &#39; <a href="tel:3.0.6.3" value="+333063">3.0.6.3</a> &#39;)<br>
| | | | load: #(&#39;Core&#39; &#39;Tests&#39; &#39;Zinc-Seaside&#39; ).<br>
| | | |<br>
| | | | The first one doesn&#39;t even take into account ConfigurationOfXX,<br>
| | | | so<br>
| | | | it<br>
| | | | doesn&#39;t help me. The second one, not only has repetitions, but<br>
| | | | also<br>
| | | | it lists packages that I really don&#39;t need. For example,<br>
| | | | OB-Morphic-lr.164 and Seaside-Tools-OmniBrowser-lr.25. I don&#39;t<br>
| | | | understand how those packages arrived to the list. If I take a<br>
| | | | clean<br>
| | | | image, and install Seaside with the way I showed you, those<br>
| | | | packages<br>
| | | | are not even downloaded. So why do they appear here?<br>
| | | |<br>
| | | | So...all in all, what I need is a list of the exact packages I<br>
| | | | need<br>
| | | | to reproduce something I have loaded with Metacello. In other<br>
| | | | words,<br>
| | | | if I start an image with an empty package-cache, and execute<br>
| | | | the<br>
| | | | load of seaside, how can I know the list of packages that were<br>
| | | | downloaded? of course, not inspecting the package-cache ;)<br>
| | | |<br>
| | | | Thanks in advance Dale!!!<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | | Dale<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | | ----- Original Message -----<br>
| | | | | From: &quot;jannik.laval&quot; &lt; <a href="mailto:jannik.laval@gmail.com">jannik.laval@gmail.com</a> &gt;<br>
| | | | | To: <a href="mailto:metacello@googlegroups.com">metacello@googlegroups.com</a><br>
| | | | | Sent: Thursday, November 17, 2011 5:11:09 AM<br>
| | | | | Subject: [Metacello] collecting all packages of a<br>
| | | | | configuration<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | Hi guys,<br>
| | | | |<br>
| | | | |<br>
| | | | | With mariano, we had a discussion about a problem I have:<br>
| | | | | How can I collect all packages from a configuration with<br>
| | | | | resolving<br>
| | | | | all sub projects ?<br>
| | | | |<br>
| | | | |<br>
| | | | | Thank you for your help.<br>
| | | | | Cheers,<br>
| | | | | Jannik<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | Begin forwarded message:<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | From: Mariano Martinez Peck &lt; <a href="mailto:marianopeck@gmail.com">marianopeck@gmail.com</a> &gt;<br>
| | | | |<br>
| | | | | Subject: Re: Metacello question<br>
| | | | |<br>
| | | | | Date: November 16, 2011 4:09:38 PM GMT+01:00<br>
| | | | |<br>
| | | | | To: &quot;jannik.laval&quot; &lt; <a href="mailto:jannik.laval@gmail.com">jannik.laval@gmail.com</a> &gt;<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | On Wed, Nov 16, 2011 at 11:57 AM, jannik.laval &lt;<br>
| | | | | <a href="mailto:jannik.laval@gmail.com">jannik.laval@gmail.com</a> &gt; wrote:<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | Hi Mariano,<br>
| | | | |<br>
| | | | |<br>
| | | | | I understand your code and It seems to be the same as mine.<br>
| | | | | version40 make the same as &quot;project version: &#39;4.0&#39;&quot;.<br>
| | | | |<br>
| | | | |<br>
| | | | | The problem is the resolution of internal projects.<br>
| | | | | We should collect the methods recursively... and possibly<br>
| | | | | with<br>
| | | | | circular dependencies.<br>
| | | | | So, Metacello can resolve them, but I do not know Metacello<br>
| | | | | :(<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | I have no idea :(<br>
| | | | | Ask in metacello mailing list: <a href="mailto:metacello@googlegroups.com">metacello@googlegroups.com</a> ,<br>
| | | | |<br>
| | | | | good luck<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | Jannik<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | On Nov 16, 2011, at 15:36 , Mariano Martinez Peck wrote:<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | On Wed, Nov 16, 2011 at 6:59 AM, jannik.laval &lt;<br>
| | | | | <a href="mailto:jannik.laval@gmail.com">jannik.laval@gmail.com</a> &gt; wrote:<br>
| | | | |<br>
| | | | |<br>
| | | | | Hi Mariano,<br>
| | | | | How are you ?<br>
| | | | | Here, at Bordeaux, I am fine, and all the family too :)<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | Excellent, nice to hear that :)<br>
| | | | | I am in Argentina in holidays (after Smalltalks) and all<br>
| | | | | familiy<br>
| | | | | good<br>
| | | | | as well hahahahah<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | I have a question about Metacello, and you know well<br>
| | | | | Metacello<br>
| | | | | :)<br>
| | | | | I would like to collect all the files to load of a<br>
| | | | | Configuration<br>
| | | | | with<br>
| | | | | all dependencies already resolved.<br>
| | | | |<br>
| | | | | For now, I have this code in a transcript:<br>
| | | | | ===<br>
| | | | | ConfigurationOfMoose version40 spec packages map select:[:e |<br>
| | | | | e<br>
| | | | | isKindOf: MetacelloPackageSpec ]<br>
| | | | | thenCollect: [:e | e repositories list isEmpty<br>
| | | | | ifTrue: [e file]<br>
| | | | | ifFalse: [e repositories list first name, &#39;/&#39; , e file]].<br>
| | | | | ===<br>
| | | | | It allows me to have all files in ConfigurationOfMoose, but I<br>
| | | | | have<br>
| | | | | two problems:<br>
| | | | |<br>
| | | | | - if I change version40 by version42, I have no more the name<br>
| | | | | of<br>
| | | | | packages.<br>
| | | | | Here is an example:<br>
| | | | | with version40, the first value of my collection is: &#39;<br>
| | | | | <a href="http://www.squeaksource.com/Arki/Arki-Reporter-tg.3" target="_blank">http://www.squeaksource.com/Arki/Arki-Reporter-tg.3</a> &#39;<br>
| | | | | with version42, it is: &#39;<br>
| | | | | <a href="http://www.squeaksource.com/Arki/Arki-Reporter-Browser" target="_blank">http://www.squeaksource.com/Arki/Arki-Reporter-Browser</a> &#39;<br>
| | | | | ==&gt; I have no more the versions to load.<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | (ConfigurationOfMoose project version: &#39;4.0&#39;) packages<br>
| | | | | collect:<br>
| | | | | [<br>
| | | | | :each | each name ] as: Set.<br>
| | | | |<br>
| | | | | or ..<br>
| | | | |<br>
| | | | | (ConfigurationOfMoose project version: &#39;4.2&#39;) packages<br>
| | | | | collect:<br>
| | | | | [<br>
| | | | | :each | each name ] as: Set.<br>
| | | | |<br>
| | | | | does that help ?<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | - the second problem is about depending project. Moose load<br>
| | | | | other<br>
| | | | | projects, and there are some cyclic dependencies between the<br>
| | | | | loads:<br>
| | | | | for example DSM needs Moose, and Moose loads DSM.....<br>
| | | | | I know that Metacello resolves this kind of problems.<br>
| | | | |<br>
| | | | | So, my question is: is it possible to obtain a list of all<br>
| | | | | packages<br>
| | | | | of a configuration ?<br>
| | | | |<br>
| | | | | Thank you<br>
| | | | | ---<br>
| | | | | Jannik Laval<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | --<br>
| | | | | Mariano<br>
| | | | | <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | ---<br>
| | | | | Jannik Laval<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | --<br>
| | | | | Mariano<br>
| | | | | <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | ---<br>
| | | | | Jannik Laval<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | |<br>
| | | | | ---<br>
| | | | | Jannik Laval<br>
| | | | |<br>
| | | |<br>
| | | |<br>
| | | |<br>
| | | | --<br>
| | | | Mariano<br>
| | | | <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
| | | |<br>
| | | |<br>
| | |<br>
| | |<br>
| | |<br>
| | | --<br>
| | | Mariano<br>
| | | <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
| | |<br>
| | |<br>
| |<br>
| |<br>
| |<br>
| | --<br>
| | Mariano<br>
| | <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
| |<br>
| |<br>
|<br>
|<br>
|<br>
| --<br>
| Mariano<br>
| <a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br>
|<br>
|<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>