<div dir="ltr"><div>I never added the unload method to Metacello, so I've never tried to seriously support unload (until Rowan) ... and relied upon the reload working ...</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>I suppose you could derive the unload order by reversing the package load order for the project <br></div> | packageNames |<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  packageNames := {}.<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  (Metacello image project: 'Ston') record<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">    packageDirectivesDo: [ :each | packageNames add: each spec name ].<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  packageNames<br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">  anArray( 'STON-Core', 'STON-GemStone-Core', 'STON-UTF8-Core')</blockquote><div><br></div><div>The script might get more complicated with required projects ... let me know if you need more help unwinding the load directive ... <br></div><div><br></div><div>Dale</div></div><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 14, 2023 at 5:38 AM Johan Brichau via Glass <<a href="mailto:glass@lists.gemtalksystems.com" target="_blank">glass@lists.gemtalksystems.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I am preparing an upgrade of the Seaside version in existing GemStone repositories where it is more practical to unload the current (old) Seaside version and load the current one afterwards rather than loading the new one over the old one.<br>
However, the code snippet below I currently came up with is terribly slow and does not work because not everything got remove. Probably because the unload requires a certain order… <br>
<br>
So, has anyone done this in a GemStone Glass/GsDevKit setup? What is the best way to do this?<br>
<br>
Johan<br>
<br>
| packages gofer |<br>
packages := (MetacelloProjectRegistration registrationForClassNamed: 'ConfigurationOfSeaside3' ifAbsent: [ nil ])<br>
 configurationProjectSpec loadPackageList.<br>
<br>
packages do:[:p |<br>
        Transcript show: 'Unload ', p; cr.<br>
        gofer := Gofer new package: p; unload].<br>
<br>
<br>
_______________________________________________<br>
Glass mailing list<br>
<a href="mailto:Glass@lists.gemtalksystems.com" target="_blank">Glass@lists.gemtalksystems.com</a><br>
<a href="https://lists.gemtalksystems.com/mailman/listinfo/glass" rel="noreferrer" target="_blank">https://lists.gemtalksystems.com/mailman/listinfo/glass</a><br>
</blockquote></div>